The performance impact is slightly mitigated by tiling the render
target, but it's undeniably still slow compared to AFBC. Unfortunately,
it doesn't look like AFBC and sRGB play nice...

Signed-off-by: Alyssa Rosenzweig <[email protected]>
---
 src/gallium/drivers/panfrost/pan_afbc.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/gallium/drivers/panfrost/pan_afbc.c 
b/src/gallium/drivers/panfrost/pan_afbc.c
index 0bb9d2491c6..4bef833f182 100644
--- a/src/gallium/drivers/panfrost/pan_afbc.c
+++ b/src/gallium/drivers/panfrost/pan_afbc.c
@@ -83,6 +83,13 @@ panfrost_format_supports_afbc(enum pipe_format format)
         const struct util_format_description *desc =
                 util_format_description(format);
 
+        /* sRGB cannot be AFBC, but it can be tiled. TODO: Verify. The blob
+         * does not do AFBC for SRGB8_ALPHA8, but it's not clear why it
+         * shouldn't be able to. */
+
+        if (desc->colorspace == UTIL_FORMAT_COLORSPACE_SRGB)
+                return false;
+
         if (util_format_is_rgba8_variant(desc))
                 return true;
 
-- 
2.20.1

_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to