aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/svga/svga_tgsi.h
Commit message (Collapse)AuthorAgeFilesLines
* svga: fix varying var remapping for unused FS outputsBrian Paul2011-11-041-1/+1
| | | | | | | | If the VS has outputs that aren't consumed by the FS we were mapping them all to one unused VS output index, but that's illegal. Instead, map unused VS outputs to unique indexes. Reviewed-by: José Fonseca <[email protected]>
* svga: implement generic variable index remappingBrian Paul2011-11-031-2/+25
| | | | | | | | | | | | | | | | | | | | | | | | | The state tracker may generate shaders that use generic vs outputs / fs inputs like: DCL IN[0], GENERIC[0] DCL IN[1], GENERIC[10] DCL IN[2], GENERIC[11] This patch remaps 0, 10, 11 to small integers like 1, 2, 3 so that we stay inside the SVGA3D limit (8). The remapping is done to both the vertex shader outputs and the fragment shader inputs. The same mapping must be used for a vs/fs pair. Note that 'union svga_compile_key' is now 'struct svga_compile_key' because we needed to add the register remapping table. The change in size isn't really significant though (it's not a search key). Also, add assertions when building up SVGA3D src/dst registers to we don't try to store too large of value for the bitfield size. Reviewed-by: José Fonseca <[email protected]>
* svga: implement texture swizzlingBrian Paul2011-09-231-0/+4
| | | | | | | This exposes the GL_EXT_texture_swizzle extension and allows the various depth texture modes to be implemented properly. This, plus a follow-on texture/shadow change fixes quite a few piglit GLSL shadow sampler test failures.
* svga: implement point sprite suppportBrian Paul2011-09-231-0/+2
| | | | | | Emit the SVGA3D_RS_POINTSPRITEENABLE render state. When sprite_coord_mode=PIPE_SPRITE_COORD_LOWER_LEFT emit extra frag shader code to invert the Y coordinate of the incoming texcoord.
* gallium: convert rasterizer state to use gl-style front/back conceptsKeith Whitwell2010-05-141-1/+1
| | | | | | | | | | | | Use front/back instead of cw/ccw throughout. Also, use offset_point/line/fill instead of offset_cw/ccw. Brings gallium representation of this state into line with its main user, and also what turns out to be the most common hardware representation. This fixes a long-standing bias in the interface towards the architecture of the software rasterizer.
* svga: better method for generating white fs color outputsKeith Whitwell2010-02-031-0/+1
|
* svga: Fix fs key size computation and key comparison.Michal Krol2010-01-071-3/+2
| | | | | This also allows us to have texture_target back as a bitfield and save us a few bytes.
* svga: make texture_target a ubyte, not a bitfieldBrian Paul2010-01-061-1/+1
| | | | | gcc won't let us take the address of a bitfield in the svga_fs_key_size() function.
* Make sure we use only signed/unsigned ints with bitfields.Michal Krol2010-01-061-14/+12
| | | | Seems to be the only way to stay fully portable.
* svga: Add svga driverJakob Bornecrantz2009-11-171-0/+139