From: Marek Olšák Date: Tue, 11 Feb 2020 01:25:52 +0000 (-0500) Subject: mesa: remove redundant _mesa_prim::is_indexed X-Git-Tag: upstream/20.1.8~3081 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=aaa758d3dd4112e6ce52b033cb6dcabfcebadb1f;p=platform%2Fupstream%2Fmesa.git mesa: remove redundant _mesa_prim::is_indexed Instead, check (ib != NULL) like all other drivers. Reviewed-by: Ian Romanick Part-of: --- diff --git a/src/mesa/drivers/dri/i965/brw_draw.c b/src/mesa/drivers/dri/i965/brw_draw.c index 48c1b10..10c599e 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 4ace7c2..7fb57f6 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 47d02f5..1363ff58 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 b6f2260..7a009d3 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 395af57..048f873 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 16df956..d724f4e 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;