radeonsi/tmz: use secure job if framebuffer has dcc
authorPierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Thu, 23 Jul 2020 07:32:39 +0000 (09:32 +0200)
committerMarge Bot <eric+marge@anholt.net>
Thu, 24 Sep 2020 14:51:16 +0000 (14:51 +0000)
Fixes a hang with DCC.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6049>

src/gallium/drivers/radeonsi/si_descriptors.c

index e41ea6b..7e859ea 100644 (file)
@@ -2711,9 +2711,10 @@ bool si_gfx_resources_check_encrypted(struct si_context *sctx)
          struct si_texture *tex = (struct si_texture *)surf->texture;
          if (!(tex->buffer.flags & RADEON_FLAG_ENCRYPTED))
             continue;
-         /* Are we reading from this framebuffer (blend) */
-         if ((blend->blend_enable_4bit >> (4 * i)) & 0xf) {
-            /* TODO: blend op */
+
+         /* Are we reading from this framebuffer */
+         if (((blend->blend_enable_4bit >> (4 * i)) & 0xf) ||
+             vi_dcc_enabled(tex, 0)) {
             use_encrypted_bo = true;
          }
       }