summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2016-10-13 14:43:36 -0600
committerBrian Paul <[email protected]>2016-10-20 09:47:21 -0600
commit1098e6957c2e740afc2a471223aae2fec46a2582 (patch)
tree225a14b42220dd80b1a27c1b9520b97945e78c1a
parent4c3c9f1441a3034a4f9eb7d85ee25b4199e49146 (diff)
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 <[email protected]>
-rw-r--r--src/mesa/vbo/vbo_exec_api.c3
1 files changed, 2 insertions, 1 deletions
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) { \