summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r300/r300_vs.c
Commit message (Collapse)AuthorAgeFilesLines
* r300/compiler: Add support for the output modifier (OMOD)Tom Stellard2011-09-161-0/+1
|
* r300g: copy the compiler from r300cMarek Olšák2011-07-261-1/+1
| | | | | | | | What a beast. r300g doesn't depend on files from r300c anymore, so r300c is now left to its own fate. BTW 'make test' can be invoked from the gallium/r300 directory to run some compiler unit tests.
* r300/compiler: remove any code related to relative addressing of temporariesMarek Olšák2011-01-231-0/+7
| | | | | The hw can't do it and the code was useless anyway (it's lowered in the GLSL compiler).
* r300g: do not remove unused constants if we are not near the limitMarek Olšák2010-12-031-1/+4
|
* r300g: Add new debug option for logging vertex/fragment program statsTom Stellard2010-10-181-2/+3
|
* r300/compiler: Enable presubtract sourcesTom Stellard2010-09-101-0/+1
| | | | | | | The r300 compiler can now emit instructions that select from the presubtract source. A peephole optimization has been added to convert instructions like: ADD Temp[0].x, none.1, -Temp[1].x into the INV (1 - src0) presubtract operation.
* r300g,r300c: memset the compiler struct to zerosMarek Olšák2010-09-051-0/+1
| | | | This should fix bogus reports "Too many temporaries." and maybe some others.
* r300g: add a new debug option which disables compiler optimizationsMarek Olšák2010-09-041-0/+1
| | | | | | | | | | | | Those are: - dead-code elimination - constant folding - peephole (mainly copy propagation) - register allocation There are some bugs which I need to track down. Also fix up the descriptions of all the debug options.
* r300/compiler: make optimizations not use 0.5 swizzles in vertex shadersMarek Olšák2010-09-041-0/+1
|
* r300/compiler: add new compiler parameter max_constantsMarek Olšák2010-09-041-0/+1
|
* r300/compiler: add new compiler parameter max_alu_instsMarek Olšák2010-09-041-0/+1
|
* r300g: eliminate unused constants in VSMarek Olšák2010-08-251-4/+13
|
* r300g: do not print shader compiler errors by defaultMarek Olšák2010-08-091-3/+2
|
* r300/compiler: move hardware caps to the radeon_compiler base structMarek Olšák2010-05-261-0/+2
| | | | Needed for vertex shaders too.
* r300g: extend compile error messageMarek Olšák2010-05-231-1/+2
|
* r300g: fix dummy vertex shader compilationMarek Olšák2010-05-231-10/+9
|
* r300g: fix psychedelic colors with SWTCLMarek Olšák2010-05-151-9/+11
| | | | | r300_vertex_shader::outputs was uninitialized. Also remove the tokens parameter.
* 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 <nhaehnle@gmail.com>
* 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.