Mesa (main): freedreno/a5xx: Fix up border color pointers.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed May 5 22:05:55 UTC 2021
Module: Mesa
Branch: main
Commit: cc5df4398a2ff1ef291dfd23fee72b0dc173b66d
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cc5df4398a2ff1ef291dfd23fee72b0dc173b66d
Author: Eric Anholt <eric at anholt.net>
Date: Mon Mar 29 14:11:28 2021 -0700
freedreno/a5xx: Fix up border color pointers.
We were forgetting to increment in the loop, but also it looks from blob
dumps on Pixel 2 like all the pointers it emitted were shifted up by 3
compared to our xml, and that's the same shift that a6xx uses for its
pointers. None of the tests seem to use more than one
border-color-requiring texture, so it's hard to tell.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9904>
---
src/freedreno/registers/adreno/a5xx.xml | 2 +-
src/gallium/drivers/freedreno/a5xx/fd5_emit.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/freedreno/registers/adreno/a5xx.xml b/src/freedreno/registers/adreno/a5xx.xml
index aea009637aa..b340ee7b017 100644
--- a/src/freedreno/registers/adreno/a5xx.xml
+++ b/src/freedreno/registers/adreno/a5xx.xml
@@ -2882,7 +2882,7 @@ different border-color states per texture.. Looks something like:
0340: 3c003c00 3c003c00 00000000 00000000 00000000 00000000 00000000 00000000
-->
- <bitfield name="BCOLOR_OFFSET" low="4" high="31"/>
+ <bitfield name="BCOLOR_OFFSET" low="7" high="31"/>
</reg32>
<reg32 offset="3" name="3"/>
</domain>
diff --git a/src/gallium/drivers/freedreno/a5xx/fd5_emit.c b/src/gallium/drivers/freedreno/a5xx/fd5_emit.c
index dc04d427a66..8f41504e520 100644
--- a/src/gallium/drivers/freedreno/a5xx/fd5_emit.c
+++ b/src/gallium/drivers/freedreno/a5xx/fd5_emit.c
@@ -366,7 +366,7 @@ emit_textures(struct fd_context *ctx, struct fd_ringbuffer *ring,
OUT_RING(ring, sampler->texsamp0);
OUT_RING(ring, sampler->texsamp1);
OUT_RING(ring, sampler->texsamp2 |
- A5XX_TEX_SAMP_2_BCOLOR_OFFSET(bcolor_offset));
+ A5XX_TEX_SAMP_2_BCOLOR_OFFSET(bcolor_offset + i));
OUT_RING(ring, sampler->texsamp3);
needs_border |= sampler->needs_border;
More information about the mesa-commit
mailing list