Mesa (master): radeonsi: Fix imports with displayable DCC.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Sep 30 12:18:39 UTC 2020
Module: Mesa
Branch: master
Commit: 55e2b3424decf9f0240bb6fe0fd521e775d28d66
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=55e2b3424decf9f0240bb6fe0fd521e775d28d66
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date: Tue Sep 29 18:41:31 2020 +0200
radeonsi: Fix imports with displayable DCC.
Otherwise we reset the displayable DCC on import.
Fixes: c6c1fa9a263 "radeonsi: Put retile map in separate buffers."
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3577
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6918>
---
src/gallium/drivers/radeonsi/si_texture.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_texture.c b/src/gallium/drivers/radeonsi/si_texture.c
index 68d8e2c1f4e..93e52e75c8d 100644
--- a/src/gallium/drivers/radeonsi/si_texture.c
+++ b/src/gallium/drivers/radeonsi/si_texture.c
@@ -1152,10 +1152,12 @@ static struct si_texture *si_texture_create_object(struct pipe_screen *screen,
/* Initialize displayable DCC that requires the retile blit. */
if (tex->surface.display_dcc_offset) {
- /* Uninitialized DCC can hang the display hw.
- * Clear to white to indicate that. */
- si_screen_clear_buffer(sscreen, &tex->buffer.b.b, tex->surface.display_dcc_offset,
- tex->surface.u.gfx9.display_dcc_size, DCC_CLEAR_COLOR_1111);
+ if (!(surface->flags & RADEON_SURF_IMPORTED)) {
+ /* Uninitialized DCC can hang the display hw.
+ * Clear to white to indicate that. */
+ si_screen_clear_buffer(sscreen, &tex->buffer.b.b, tex->surface.display_dcc_offset,
+ tex->surface.u.gfx9.display_dcc_size, DCC_CLEAR_COLOR_1111);
+ }
/* Upload the DCC retile map.
* Use a staging buffer for the upload, because
More information about the mesa-commit
mailing list