aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r300/r300_vs.c
Commit message (Collapse)AuthorAgeFilesLines
* r300g: Remove unnecessary header.Vinson Lee2010-05-021-1/+0
|
* r300g: merge VS output mapping state (VAP) to rasterizer block state (RS)Marek Olšák2010-05-021-128/+3
| | | | | | | | | | | | These two should be tied together because what's set in VAP or stuffed in GA should be rasterized in RS. Not doing so causes a hardlock. The reason for the merge is that if stuffed texture coordinates (e.g. point sprite texgen) happen to occupy the texcoord slot dedicated to fog or wpos, the two must be relocated to other free slots, which needs remapping the vertex shader outputs. The rasterizer code is now literally a sequence read-rasterize-write.
* r300g: fix possible crash when shader compilation failsMarek Olšák2010-04-141-0/+3
| | | | This hopefully fixes the crash in the FDO bug #27634, not the bug itself.
* r300g: emit VS immediates along with VS codeMarek Olšák2010-04-141-0/+4
|
* r300g: atomize fragment shaderMarek Olšák2010-04-121-1/+1
|
* r300g: a fix for piglit/texrect-manyMarek Olšák2010-04-111-1/+4
| | | | Broken since 146879284c6b844f35afe3a3ef3330726afbe8ac.
* r300g: use a dummy replacement vertex shader if the shader compilation failsMarek Olšák2010-04-111-13/+40
|
* r300g: use a dummy replacement fragment shader if the shader compilation failsMarek Olšák2010-04-111-1/+1
| | | | Better than killing an application.
* r300g: revisit some assertions and fix potential failuresMarek Olšák2010-04-111-16/+19
| | | | | | | | * Turn some assertions to error messages. * At most 16 vertex elements can be set, others are ignored. * Rasterize at most 8 vertex-shader generic outputs, others are ignored. This includes fog and WPOS. * Unknown shader semantic names are ignored.
* r300g: remove some XXXsMarek Olšák2010-04-051-1/+0
| | | | We can't have more than 8 texcoord outputs in VS.
* r300g: print errors even on non-debug buildsMarek Olšák2010-03-271-1/+1
| | | | We really need to get these into bug reports.
* r300g: Remove unnecessary headers.Vinson Lee2010-03-141-2/+0
|
* r300g: share the VS-output-mapping state with SWTCLMarek Olšák2010-03-071-110/+53
| | | | And associated cleanups.
* r300g: Atomize vertex shader.Corbin Simpson2010-02-241-2/+2
|
* r300g: Work around "defect" in r300compiler.Corbin Simpson2010-02-101-0/+1
| | | | | r300compiler doesn't handle half swizzles for vert shaders, which don't have them. So, for now, disable them.
* r300g: Fix off-by-one errors in array bounds assertions.Vinson Lee2010-02-091-3/+3
|
* r300g: fix the rasterization of secondary colorMarek Olšák2010-01-171-3/+6
| | | | | When the secondary color is used, the primary color must always be rasterized regardless of whether it is used or not.
* r300g: add back-face color VS outputsMarek Olšák2010-01-061-6/+34
| | | | | Required for two-sided lighting. BTW we are approaching softpipe-level quality. ;)
* r300g: fix SWTCL stream locations of texture coordinatesMarek Olšák2010-01-061-1/+1
| | | | It might have caused hardlocks when TCL was bypassed, not sure.
* r300g: disable the rasterization of WPOS if it's unused by the FSMarek Olšák2010-01-061-19/+37
|
* r300g: add WPOSMarek Olšák2010-01-061-3/+53
|
* Merge branch 'gallium-edgeflags'Roland Scheidegger2009-12-221-0/+5
|\ | | | | | | | | Conflicts: src/mesa/state_tracker/st_draw.c
| * gallium: fix up drivers for edgeflag changesRoland Scheidegger2009-12-191-0/+5
| | | | | | | | | | several drivers which chose to ignore edgeflags might require some more work, while edgeflags never worked there they might now crash.
* | r300g: fix routing of vertex streams if TCL is bypassedMarek Olšák2009-12-091-18/+13
|/ | | | Generating mipmaps finally works, among other things. Yay!
* r300g: simplify allocations of VS output registersMarek Olšák2009-12-011-56/+26
| | | | | | | No need to parse TGSI tokens since it's easier to walk through shader semantics. Also fog coordinates now work reliably.
* r300g: clean up derived statesMarek Olšák2009-12-011-3/+179
| | | | | The state setups which aren't derived anymore have been moved to the VS and FS objects.
* r300g: Miscellania. Avoid draw segfaults, s/true/TRUE/, etc.Corbin Simpson2009-11-011-2/+2
| | | | Cleared out my git stash.
* r300g: Cleanup old static shader state.Corbin Simpson2009-10-211-86/+0
|
* r300g: fix scons buildJoakim Sindholt2009-10-051-3/+3
| | | | | | So I didn't touch r300compiler, but r300g now compiles after having declarations and code untangled. As nha so gently points out, we shouldn't have to do this just to comply with MSVC compilers.
* r300g: Debug flags infrastructureNicolai Hähnle2009-09-061-1/+1
| | | | | | | | | | | So that debugging is no longer a full-spam-or-nothing approach, you are now supposed to set the RADEON_DEBUG environment flag just like for classic Mesa. The available debug flags are different, however. Just running an OpenGL application with RADEON_DEBUG set to an arbitrary string will print out helpful information. Everything must be compiled with -DDEBUG for any of this to work
* r300g: Remove extraneous printfNicolai Hähnle2009-07-301-2/+0
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300g: Use r300compiler for vertex shadersNicolai Hähnle2009-07-301-349/+171
|
* r300g: Actually mark shaders as translated/untranslated.Corbin Simpson2009-07-231-0/+3
| | | | | | Also trust that Gallium will not give us TGSI that miscounts shader consts. This creates a 20x speedup on glxgears, from 8 FPS to 160 FPS.
* gallium: simplify tgsi_full_immediate structKeith Whitwell2009-07-221-2/+1
| | | | | | | | | | | | | Remove the need to have a pointer in this struct by just including the immediate data inline. Having a pointer in the struct introduces complications like needing to alloc/free the data pointed to, uncertainty about who owns the data, etc. There doesn't seem to be a need for it, and it is unlikely to make much difference plus or minus to performance. Added some asserts as we now will trip up on immediates with more than four elements. There were actually already quite a few such asserts, but the >4 case could be used in the future to specify indexable immediate ranges, such as lookup tables.
* r300-gallium: organize fragment/vertex shadersJoakim Sindholt2009-06-261-0/+412
Appart from separating r3xx/r5xx fragment shaders, a more consistent naming scheme has been applied. From now on: r300 = all chips r3xx = R300/R400 only r5xx = R500 only This way r300_fragment_shader is the master struct, and the structs r3xx_fragment_shader and r5xx_fragment_shader inherits it.