On 05/23/2012 12:33 AM, Tapani Pälli wrote:
color material state gets reseted when vertices are flushed,
update state after flush. this change is written against piglit
test 'colormaterial-query'.
Signed-off-by: Tapani Pälli<tapani.pa...@intel.com>
---
src/mesa/main/light.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/src/mesa/main/light.c b/src/mesa/main/light.c
index 38ec1b6..7b7d72c 100644
--- a/src/mesa/main/light.c
+++ b/src/mesa/main/light.c
@@ -761,6 +761,10 @@ _mesa_GetMaterialfv( GLenum face, GLenum pname, GLfloat
*params )
FLUSH_CURRENT(ctx, 0); /* update ctx->Light.Material from vertex buffer */
+ /* flush vertices resets state, update color material */
+ if(ctx->Light.ColorMaterialEnabled)
+ _mesa_update_color_material(ctx,ctx->Current.Attrib[VERT_ATTRIB_COLOR0]);
+
if (face==GL_FRONT) {
f = 0;
}
I tried your new piglit test with Mesa/master as of today and the test
passes.
It looks like this commit from May 8 fixed the problem:
commit 1bc16bf98a1b5a4cca0c0ae2a80ba7982c6e4651
Author: Brian Paul <bri...@vmware.com>
Date: Tue May 8 11:41:03 2012 -0600
mesa: fix glMaterial / dlist bug
Can you test Mesa/master without your patch and see what happens?
-Brian
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev