vbo: fix incorrect switch statement in init_mat_currval()
authorBrian Paul <brianp@vmware.com>
Mon, 12 Oct 2015 17:32:35 +0000 (11:32 -0600)
committerBrian Paul <brianp@vmware.com>
Tue, 13 Oct 2015 14:28:22 +0000 (08:28 -0600)
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@lists.freedesktop.org
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/mesa/vbo/vbo_context.c

index e3eb286e482ef4be323ddc33a93aad8a0894c22c..802955da28ebdfe7b93cfed6e1c9bb1c35493989 100644 (file)
@@ -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;