Mesa (master): mesa: remove redundant _mesa_prim::is_indexed

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Feb 28 01:10:27 UTC 2020


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Mon Feb 10 20:25:52 2020 -0500

mesa: remove redundant _mesa_prim::is_indexed

Instead, check (ib != NULL) like all other drivers.

Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3990>

---

 src/mesa/drivers/dri/i965/brw_draw.c     | 19 ++++++++++---------
 src/mesa/main/draw.c                     |  3 ---
 src/mesa/main/draw.h                     |  1 -
 src/mesa/state_tracker/st_cb_rasterpos.c |  1 -
 src/mesa/tnl/t_split_inplace.c           |  1 -
 src/mesa/vbo/vbo_exec_api.c              |  1 -
 6 files changed, 10 insertions(+), 16 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_draw.c b/src/mesa/drivers/dri/i965/brw_draw.c
index 48c1b10d51a..10c599e796c 100644
--- a/src/mesa/drivers/dri/i965/brw_draw.c
+++ b/src/mesa/drivers/dri/i965/brw_draw.c
@@ -159,6 +159,7 @@ static void
 brw_emit_prim(struct brw_context *brw,
               const struct _mesa_prim *prim,
               uint32_t hw_prim,
+              bool is_indexed,
               struct brw_transform_feedback_object *xfb_obj,
               unsigned stream,
               bool is_indirect,
@@ -175,7 +176,7 @@ brw_emit_prim(struct brw_context *brw,
    int start_vertex_location = prim->start;
    int base_vertex_location = prim->basevertex;
 
-   if (prim->indexed) {
+   if (is_indexed) {
       vertex_access_type = devinfo->gen >= 7 ?
          GEN7_3DPRIM_VERTEXBUFFER_ACCESS_RANDOM :
          GEN4_3DPRIM_VERTEXBUFFER_ACCESS_RANDOM;
@@ -239,7 +240,7 @@ brw_emit_prim(struct brw_context *brw,
 
       brw_load_register_mem(brw, GEN7_3DPRIM_START_VERTEX, bo,
                             indirect_offset + 8);
-      if (prim->indexed) {
+      if (is_indexed) {
          brw_load_register_mem(brw, GEN7_3DPRIM_BASE_VERTEX, bo,
                                indirect_offset + 12);
          brw_load_register_mem(brw, GEN7_3DPRIM_START_INSTANCE, bo,
@@ -956,6 +957,7 @@ static void
 brw_draw_single_prim(struct gl_context *ctx,
                      const struct _mesa_prim *prim,
                      unsigned prim_id,
+                     bool is_indexed,
                      struct brw_transform_feedback_object *xfb_obj,
                      unsigned stream,
                      GLsizeiptr indirect_offset)
@@ -996,7 +998,7 @@ brw_draw_single_prim(struct gl_context *ctx,
     * we only flag if the values change.
     */
    const int new_firstvertex =
-      prim->indexed ? prim->basevertex : prim->start;
+      is_indexed ? prim->basevertex : prim->start;
    const int new_baseinstance = prim->base_instance;
    const struct brw_vs_prog_data *vs_prog_data =
       brw_vs_prog_data(brw->vs.base.prog_data);
@@ -1023,7 +1025,7 @@ brw_draw_single_prim(struct gl_context *ctx,
          intel_buffer_object(ctx->DrawIndirectBuffer)->buffer;
       brw_bo_reference(brw->draw.draw_params_bo);
       brw->draw.draw_params_offset =
-         indirect_offset + (prim->indexed ? 12 : 8);
+         indirect_offset + (is_indexed ? 12 : 8);
    } else {
       /* Set draw_params_bo to NULL so brw_prepare_vertices knows it
        * has to upload gl_BaseVertex and such if they're needed.
@@ -1042,7 +1044,7 @@ brw_draw_single_prim(struct gl_context *ctx,
       brw->ctx.NewDriverState |= BRW_NEW_VERTICES;
 
    brw->draw.derived_params.gl_drawid = prim->draw_id;
-   brw->draw.derived_params.is_indexed_draw = prim->indexed ? ~0 : 0;
+   brw->draw.derived_params.is_indexed_draw = is_indexed ? ~0 : 0;
 
    brw_bo_unreference(brw->draw.derived_draw_params_bo);
    brw->draw.derived_draw_params_bo = NULL;
@@ -1068,8 +1070,8 @@ retry:
    if (devinfo->gen == 9)
       gen9_emit_preempt_wa(brw, prim);
 
-   brw_emit_prim(brw, prim, brw->primitive, xfb_obj, stream, is_indirect,
-                 indirect_offset);
+   brw_emit_prim(brw, prim, brw->primitive, is_indexed, xfb_obj, stream,
+                 is_indirect, indirect_offset);
 
    brw->batch.no_wrap = false;
 
@@ -1185,7 +1187,7 @@ brw_draw_prims(struct gl_context *ctx,
          brw->predicate.state = BRW_PREDICATE_STATE_USE_BIT;
       }
 
-      brw_draw_single_prim(ctx, &prims[i], i, xfb_obj, stream,
+      brw_draw_single_prim(ctx, &prims[i], i, ib != NULL, xfb_obj, stream,
                            brw->draw.draw_indirect_offset +
                            brw->draw.draw_indirect_stride * i);
    }
@@ -1225,7 +1227,6 @@ brw_draw_indirect_prims(struct gl_context *ctx,
    prim[draw_count - 1].end = 1;
    for (i = 0; i < draw_count; ++i) {
       prim[i].mode = mode;
-      prim[i].indexed = ib != NULL;
       prim[i].draw_id = i;
    }
 
diff --git a/src/mesa/main/draw.c b/src/mesa/main/draw.c
index 4ace7c2df4f..7fb57f67290 100644
--- a/src/mesa/main/draw.c
+++ b/src/mesa/main/draw.c
@@ -772,7 +772,6 @@ _mesa_validated_drawrangeelements(struct gl_context *ctx, GLenum mode,
    prim.mode = mode;
    prim.start = 0;
    prim.count = count;
-   prim.indexed = 1;
    prim.basevertex = basevertex;
    prim.num_instances = numInstances;
    prim.base_instance = baseInstance;
@@ -1230,7 +1229,6 @@ _mesa_validated_multidrawelements(struct gl_context *ctx, GLenum mode,
          prim[i].start =
             ((uintptr_t) indices[i] - min_index_ptr) / index_type_size;
          prim[i].count = count[i];
-         prim[i].indexed = 1;
          prim[i].num_instances = 1;
          prim[i].base_instance = 0;
          prim[i].draw_id = i;
@@ -1258,7 +1256,6 @@ _mesa_validated_multidrawelements(struct gl_context *ctx, GLenum mode,
          prim[0].mode = mode;
          prim[0].start = 0;
          prim[0].count = count[i];
-         prim[0].indexed = 1;
          prim[0].num_instances = 1;
          prim[0].base_instance = 0;
          prim[0].draw_id = i;
diff --git a/src/mesa/main/draw.h b/src/mesa/main/draw.h
index 47d02f575b1..1363ff58df2 100644
--- a/src/mesa/main/draw.h
+++ b/src/mesa/main/draw.h
@@ -43,7 +43,6 @@ struct gl_context;
 struct _mesa_prim
 {
    GLubyte mode;    /**< GL_POINTS, GL_LINES, GL_QUAD_STRIP, etc */
-   bool indexed;
 
    /**
     * tnl: If true, line stipple emulation will reset the pattern walker.
diff --git a/src/mesa/state_tracker/st_cb_rasterpos.c b/src/mesa/state_tracker/st_cb_rasterpos.c
index b6f22601f82..7a009d3a0d4 100644
--- a/src/mesa/state_tracker/st_cb_rasterpos.c
+++ b/src/mesa/state_tracker/st_cb_rasterpos.c
@@ -205,7 +205,6 @@ new_draw_rastpos_stage(struct gl_context *ctx, struct draw_context *draw)
    _mesa_enable_vertex_array_attrib(ctx, rs->VAO, 0);
 
    rs->prim.mode = GL_POINTS;
-   rs->prim.indexed = 0;
    rs->prim.begin = 1;
    rs->prim.end = 1;
    rs->prim.start = 0;
diff --git a/src/mesa/tnl/t_split_inplace.c b/src/mesa/tnl/t_split_inplace.c
index 395af573361..048f87309ee 100644
--- a/src/mesa/tnl/t_split_inplace.c
+++ b/src/mesa/tnl/t_split_inplace.c
@@ -230,7 +230,6 @@ split_prims(struct split_context *split)
          ib.ptr = elts;
 
          tmpprim = *prim;
-         tmpprim.indexed = 1;
          tmpprim.start = 0;
          tmpprim.count = count;
          tmpprim.num_instances = 1;
diff --git a/src/mesa/vbo/vbo_exec_api.c b/src/mesa/vbo/vbo_exec_api.c
index 16df956d85d..d724f4efe11 100644
--- a/src/mesa/vbo/vbo_exec_api.c
+++ b/src/mesa/vbo/vbo_exec_api.c
@@ -810,7 +810,6 @@ vbo_exec_Begin(GLenum mode)
    exec->vtx.prim[i].mode = mode;
    exec->vtx.prim[i].begin = 1;
    exec->vtx.prim[i].end = 0;
-   exec->vtx.prim[i].indexed = 0;
    exec->vtx.prim[i].start = exec->vtx.vert_count;
    exec->vtx.prim[i].count = 0;
    exec->vtx.prim[i].num_instances = 1;



More information about the mesa-commit mailing list