Mesa (master): i965: Use the proper element of the prim array in brw_try_draw_prims.

Kenneth Graunke kwg at kemper.freedesktop.org
Mon Sep 2 02:07:37 UTC 2013


Module: Mesa
Branch: master
Commit: b8211ab3edb1bb9f414e8b4913609f48326e202e
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b8211ab3edb1bb9f414e8b4913609f48326e202e

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Thu Mar 21 15:01:34 2013 -0700

i965: Use the proper element of the prim array in brw_try_draw_prims.

The VBO module actually calls us with an array of _mesa_prim objects.
For example, it may break up a DrawArrays() call into multiple
primitives when primitive restart is enabled.

Previously, we treated prim like a pointer, always accessing element 0.
This worked because all of the primitive objects in a single draw call
have the same value for num_instances and basevertex.

However, accessing an array as a pointer and using the wrong object's
fields is misleading.  For stylistic reasons alone, we should use the
right object.

Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>

---

 src/mesa/drivers/dri/i965/brw_draw.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_draw.c b/src/mesa/drivers/dri/i965/brw_draw.c
index 0b11566..dec17db 100644
--- a/src/mesa/drivers/dri/i965/brw_draw.c
+++ b/src/mesa/drivers/dri/i965/brw_draw.c
@@ -390,12 +390,12 @@ static bool brw_try_draw_prims( struct gl_context *ctx,
       intel_batchbuffer_require_space(brw, estimated_max_prim_size, false);
       intel_batchbuffer_save_state(brw);
 
-      if (brw->num_instances != prim->num_instances) {
-         brw->num_instances = prim->num_instances;
+      if (brw->num_instances != prim[i].num_instances) {
+         brw->num_instances = prim[i].num_instances;
          brw->state.dirty.brw |= BRW_NEW_VERTICES;
       }
-      if (brw->basevertex != prim->basevertex) {
-         brw->basevertex = prim->basevertex;
+      if (brw->basevertex != prim[i].basevertex) {
+         brw->basevertex = prim[i].basevertex;
          brw->state.dirty.brw |= BRW_NEW_VERTICES;
       }
       if (brw->gen < 6)




More information about the mesa-commit mailing list