From: Marek Olšák <marek.ol...@amd.com>

The swizzle has no effect on DCC encoding.
---
 src/gallium/drivers/radeonsi/si_texture.c | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_texture.c 
b/src/gallium/drivers/radeonsi/si_texture.c
index 5a29624f1fa..1f0de5e71ec 100644
--- a/src/gallium/drivers/radeonsi/si_texture.c
+++ b/src/gallium/drivers/radeonsi/si_texture.c
@@ -1926,38 +1926,32 @@ vi_get_dcc_channel_type(const struct 
util_format_description *desc)
                return dcc_channel_incompatible;
        }
 }
 
 /* Return if it's allowed to reinterpret one format as another with DCC 
enabled. */
 bool vi_dcc_formats_compatible(enum pipe_format format1,
                               enum pipe_format format2)
 {
        const struct util_format_description *desc1, *desc2;
        enum dcc_channel_type type1, type2;
-       int i;
 
        if (format1 == format2)
                return true;
 
        desc1 = util_format_description(format1);
        desc2 = util_format_description(format2);
 
+       /* This constraint is only needed if we use the TC-compatible
+        * DCC clear encoding with the clear value of 1. */
        if (desc1->nr_channels != desc2->nr_channels)
                return false;
 
-       /* Swizzles must be the same. */
-       for (i = 0; i < desc1->nr_channels; i++)
-               if (desc1->swizzle[i] <= PIPE_SWIZZLE_W &&
-                   desc2->swizzle[i] <= PIPE_SWIZZLE_W &&
-                   desc1->swizzle[i] != desc2->swizzle[i])
-                       return false;
-
        type1 = vi_get_dcc_channel_type(desc1);
        type2 = vi_get_dcc_channel_type(desc2);
 
        return type1 != dcc_channel_incompatible &&
               type2 != dcc_channel_incompatible &&
               type1 == type2;
 }
 
 bool vi_dcc_formats_are_incompatible(struct pipe_resource *tex,
                                     unsigned level,
-- 
2.15.1

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to