[Mesa-dev] [PATCH] radeonsi: fix broken tessellation on Carrizo and Stoney

Samuel Pitoiset samuel.pitoiset at gmail.com
Thu Feb 23 18:54:30 UTC 2017



On 02/23/2017 07:48 PM, Marek Olšák wrote:
> From: Marek Olšák <marek.olsak at amd.com>
>

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99850

> Cc: 13.0 17.0 <mesa-stable at lists.freedesktop.org>
> ---
>  src/gallium/drivers/radeonsi/si_state_shaders.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c b/src/gallium/drivers/radeonsi/si_state_shaders.c
> index f615aa8..750cdd6 100644
> --- a/src/gallium/drivers/radeonsi/si_state_shaders.c
> +++ b/src/gallium/drivers/radeonsi/si_state_shaders.c
> @@ -2305,21 +2305,23 @@ static bool si_update_spi_tmpring_size(struct si_context *sctx)
>  			   S_0286E8_WAVESIZE(scratch_bytes_per_wave >> 10);
>  	if (spi_tmpring_size != sctx->spi_tmpring_size) {
>  		sctx->spi_tmpring_size = spi_tmpring_size;
>  		si_mark_atom_dirty(sctx, &sctx->scratch_state);
>  	}
>  	return true;
>  }
>
>  static void si_init_tess_factor_ring(struct si_context *sctx)
>  {
> -	bool double_offchip_buffers = sctx->b.chip_class >= CIK;
> +	bool double_offchip_buffers = sctx->b.chip_class >= CIK &&
> +				      sctx->b.family != CHIP_CARRIZO &&
> +				      sctx->b.family != CHIP_STONEY;
>  	unsigned max_offchip_buffers_per_se = double_offchip_buffers ? 128 : 64;
>  	unsigned max_offchip_buffers = max_offchip_buffers_per_se *
>  				       sctx->screen->b.info.max_se;
>  	unsigned offchip_granularity;
>
>  	switch (sctx->screen->tess_offchip_block_dw_size) {
>  	default:
>  		assert(0);
>  		/* fall through */
>  	case 8192:
>


More information about the mesa-dev mailing list