aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2020-05-06 15:38:46 -0700
committerMarge Bot <[email protected]>2020-05-13 19:18:16 +0000
commitb5db2a257413e2c570b49b8c2171166592f3e093 (patch)
treed93eea27117ea2e916eb406da801db4829888d8b
parent9da4ce99538179108dc7694affc68a0e081404db (diff)
freedreno/a6xx: Fix UBWC blockheight for RG8.
Using texturator on a P3A at 1024x1024, RG8 has log2w/h of 6x7 instead of R16I/UI's 6x8. The other blockw/h I verified other than cpp=1 (R8/R8I/R8UI didn't use UBWC) and 32 (would need a bigger type). Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4931>
-rw-r--r--src/freedreno/fdl/fd6_layout.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/freedreno/fdl/fd6_layout.c b/src/freedreno/fdl/fd6_layout.c
index d6a83bfdd4a..336ca673b60 100644
--- a/src/freedreno/fdl/fd6_layout.c
+++ b/src/freedreno/fdl/fd6_layout.c
@@ -39,6 +39,9 @@ static const struct tile_alignment {
unsigned basealign;
unsigned pitchalign;
unsigned heightalign;
+ /* UBWC block width/height. Used in size alignment, and calculating a
+ * descriptor's FLAG_BUFFER_LOG2W/H for mipmapping.
+ */
uint8_t ubwc_blockwidth;
uint8_t ubwc_blockheight;
} tile_alignment[] = {
@@ -56,7 +59,7 @@ static const struct tile_alignment {
[64] = { 256, 64, 16 },
/* special cases for r8g8: */
- [0] = { 256, 64, 32, 16, 4 },
+ [0] = { 256, 64, 32, 16, 8 },
};
#define RGB_TILE_WIDTH_ALIGNMENT 64