Mesa (main): pan/lower_framebuffer: Don't treat UNORM 4 special

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Aug 23 21:08:50 UTC 2021


Module: Mesa
Branch: main
Commit: 58e96e4aa298e50c4b34a6bd5b3e5e23583cfaae
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=58e96e4aa298e50c4b34a6bd5b3e5e23583cfaae

Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Tue Jun 15 12:38:19 2021 -0400

pan/lower_framebuffer: Don't treat UNORM 4 special

Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11383>

---

 src/panfrost/util/pan_lower_framebuffer.c | 27 +++++++--------------------
 1 file changed, 7 insertions(+), 20 deletions(-)

diff --git a/src/panfrost/util/pan_lower_framebuffer.c b/src/panfrost/util/pan_lower_framebuffer.c
index 06ecd917221..2f78ea769e3 100644
--- a/src/panfrost/util/pan_lower_framebuffer.c
+++ b/src/panfrost/util/pan_lower_framebuffer.c
@@ -347,23 +347,6 @@ pan_linear_to_srgb(nir_builder *b, nir_ssa_def *linear)
 
 /* Generic dispatches for un/pack regardless of format */
 
-static bool
-pan_is_unorm4(const struct util_format_description *desc)
-{
-        switch (desc->format) {
-        case PIPE_FORMAT_B4G4R4A4_UNORM:
-        case PIPE_FORMAT_B4G4R4X4_UNORM:
-        case PIPE_FORMAT_A4R4_UNORM:
-        case PIPE_FORMAT_R4A4_UNORM:
-        case PIPE_FORMAT_A4B4G4R4_UNORM:
-        case PIPE_FORMAT_R4G4B4A4_UNORM:
-                return true;
-        default:
-                return false;
-        }
- 
-}
-
 static nir_ssa_def *
 pan_unpack(nir_builder *b,
                 const struct util_format_description *desc,
@@ -412,9 +395,6 @@ pan_pack(nir_builder *b,
         if (util_format_is_unorm8(desc))
                 return pan_pack_unorm(b, unpacked, 8, 8, 8, 8);
 
-        if (pan_is_unorm4(desc))
-                return pan_pack_unorm(b, unpacked, 4, 4, 4, 4);
-
         if (desc->is_array) {
                 int c = util_format_get_first_non_void_channel(desc->format);
                 assert(c >= 0);
@@ -436,6 +416,13 @@ pan_pack(nir_builder *b,
         }
 
         switch (desc->format) {
+        case PIPE_FORMAT_B4G4R4A4_UNORM:
+        case PIPE_FORMAT_B4G4R4X4_UNORM:
+        case PIPE_FORMAT_A4R4_UNORM:
+        case PIPE_FORMAT_R4A4_UNORM:
+        case PIPE_FORMAT_A4B4G4R4_UNORM:
+        case PIPE_FORMAT_R4G4B4A4_UNORM:
+                return pan_pack_unorm(b, unpacked, 4, 4, 4, 4);
         case PIPE_FORMAT_B5G5R5A1_UNORM:
         case PIPE_FORMAT_R5G5B5A1_UNORM:
                 return pan_pack_unorm(b, unpacked, 5, 6, 5, 1);



More information about the mesa-commit mailing list