summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2019-11-26 15:25:29 -0800
committerEric Anholt <[email protected]>2019-12-11 04:24:18 +0000
commitde619d750328b3d604d3829d6fc45da9423f78a1 (patch)
tree1e32caae0176c02432365a9cfcad5d3938860429
parentd9cf3e76bd45e83721f8ab7b9322302741d99668 (diff)
freedreno: Switch the 16-bit workaround to match what turnip does.
Prevents regressions on argb1555 and rgb565 when making turnip use freedreno's layout. Reviewed-by: Kristian H. Kristensen <[email protected]>
-rw-r--r--src/freedreno/fdl/fd6_layout.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/freedreno/fdl/fd6_layout.c b/src/freedreno/fdl/fd6_layout.c
index f9499b3a8a6..82b3a3e715c 100644
--- a/src/freedreno/fdl/fd6_layout.c
+++ b/src/freedreno/fdl/fd6_layout.c
@@ -35,7 +35,7 @@ static const struct {
unsigned heightalign;
} tile_alignment[] = {
[1] = { 128, 32 },
- [2] = { 64, 32 },
+ [2] = { 128, 16 },
[3] = { 64, 32 },
[4] = { 64, 16 },
[6] = { 64, 16 },
@@ -47,8 +47,8 @@ static const struct {
[48] = { 64, 16 },
[64] = { 64, 16 },
- /* special cases for r16: */
- [0] = { 128, 16 },
+ /* special cases for r8g8: */
+ [0] = { 64, 32 },
};
/* NOTE: good way to test this is: (for example)
@@ -81,7 +81,7 @@ fdl6_layout(struct fdl_layout *layout,
int ta = layout->cpp;
/* The z16/r16 formats seem to not play by the normal tiling rules: */
- if ((layout->cpp == 2) && (util_format_get_nr_components(format) == 1))
+ if ((layout->cpp == 2) && (util_format_get_nr_components(format) == 2))
ta = 0;
uint32_t alignment;