Mesa (master): r600g: Use separate index_bias variable

Marek Olšák mareko at kemper.freedesktop.org
Sun Apr 2 22:36:38 UTC 2017


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

Author: Constantine Kharlamov <Hi-Angel at yandex.ru>
Date:   Sun Mar 26 18:36:20 2017 +0300

r600g: Use separate index_bias variable

Needed to get rid of a separate struct allocation in the next patch, because
the one in argument is a constant, and don't allow changing its fields.

Signed-off-by: Constantine Kharlamov <Hi-Angel at yandex.ru>
Signed-off-by: Marek Olšák <marek.olsak at amd.com>

---

 src/gallium/drivers/r600/r600_state_common.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c
index cedeb74e2d..f33647f7d9 100644
--- a/src/gallium/drivers/r600/r600_state_common.c
+++ b/src/gallium/drivers/r600/r600_state_common.c
@@ -1678,6 +1678,7 @@ static void r600_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info
 	bool render_cond_bit = rctx->b.render_cond && !rctx->b.render_cond_force_off;
 	uint64_t mask;
 	unsigned num_patches, dirty_tex_counter;
+	int index_bias;
 
 	if (!info.indirect && !info.count && (info.indexed || !info.count_from_stream_output)) {
 		return;
@@ -1774,18 +1775,19 @@ static void r600_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info
 				      ib.user_buffer, &ib.offset, &ib.buffer);
 			ib.user_buffer = NULL;
 		}
+		index_bias = info.index_bias;
 	} else {
-		info.index_bias = info.start;
+		index_bias = info.start;
 	}
 
 	/* Set the index offset and primitive restart. */
 	if (rctx->vgt_state.vgt_multi_prim_ib_reset_en != info.primitive_restart ||
 	    rctx->vgt_state.vgt_multi_prim_ib_reset_indx != info.restart_index ||
-	    rctx->vgt_state.vgt_indx_offset != info.index_bias ||
+	    rctx->vgt_state.vgt_indx_offset != index_bias ||
 	    (rctx->vgt_state.last_draw_was_indirect && !info.indirect)) {
 		rctx->vgt_state.vgt_multi_prim_ib_reset_en = info.primitive_restart;
 		rctx->vgt_state.vgt_multi_prim_ib_reset_indx = info.restart_index;
-		rctx->vgt_state.vgt_indx_offset = info.index_bias;
+		rctx->vgt_state.vgt_indx_offset = index_bias;
 		r600_mark_atom_dirty(rctx, &rctx->vgt_state.atom);
 	}
 




More information about the mesa-commit mailing list