radeonsi: add new depth_needs_decompression() helper

v2: - rename to depth_needs_decompression() instead

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Samuel Pitoiset 2017-04-06 00:07:33 +02:00
parent 9cc91ba6d5
commit 6646212de0
1 changed files with 8 additions and 2 deletions

View File

@ -559,6 +559,13 @@ static bool is_compressed_colortex(struct r600_texture *rtex)
(rtex->dcc_offset && rtex->dirty_level_mask);
}
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,
unsigned shader)
{
@ -602,8 +609,7 @@ static void si_set_sampler_views(struct pipe_context *ctx,
(struct r600_texture*)views[i]->texture;
struct si_sampler_view *rview = (struct si_sampler_view *)views[i];
if (rtex->db_compatible &&
(!rtex->tc_compatible_htile || rview->is_stencil_sampler)) {
if (depth_needs_decompression(rtex, rview)) {
samplers->depth_texture_mask |= 1u << slot;
} else {
samplers->depth_texture_mask &= ~(1u << slot);