gallium: add point size clamp to implementation limits in vertex shader
authorRoland Scheidegger <sroland@vmware.com>
Thu, 4 Feb 2010 18:23:09 +0000 (19:23 +0100)
committerRoland Scheidegger <sroland@vmware.com>
Thu, 4 Feb 2010 18:23:09 +0000 (19:23 +0100)
commit2c326e72664e65166c68b027b26aaf373f3be36d
tree936c473da596c90f7a649f25da93dc7a07d7157b
parent8091e73cc2142945c297191a9b746be71360ef26
gallium: add point size clamp to implementation limits in vertex shader

The point size min/max registers (unused by mesa state tracker) were removed
since most hardware couldn't do much with them. However, we don't want to have
to rely on hw to do point size clamping correctly to implementation
dependent limits, hence have to do that in the vertex shader. This should also
solve a potential problem with (non-AA) points smaller than 1.0 which according
to OGL still have size 1.0.
Note that OGL point rendering is odd, in particular point sprites are rasterized
differently to points. Some hardware might support those different modes, but in
any case the different clamping values used for smooth/multisampled/sprite
enabled points might help a bit for hw which rasterizes points the same as point
sprites.
Also tweak mesa's ff to vertex shader translation so don't have to clamp twice in
case of point attenuation.
src/mesa/main/ffvertex_prog.c
src/mesa/shader/prog_statevars.c
src/mesa/shader/prog_statevars.h
src/mesa/state_tracker/st_extensions.c
src/mesa/state_tracker/st_mesa_to_tgsi.c