diff options
author | Brian Paul <[email protected]> | 2016-10-13 14:43:36 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2016-10-20 09:47:21 -0600 |
commit | 1098e6957c2e740afc2a471223aae2fec46a2582 (patch) | |
tree | 225a14b42220dd80b1a27c1b9520b97945e78c1a | |
parent | 4c3c9f1441a3034a4f9eb7d85ee25b4199e49146 (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.c | 3 |
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) { \ |