panfrost: Fix GL_EXT_vertex_array_bgra
authorIcecream95 <ixn@keemail.me>
Sun, 26 Apr 2020 07:19:23 +0000 (19:19 +1200)
committerMarge Bot <eric+marge@anholt.net>
Tue, 28 Apr 2020 00:20:53 +0000 (00:20 +0000)
Previously, attributes would always use an RGBA swizzle, even if the
format was BGRA.

Fixes piglit tests bgra-sec-color-pointer and bgra-vert-attrib-pointer.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4752>

src/gallium/drivers/panfrost/pan_context.c

index 1a87a7bf0142f646b6f45b59416823c1f31bce13..33fad6208b63e89a65d0e67521a34f4e78038cf9 100644 (file)
@@ -512,7 +512,7 @@ panfrost_create_vertex_elements_state(
                 enum pipe_format fmt = elements[i].src_format;
                 const struct util_format_description *desc = util_format_description(fmt);
                 so->hw[i].unknown1 = 0x2;
-                so->hw[i].swizzle = panfrost_get_default_swizzle(desc->nr_channels);
+                so->hw[i].swizzle = panfrost_translate_swizzle_4(desc->swizzle);
 
                 so->hw[i].format = panfrost_find_format(desc);
         }