[Mesa-dev] [PATCH] vbo: fix incorrect switch statement in init_mat_currval()

Brian Paul brianp at vmware.com
Mon Oct 12 19:45:04 PDT 2015


The variable 'i' is a value in [0, MAT_ATTRIB_MAX-1] so subtracting
VERT_ATTRIB_GENERIC0 gave a bogus value and we executed the default
switch clause for all loop iterations.

This doesn't fix any known issues but was clearly incorrect.

Cc: mesa-stable at lists.freedesktop.org
---
 src/mesa/vbo/vbo_context.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/mesa/vbo/vbo_context.c b/src/mesa/vbo/vbo_context.c
index e3eb286..802955d 100644
--- a/src/mesa/vbo/vbo_context.c
+++ b/src/mesa/vbo/vbo_context.c
@@ -121,7 +121,7 @@ static void init_mat_currval(struct gl_context *ctx)
       /* Size is fixed for the material attributes, for others will
        * be determined at runtime:
        */
-      switch (i - VERT_ATTRIB_GENERIC0) {
+      switch (i) {
       case MAT_ATTRIB_FRONT_SHININESS:
       case MAT_ATTRIB_BACK_SHININESS:
 	 cl->Size = 1;
-- 
1.9.1



More information about the mesa-dev mailing list