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

Tom Stellard tom at stellard.net
Wed Jun 5 10:32:23 PDT 2013


On Tue, Jun 04, 2013 at 12:46:02AM +0200, Grigori Goronzy wrote:
> According to ISA docs, the range is 1..64, so effectively
> bytes_to_fetch-1.

As far as I can tell this patch is correct, though I'm not sure what impact
this really has on the shader.

Reviewed-by: Tom Stellard <thomas.stellard at amd.com>

> ---
>  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
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list