radeonsi: only set need_check_render_feedback if binding textures for PS

Other shader stages can't realistically read and render to the same
pixel of the same texture simultaneously.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168>
This commit is contained in:
Marek Olšák 2024-08-21 14:07:19 -04:00
parent d4178e58f7
commit 69ad0fc61e

View file

@ -494,7 +494,8 @@ static void si_set_sampler_views(struct si_context *sctx, unsigned shader,
}
}
if (vi_dcc_enabled(tex, sview->base.u.tex.first_level) &&
if (shader == PIPE_SHADER_FRAGMENT &&
vi_dcc_enabled(tex, sview->base.u.tex.first_level) &&
p_atomic_read(&tex->framebuffers_bound))
sctx->need_check_render_feedback = true;
}
@ -810,7 +811,8 @@ static void si_set_shader_image(struct si_context *ctx, unsigned shader, unsigne
images->display_dcc_store_mask &= ~(1u << slot);
}
if (vi_dcc_enabled(tex, level) && p_atomic_read(&tex->framebuffers_bound))
if (shader == PIPE_SHADER_FRAGMENT && vi_dcc_enabled(tex, level) &&
p_atomic_read(&tex->framebuffers_bound))
ctx->need_check_render_feedback = true;
}
}