[Mesa-dev] [PATCH 1/7] radeonsi: don't mark non-dirty textures with CMASK as compressed

Samuel Pitoiset samuel.pitoiset at gmail.com
Fri Apr 14 15:30:32 UTC 2017


Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>

On 04/14/2017 05:08 PM, Marek Olšák wrote:
> From: Marek Olšák <marek.olsak at amd.com>
> 
> because the compression is skipped with non-dirty textures.
> ---
>   src/gallium/drivers/radeonsi/si_descriptors.c | 5 +++--
>   1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c b/src/gallium/drivers/radeonsi/si_descriptors.c
> index 2f6f8eb..971aa43 100644
> --- a/src/gallium/drivers/radeonsi/si_descriptors.c
> +++ b/src/gallium/drivers/radeonsi/si_descriptors.c
> @@ -548,22 +548,23 @@ static void si_set_sampler_view(struct si_context *sctx,
>   
>   		views->enabled_mask &= ~(1u << slot);
>   	}
>   
>   	descs->dirty_mask |= 1u << slot;
>   	sctx->descriptors_dirty |= 1u << si_sampler_descriptors_idx(shader);
>   }
>   
>   static bool is_compressed_colortex(struct r600_texture *rtex)
>   {
> -	return rtex->cmask.size || rtex->fmask.size ||
> -	       (rtex->dcc_offset && rtex->dirty_level_mask);
> +	return rtex->fmask.size ||
> +	       (rtex->dirty_level_mask &&
> +		(rtex->cmask.size || rtex->dcc_offset));
>   }
>   
>   static bool depth_needs_decompression(struct r600_texture *rtex,
>   				      struct si_sampler_view *sview)
>   {
>   	return rtex->db_compatible &&
>   	       (!rtex->tc_compatible_htile || sview->is_stencil_sampler);
>   }
>   
>   static void si_update_compressed_tex_shader_mask(struct si_context *sctx,
> 


More information about the mesa-dev mailing list