pan/decode: Identify layered MSAA flag
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Mon, 6 Jul 2020 22:45:16 +0000 (18:45 -0400)
committerMarge Bot <eric+marge@anholt.net>
Tue, 7 Jul 2020 01:13:39 +0000 (01:13 +0000)
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5782>

src/panfrost/include/panfrost-job.h
src/panfrost/pandecode/decode.c

index f7b864e0d6479dda05c1a4d8877552c47bb323bf..f58776a709ed74f78d0c583cb85bc89fc1360f7a 100644 (file)
@@ -1673,8 +1673,12 @@ struct mali_single_framebuffer {
         /* More below this, maybe */
 } __attribute__((packed));
 
-/* Format bits for the render target flags */
+/* Format bits for the render target flags. Setting MSAA alone works for on
+ * chip MSAA. Setting MSAA with the LAYERED flag works for MSAA where each
+ * sample is its own image (implements the ES3 spec directly but inefficient on
+ * mobile). */
 
+#define MALI_MFBD_FORMAT_LAYERED  (1 << 0)
 #define MALI_MFBD_FORMAT_MSAA    (1 << 1)
 #define MALI_MFBD_FORMAT_SRGB    (1 << 2)
 
index 5e582a2b3fc8f2a45da553e1c29aad3fb63d62af..ea50020c0218a3829c9a44a18e182d0e3b7eb973 100644 (file)
@@ -244,6 +244,7 @@ static const struct pandecode_flag_info u4_flag_info[] = {
 
 #define FLAG_INFO(flag) { MALI_MFBD_FORMAT_##flag, "MALI_MFBD_FORMAT_" #flag }
 static const struct pandecode_flag_info mfbd_fmt_flag_info[] = {
+        FLAG_INFO(LAYERED),
         FLAG_INFO(MSAA),
         FLAG_INFO(SRGB),
         {}