[Mesa-stable] [Mesa-dev] [PATCH 06/23] radeonsi: update all GSVS ring descriptors for new buffer allocations

Edward O'Callaghan funfunctor at folklore1984.net
Fri Dec 2 23:42:47 UTC 2016



On 12/01/2016 12:35 AM, Nicolai Hähnle wrote:
> From: Nicolai Hähnle <nicolai.haehnle at amd.com>
> 
> Fixes GL45-CTS.gtf40.GL3Tests.transform_feedback3.transform_feedback3_geometry_instanced.
Reviewed-by: Edward O'Callaghan <funfunctor at folklore1984.net>

> 
> Cc: mesa-stable at lists.freedesktop.org
> ---
>  src/gallium/drivers/radeonsi/si_state_shaders.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c b/src/gallium/drivers/radeonsi/si_state_shaders.c
> index 0afc3b4..ea71569 100644
> --- a/src/gallium/drivers/radeonsi/si_state_shaders.c
> +++ b/src/gallium/drivers/radeonsi/si_state_shaders.c
> @@ -2031,24 +2031,29 @@ static bool si_update_gs_ring_buffers(struct si_context *sctx)
>  
>  	/* Set ring bindings. */
>  	if (sctx->esgs_ring) {
>  		si_set_ring_buffer(&sctx->b.b, SI_ES_RING_ESGS,
>  				   sctx->esgs_ring, 0, sctx->esgs_ring->width0,
>  				   true, true, 4, 64, 0);
>  		si_set_ring_buffer(&sctx->b.b, SI_GS_RING_ESGS,
>  				   sctx->esgs_ring, 0, sctx->esgs_ring->width0,
>  				   false, false, 0, 0, 0);
>  	}
> -	if (sctx->gsvs_ring)
> +	if (sctx->gsvs_ring) {
>  		si_set_ring_buffer(&sctx->b.b, SI_VS_RING_GSVS,
>  				   sctx->gsvs_ring, 0, sctx->gsvs_ring->width0,
>  				   false, false, 0, 0, 0);
> +
> +		/* Also update SI_GS_RING_GSVSi descriptors. */
> +		sctx->last_gsvs_itemsize = 0;
> +	}
> +
>  	return true;
>  }
>  
>  static void si_update_gsvs_ring_bindings(struct si_context *sctx)
>  {
>  	unsigned gsvs_itemsize = sctx->gs_shader.cso->max_gsvs_emit_size;
>  	uint64_t offset;
>  
>  	if (!sctx->gsvs_ring || gsvs_itemsize == sctx->last_gsvs_itemsize)
>  		return;
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/mesa-stable/attachments/20161203/f15e5b3f/attachment-0001.sig>


More information about the mesa-stable mailing list