Mesa (master): panfrost: Disable AFBC on sRGB buffers

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jun 18 17:00:05 UTC 2019


Module: Mesa
Branch: master
Commit: 5aa51ba97f91f1acaac4e201740ce0afe7272286
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5aa51ba97f91f1acaac4e201740ce0afe7272286

Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Tue Jun 18 07:41:26 2019 -0700

panfrost: Disable AFBC on sRGB buffers

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 <alyssa.rosenzweig at collabora.com>

---

 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;
 




More information about the mesa-commit mailing list