From: Brian Paul Date: Fri, 30 Sep 2011 14:15:30 +0000 (-0600) Subject: mesa: add _NEW_CURRENT_ATTRIB in _mesa_program_state_flags() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=57169c469406f1880107a6b9f052708ce078942d;p=mesa.git mesa: add _NEW_CURRENT_ATTRIB in _mesa_program_state_flags() If color material mode is enabled, constant buffer entries related to the material coefficients will depend on glColor. So add _NEW_CURRENT_ATTRIB to the bitset returned for material-related constants in _mesa_program_state_flags(). This fixes a bug exercised by the new piglit draw-arrays-colormaterial test. Note: This is a candidate for the 7.11 branch. --- diff --git a/src/mesa/program/prog_statevars.c b/src/mesa/program/prog_statevars.c index 6aa2409e85e..f34a6d3609d 100644 --- a/src/mesa/program/prog_statevars.c +++ b/src/mesa/program/prog_statevars.c @@ -664,10 +664,13 @@ _mesa_program_state_flags(const gl_state_index state[STATE_LENGTH]) { switch (state[0]) { case STATE_MATERIAL: + case STATE_LIGHTPROD: + case STATE_LIGHTMODEL_SCENECOLOR: + /* these can be effected by glColor when colormaterial mode is used */ + return _NEW_LIGHT | _NEW_CURRENT_ATTRIB; + case STATE_LIGHT: case STATE_LIGHTMODEL_AMBIENT: - case STATE_LIGHTMODEL_SCENECOLOR: - case STATE_LIGHTPROD: return _NEW_LIGHT; case STATE_TEXGEN: