summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2015-10-15 21:25:18 -0600
committerBrian Paul <brianp@vmware.com>2015-10-20 12:52:41 -0600
commitd916175c4d965942325bbb4a684fac45fb6ab9e2 (patch)
tree8314bb6451a86b3e18b690e464e005fe4cafe4d2 /src
parentd24c3a680e9282c11bd411d0c4dbcff561c0f4ca (diff)
vbo: simplify some code in vbo_copy_vertices()
As before, use a new 'last_prim' pointer to simplify things. Plus, add some const qualifiers. v2: use 'sz' in another place, per Sinclair. And update subject line. Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com> Reviewed-by: Sinclair Yeh <syeh@vmware.com>
Diffstat (limited to 'src')
-rw-r--r--src/mesa/vbo/vbo_exec_draw.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/mesa/vbo/vbo_exec_draw.c b/src/mesa/vbo/vbo_exec_draw.c
index 781991bd0bf..9b1103dad72 100644
--- a/src/mesa/vbo/vbo_exec_draw.c
+++ b/src/mesa/vbo/vbo_exec_draw.c
@@ -75,13 +75,12 @@ vbo_exec_debug_verts( struct vbo_exec_context *exec )
static GLuint
vbo_copy_vertices( struct vbo_exec_context *exec )
{
- GLuint nr = exec->vtx.prim[exec->vtx.prim_count-1].count;
+ struct _mesa_prim *last_prim = &exec->vtx.prim[exec->vtx.prim_count - 1];
+ const GLuint nr = last_prim->count;
GLuint ovf, i;
- GLuint sz = exec->vtx.vertex_size;
+ const GLuint sz = exec->vtx.vertex_size;
fi_type *dst = exec->vtx.copied.buffer;
- const fi_type *src = (exec->vtx.buffer_map +
- exec->vtx.prim[exec->vtx.prim_count-1].start *
- exec->vtx.vertex_size);
+ const fi_type *src = exec->vtx.buffer_map + last_prim->start * sz;
switch (exec->ctx->Driver.CurrentExecPrimitive) {
case GL_POINTS:
@@ -127,7 +126,7 @@ vbo_copy_vertices( struct vbo_exec_context *exec )
case GL_TRIANGLE_STRIP:
/* no parity issue, but need to make sure the tri is not drawn twice */
if (nr & 1) {
- exec->vtx.prim[exec->vtx.prim_count-1].count--;
+ last_prim->count--;
}
/* fallthrough */
case GL_QUAD_STRIP: