summaryrefslogtreecommitdiffstats
path: root/src/panfrost/bifrost/bi_pack.c
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2020-03-19 22:05:24 -0400
committerMarge Bot <[email protected]>2020-03-22 03:32:35 +0000
commitd2d0de962ed385fd4dc71bf6d142c233b6d0998b (patch)
treed0f0ed97f63f100d4e9323d9afe7d354f98f1415 /src/panfrost/bifrost/bi_pack.c
parenteb590a98d2bc29e6b3fb0792d804d76904af6603 (diff)
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 <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4276>
Diffstat (limited to 'src/panfrost/bifrost/bi_pack.c')
-rw-r--r--src/panfrost/bifrost/bi_pack.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/panfrost/bifrost/bi_pack.c b/src/panfrost/bifrost/bi_pack.c
index 56181241bcf..d22b8696648 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;