pan/bi: Document constant related errata(?)
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Fri, 20 Mar 2020 02:05:24 +0000 (22:05 -0400)
committerMarge Bot <eric+marge@anholt.net>
Sun, 22 Mar 2020 03:32:35 +0000 (03:32 +0000)
We're not totally sure what's up with this but Connor says if you
violate it Bad Things happen in your shader. I think this might be an
issue affecting early Bifrost (G71, ..?); when we know more we can look
into patching in a fix.

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

src/panfrost/bifrost/bi_pack.c

index 56181241bcf5652efe232326cb168de829832d15..d22b8696648e3db1b94b46aa54f8fc6cbf0ec006 100644 (file)
@@ -574,6 +574,11 @@ bi_pack_constants(bi_context *ctx, bi_clause *clause,
                 .imm_2 = only ? 0 : clause->constants[index + 1] >> 4
         };
 
+        /* XXX: On G71, Connor observed that the difference of the top 4 bits
+         * of the second constant with the first must be less than 8, otherwise
+         * we have to swap them. I am not able to reproduce this on G52,
+         * further investigation needed. Possibly an errata. XXX */
+
         util_dynarray_append(emission, struct bifrost_fmt_constant, quad);
 
         return 2;