radeonsi: add missing make_CB_shader_coherent for DCC stores into copy_image

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12449>
This commit is contained in:
Marek Olšák 2021-08-17 18:54:16 -04:00 committed by Marge Bot
parent cb845c53f4
commit 0c39597734
1 changed files with 5 additions and 1 deletions

View File

@ -477,8 +477,12 @@ void si_compute_copy_image(struct si_context *sctx, struct pipe_resource *dst, u
/* src and dst have the same number of samples. */
si_make_CB_shader_coherent(sctx, src->nr_samples, true,
/* Only src can have DCC.*/
((struct si_texture *)src)->surface.u.gfx9.color.dcc.pipe_aligned);
if (sctx->chip_class >= GFX10) {
/* GFX10+ uses DCC stores so si_make_CB_shader_coherent is required for dst too */
si_make_CB_shader_coherent(sctx, dst->nr_samples, true,
((struct si_texture *)dst)->surface.u.gfx9.color.dcc.pipe_aligned);
}
struct si_images *images = &sctx->images[PIPE_SHADER_COMPUTE];
struct pipe_image_view saved_image[2] = {0};