diff options
author | Eric Anholt <[email protected]> | 2019-11-26 15:25:29 -0800 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2019-12-11 04:24:18 +0000 |
commit | de619d750328b3d604d3829d6fc45da9423f78a1 (patch) | |
tree | 1e32caae0176c02432365a9cfcad5d3938860429 | |
parent | d9cf3e76bd45e83721f8ab7b9322302741d99668 (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.c | 8 |
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; |