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