Mesa (master): freedreno: Switch the 16-bit workaround to match what turnip does.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Dec 11 04:46:25 UTC 2019
Module: Mesa
Branch: master
Commit: de619d750328b3d604d3829d6fc45da9423f78a1
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=de619d750328b3d604d3829d6fc45da9423f78a1
Author: Eric Anholt <eric at anholt.net>
Date: Tue Nov 26 15:25:29 2019 -0800
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 <hoegsberg at google.com>
---
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;
More information about the mesa-commit
mailing list