From: Brian Paul Date: Thu, 13 Oct 2016 20:43:36 +0000 (-0600) Subject: vbo: move attribute type assignment X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1098e6957c2e740afc2a471223aae2fec46a2582;p=mesa.git vbo: move attribute type assignment If the attribute type is changing, we would have found that earlier in the ATTR_UNION() macro and would have called vbo_exec_fixup_vertex(). So move the assignment into that function so we don't do it every time. No Piglit regressions. Reviewed-by: Charmaine Lee --- diff --git a/src/mesa/vbo/vbo_exec_api.c b/src/mesa/vbo/vbo_exec_api.c index c0a5bc01f4f..b191a94c8c3 100644 --- a/src/mesa/vbo/vbo_exec_api.c +++ b/src/mesa/vbo/vbo_exec_api.c @@ -423,6 +423,7 @@ vbo_exec_fixup_vertex(struct gl_context *ctx, GLuint attr, } exec->vtx.active_sz[attr] = newSize; + exec->vtx.attrtype[attr] = newType; /* Does setting NeedFlush belong here? Necessitates resetting * vtxfmt on each flush (otherwise flags won't get reset @@ -479,7 +480,7 @@ do { \ if (N>1) dest[1] = V1; \ if (N>2) dest[2] = V2; \ if (N>3) dest[3] = V3; \ - exec->vtx.attrtype[A] = T; \ + assert(exec->vtx.attrtype[A] == T); \ } \ \ if ((A) == 0) { \