Mesa (master): i965: Consolidate code for setting brw-> ib.start_vertex_offset.

Kenneth Graunke kwg at kemper.freedesktop.org
Tue Mar 18 17:40:53 UTC 2014


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

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Sun Mar  2 15:02:54 2014 -0800

i965: Consolidate code for setting brw->ib.start_vertex_offset.

This was set identically in three places.

Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

---

 src/mesa/drivers/dri/i965/brw_draw_upload.c |   15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_draw_upload.c b/src/mesa/drivers/dri/i965/brw_draw_upload.c
index d42c074..3c537a5 100644
--- a/src/mesa/drivers/dri/i965/brw_draw_upload.c
+++ b/src/mesa/drivers/dri/i965/brw_draw_upload.c
@@ -841,12 +841,10 @@ static void brw_upload_indices(struct brw_context *brw)
    /* Turn into a proper VBO:
     */
    if (!_mesa_is_bufferobj(bufferobj)) {
-
       /* Get new bufferobj, offset:
        */
       intel_upload_data(brw, index_buffer->ptr, ib_size, ib_type_size,
 			&bo, &offset);
-      brw->ib.start_vertex_offset = offset / ib_type_size;
    } else {
       offset = (GLuint) (unsigned long) index_buffer->ptr;
 
@@ -865,22 +863,21 @@ static void brw_upload_indices(struct brw_context *brw)
                                                     MAP_INTERNAL);
 
           intel_upload_data(brw, map, ib_size, ib_type_size, &bo, &offset);
-          brw->ib.start_vertex_offset = offset / ib_type_size;
 
           ctx->Driver.UnmapBuffer(ctx, bufferobj, MAP_INTERNAL);
        } else {
-	  /* Use CMD_3D_PRIM's start_vertex_offset to avoid re-uploading
-	   * the index buffer state when we're just moving the start index
-	   * of our drawing.
-	   */
-	  brw->ib.start_vertex_offset = offset / ib_type_size;
-
 	  bo = intel_bufferobj_buffer(brw, intel_buffer_object(bufferobj),
 				      offset, ib_size);
 	  drm_intel_bo_reference(bo);
        }
    }
 
+   /* Use 3DPRIMITIVE's start_vertex_offset to avoid re-uploading
+    * the index buffer state when we're just moving the start index
+    * of our drawing.
+    */
+   brw->ib.start_vertex_offset = offset / ib_type_size;
+
    if (brw->ib.bo != bo) {
       drm_intel_bo_unreference(brw->ib.bo);
       brw->ib.bo = bo;




More information about the mesa-commit mailing list