summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r300/r300_vs.c
AgeCommit message (Collapse)Author
2011-01-23r300/compiler: remove any code related to relative addressing of temporariesMarek Olšák
The hw can't do it and the code was useless anyway (it's lowered in the GLSL compiler).
2010-12-03r300g: do not remove unused constants if we are not near the limitMarek Olšák
2010-10-18r300g: Add new debug option for logging vertex/fragment program statsTom Stellard
2010-09-10r300/compiler: Enable presubtract sourcesTom Stellard
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.
2010-09-05r300g,r300c: memset the compiler struct to zerosMarek Olšák
This should fix bogus reports "Too many temporaries." and maybe some others.
2010-09-04r300g: add a new debug option which disables compiler optimizationsMarek Olšák
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.
2010-09-04r300/compiler: make optimizations not use 0.5 swizzles in vertex shadersMarek Olšák
2010-09-04r300/compiler: add new compiler parameter max_constantsMarek Olšák
2010-09-04r300/compiler: add new compiler parameter max_alu_instsMarek Olšák
2010-08-25r300g: eliminate unused constants in VSMarek Olšák
2010-08-09r300g: do not print shader compiler errors by defaultMarek Olšák
2010-05-26r300/compiler: move hardware caps to the radeon_compiler base structMarek Olšák
Needed for vertex shaders too.
2010-05-23r300g: extend compile error messageMarek Olšák
2010-05-23r300g: fix dummy vertex shader compilationMarek Olšák
2010-05-15r300g: fix psychedelic colors with SWTCLMarek Olšák
r300_vertex_shader::outputs was uninitialized. Also remove the tokens parameter.
2010-05-02r300g: Remove unnecessary header.Vinson Lee
2010-05-02r300g: merge VS output mapping state (VAP) to rasterizer block state (RS)Marek Olšák
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.
2010-04-14r300g: fix possible crash when shader compilation failsMarek Olšák
This hopefully fixes the crash in the FDO bug #27634, not the bug itself.
2010-04-14r300g: emit VS immediates along with VS codeMarek Olšák
2010-04-12r300g: atomize fragment shaderMarek Olšák
2010-04-11r300g: a fix for piglit/texrect-manyMarek Olšák
Broken since 146879284c6b844f35afe3a3ef3330726afbe8ac.
2010-04-11r300g: use a dummy replacement vertex shader if the shader compilation failsMarek Olšák
2010-04-11r300g: use a dummy replacement fragment shader if the shader compilation failsMarek Olšák
Better than killing an application.
2010-04-11r300g: revisit some assertions and fix potential failuresMarek Olšák
* 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.
2010-04-05r300g: remove some XXXsMarek Olšák
We can't have more than 8 texcoord outputs in VS.
2010-03-27r300g: print errors even on non-debug buildsMarek Olšák
We really need to get these into bug reports.
2010-03-14r300g: Remove unnecessary headers.Vinson Lee
2010-03-07r300g: share the VS-output-mapping state with SWTCLMarek Olšák
And associated cleanups.
2010-02-24r300g: Atomize vertex shader.Corbin Simpson
2010-02-10r300g: Work around "defect" in r300compiler.Corbin Simpson
r300compiler doesn't handle half swizzles for vert shaders, which don't have them. So, for now, disable them.
2010-02-09r300g: Fix off-by-one errors in array bounds assertions.Vinson Lee
2010-01-17r300g: fix the rasterization of secondary colorMarek Olšák
When the secondary color is used, the primary color must always be rasterized regardless of whether it is used or not.
2010-01-06r300g: add back-face color VS outputsMarek Olšák
Required for two-sided lighting. BTW we are approaching softpipe-level quality. ;)
2010-01-06r300g: fix SWTCL stream locations of texture coordinatesMarek Olšák
It might have caused hardlocks when TCL was bypassed, not sure.
2010-01-06r300g: disable the rasterization of WPOS if it's unused by the FSMarek Olšák
2010-01-06r300g: add WPOSMarek Olšák
2009-12-22Merge branch 'gallium-edgeflags'Roland Scheidegger
Conflicts: src/mesa/state_tracker/st_draw.c
2009-12-19gallium: fix up drivers for edgeflag changesRoland Scheidegger
several drivers which chose to ignore edgeflags might require some more work, while edgeflags never worked there they might now crash.
2009-12-09r300g: fix routing of vertex streams if TCL is bypassedMarek Olšák
Generating mipmaps finally works, among other things. Yay!
2009-12-01r300g: simplify allocations of VS output registersMarek Olšák
No need to parse TGSI tokens since it's easier to walk through shader semantics. Also fog coordinates now work reliably.
2009-12-01r300g: clean up derived statesMarek Olšák
The state setups which aren't derived anymore have been moved to the VS and FS objects.
2009-11-01r300g: Miscellania. Avoid draw segfaults, s/true/TRUE/, etc.Corbin Simpson
Cleared out my git stash.
2009-10-21r300g: Cleanup old static shader state.Corbin Simpson
2009-10-05r300g: fix scons buildJoakim Sindholt
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.
2009-09-06r300g: Debug flags infrastructureNicolai Hähnle
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
2009-07-30r300g: Remove extraneous printfNicolai Hähnle
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-30r300g: Use r300compiler for vertex shadersNicolai Hähnle
2009-07-23r300g: Actually mark shaders as translated/untranslated.Corbin Simpson
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.
2009-07-22gallium: simplify tgsi_full_immediate structKeith Whitwell
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.
2009-06-26r300-gallium: organize fragment/vertex shadersJoakim Sindholt
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.