From de619d750328b3d604d3829d6fc45da9423f78a1 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 26 Nov 2019 15:25:29 -0800 Subject: [PATCH] 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 --- src/freedreno/fdl/fd6_layout.c | 8 ++++---- 1 file 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; -- 2.30.2