[Mesa-dev] [PATCH] r600g: fix mega_fetch_count

Grigori Goronzy greg at chown.ath.cx
Mon Jun 3 15:46:02 PDT 2013


According to ISA docs, the range is 1..64, so effectively
bytes_to_fetch-1.
---
 src/gallium/drivers/r600/r600_shader.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c
index 81ed3ce..0444579 100644
--- a/src/gallium/drivers/r600/r600_shader.c
+++ b/src/gallium/drivers/r600/r600_shader.c
@@ -814,7 +814,7 @@ static int tgsi_fetch_rel_const(struct r600_shader_ctx *ctx, unsigned int cb_idx
 	vtx.buffer_id = cb_idx;
 	vtx.fetch_type = 2;		/* VTX_FETCH_NO_INDEX_OFFSET */
 	vtx.src_gpr = ar_reg;
-	vtx.mega_fetch_count = 16;
+	vtx.mega_fetch_count = 15;
 	vtx.dst_gpr = dst_reg;
 	vtx.dst_sel_x = 0;		/* SEL_X */
 	vtx.dst_sel_y = 1;		/* SEL_Y */
@@ -3695,7 +3695,7 @@ static int do_vtx_fetch_inst(struct r600_shader_ctx *ctx, boolean src_requires_l
 	vtx.buffer_id = id + R600_MAX_CONST_BUFFERS;
 	vtx.fetch_type = 2;		/* VTX_FETCH_NO_INDEX_OFFSET */
 	vtx.src_gpr = src_gpr;
-	vtx.mega_fetch_count = 16;
+	vtx.mega_fetch_count = 15;
 	vtx.dst_gpr = ctx->file_offset[inst->Dst[0].Register.File] + inst->Dst[0].Register.Index;
 	vtx.dst_sel_x = (inst->Dst[0].Register.WriteMask & 1) ? 0 : 7;		/* SEL_X */
 	vtx.dst_sel_y = (inst->Dst[0].Register.WriteMask & 2) ? 1 : 7;		/* SEL_Y */
-- 
1.8.1.2



More information about the mesa-dev mailing list