[Mesa-dev] [PATCH] radeonsi: Fix calculation of number of records in buffer resource.

Christian König deathsimple at vodafone.de
Wed Sep 12 05:56:12 PDT 2012


On 12.09.2012 13:02, Michel Dänzer wrote:
> From: Michel Dänzer <michel.daenzer at amd.com>
>
> The value was too small by 1 in some cases (non-first of several vertex
> elements interleaved in a single buffer).
>
> Fixes intermittent incorrect geometry in many apps, e.g. piglit
> spec/EXT_texture_snorm/fbo-generatemipmap-formats.
>
> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
Reviewed-by: Christian König <christian.koenig at amd.com>

> ---
>   src/gallium/drivers/radeonsi/si_state_draw.c |    2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c b/src/gallium/drivers/radeonsi/si_state_draw.c
> index 4ae29b8..eb6db72 100644
> --- a/src/gallium/drivers/radeonsi/si_state_draw.c
> +++ b/src/gallium/drivers/radeonsi/si_state_draw.c
> @@ -439,7 +439,7 @@ static void si_vertex_buffer_update(struct r600_context *rctx)
>   		si_pm4_sh_data_add(pm4, va & 0xFFFFFFFF);
>   		si_pm4_sh_data_add(pm4, (S_008F04_BASE_ADDRESS_HI(va >> 32) |
>   					 S_008F04_STRIDE(vb->stride)));
> -		si_pm4_sh_data_add(pm4, (vb->buffer->width0 - offset) /
> +		si_pm4_sh_data_add(pm4, (vb->buffer->width0 - vb->buffer_offset) /
>   					 MAX2(vb->stride, 1));
>   		si_pm4_sh_data_add(pm4, rctx->vertex_elements->rsrc_word3[i]);
>   



More information about the mesa-dev mailing list