Paul Berry <stereotype...@gmail.com> writes: > When a geometry shader is present, the fragment shader gl_PrimitiveID > input acts like an ordinary varying, receiving data from the gs > gl_PrimitiveID output. When there's no geometry shader, we have to > ask the fixed function SF hardware to provide the primitive ID to the > fragment shader instead. > > Previously, the SF setup code would handle this situation by > recognizing that the FS gl_PrimitiveID input didn't match to any VS > output; since normally an FS input with no corresponding VS output > leads to undefined data, the SF setup code used to just arbitrarily > assign it to receive data from attribute 0. > > This patch changes the SF setup code so that instead of arbitrarily > using attribute 0, it assigns the unmatched FS input to receive > gl_PrimitiveID. In the case where the FS input really is > gl_PrimitiveID, this produces the intended result. In all other > cases, no harm is done since GL specifies that the behaviour is > undefined. > > Fixes piglit test primitive-id-no-gs.
Reviewed-by: Eric Anholt <e...@anholt.net>
pgpGLSc5jMKQ_.pgp
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev