mesa: new _NEW_PROGRAM_CONSTANTS flag
authorBrian Paul <brianp@vmware.com>
Tue, 21 Apr 2009 21:56:45 +0000 (15:56 -0600)
committerBrian Paul <brianp@vmware.com>
Tue, 21 Apr 2009 22:21:32 +0000 (16:21 -0600)
commit64e331eb529e66ef678804594c8a3266c97e645f
tree27933cd818be5a4bc20141b08f50506deca51a8d
parent8a22e24faef918a0f6d05ef6e6417a65cb3eaeb1
mesa: new _NEW_PROGRAM_CONSTANTS flag

This state flag will be used to indicate that vertex/fragment program
constants have changed.  _NEW_PROGRAM will be used to indicate changes
to the vertex/fragment shader itself, or misc related state.

_NEW_PROGRAM_CONSTANTS is also set whenever a program parameter that's
tracking GL state has changed.  For example, if the projection matrix is
in the parameter list, calling glFrustum() will cause _NEW_PROGRAM_CONSTANTS
to be set.  This will let to remove the need for dynamic state atoms in
some drivers.

For now, we still set _NEW_PROGRAM in all the places we used to.  We'll no
longer set _NEW_PROGRAM in glUniform() after drivers/etc have been updated.
src/mesa/main/mtypes.h
src/mesa/main/state.c
src/mesa/shader/arbprogram.c
src/mesa/shader/nvprogram.c
src/mesa/shader/shader_api.c