summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r300/r300_fs.c
AgeCommit message (Collapse)Author
2010-05-08r300g: pass depth texture swizzle to the compiler if compare mode is enabledMarek Olšák
2010-05-08r300g: respect compare mode regardless of sampler typeMarek Olšák
2010-05-08r300/compiler: generalize depth texture mode to support arbitrary swizzlesMarek Olšák
2010-04-26r300g: use the dummy FS shader for shaders with zero instructionsMarek Olšák
2010-04-17r300/compiler: add emulation of all mirrored-clamp wrap modes for NPOT texturesMarek Olšák
2010-04-16r300/compiler: fix repeat wrap mode for TXP and NPOTsMarek Olšák
No idea why st/mesa unnecessarily inserts TXP where TEX is sufficient. Also re-enabling the NPOT fallback for repeat in r300g.
2010-04-15r300/compiler: kill off RC_WRAP_CLAMPMarek Olšák
A variant thereof might be later reintroduced for the mirrored-clamp modes.
2010-04-15r300g: disable the REPEAT NPOT fallback until it worksMarek Olšák
It causes regressions. I haven't tested the MIRROR wrap modes, so not sure about that..
2010-04-15r300g: do not use NPOT fallback for CLAMP wrap modesMarek Olšák
These work just fine.
2010-04-15r300g: pick a new fragment shader when either a sampler state or view is changedMarek Olšák
2010-04-15r300g: fix regression in texdepth.Dave Airlie
texdepth stopped working when npot went in, this brings it back to life. < MostAwesomeDude> That looks like what I was going to do. Signed-off-by: Dave Airlie <airlied@redhat.com>
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: make setting up fragment depth output less hackishMarek Olšák
2010-04-14r300g: kill off r300_fragment_shader::shadow_samplers and friendsMarek Olšák
2010-04-11r300/compiler: Implement texcoord repeat and mirror for NPOT.Corbin Simpson
2010-04-11r300g: Setup external state for wrap modes.Corbin Simpson
2010-04-11r300g: Cleanup fragment program external state setup.Corbin Simpson
2010-04-12r300g: atomize fragment shaderMarek Olšák
2010-04-12r300g: FS constants emission reworkMarek Olšák
* The constant buffer emission is separated from RC state variables emission. * The immediates are emitted with FS code.
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-11r300g: cleanup handling of sampler viewsMarek Olšák
The evolution of TX_FORMAT bits is as follows: * When a texture is created, set bits independent of pipe_format. * When a sampler view is created, add format-specific bits. * When sampler states and views are getting merged, add min/max LOD.
2010-04-05r300g: simplify accessing screen from contextMarek Olšák
2010-04-05r300/compiler: make the max number of fragment shader temporaries adjustableMarek Olšák
2010-03-27r300g: print errors even on non-debug buildsMarek Olšák
We really need to get these into bug reports.
2010-03-07r300g: abort if FS compilation fails on non-debug buildsMarek Olšák
2010-02-28r300g: atomize texture and sampler statesMarek Olšák
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-02-02r300compiler, r300 classic, r300g: Add support for MRTs in the frag shader.Corbin Simpson
This maybe breaks the vert compiler. Hopefully not.
2010-01-06r300g: add WPOSMarek Olšák
2009-12-19r300g: add texture compare modesMarek Olšák
2009-12-01r300g: simplify allocations of FS input registersMarek Olšák
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-10-21r300g: Cleanup old static shader state.Corbin Simpson
2009-10-21r300g: Cleanup header includes.Corbin Simpson
2009-10-03r300g: Do not abort on fragment program compiler errorNicolai Hähnle
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
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-08-11r300g: a typo of debug messageCooper Yuan
2009-07-30r300g: Use radeon compiler for fragment programsNicolai Hähnle
This is entirely untested on R500, and needs more testing on R300.
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.