From d2d0de962ed385fd4dc71bf6d142c233b6d0998b Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Thu, 19 Mar 2020 22:05:24 -0400 Subject: [PATCH] pan/bi: Document constant related errata(?) 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 Part-of: --- src/panfrost/bifrost/bi_pack.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/panfrost/bifrost/bi_pack.c b/src/panfrost/bifrost/bi_pack.c index 5618124..d22b869 100644 --- a/src/panfrost/bifrost/bi_pack.c +++ b/src/panfrost/bifrost/bi_pack.c @@ -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; -- 2.7.4