Mesa (master): ac/surface: unset RADEON_SURF_TC_COMPATIBLE_HTILE if HTILE hasn't been computed

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue May 5 16:42:27 UTC 2020


Module: Mesa
Branch: master
Commit: 345b8aed5cd85eab71b7c80bbf00d8ccc5659bb3
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=345b8aed5cd85eab71b7c80bbf00d8ccc5659bb3

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Sat May  2 16:19:00 2020 -0400

ac/surface: unset RADEON_SURF_TC_COMPATIBLE_HTILE if HTILE hasn't been computed

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4866>

---

 src/amd/common/ac_surface.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/amd/common/ac_surface.c b/src/amd/common/ac_surface.c
index 64bfa419839..b3c4c99486d 100644
--- a/src/amd/common/ac_surface.c
+++ b/src/amd/common/ac_surface.c
@@ -946,6 +946,9 @@ static int gfx6_compute_surface(ADDR_HANDLE addrlib,
 		surf->htile_size = (total_pixels / htile_block_size) *
 				   htile_element_size;
 		surf->htile_size = align(surf->htile_size, surf->htile_alignment);
+	} else if (!surf->htile_size) {
+		/* Unset this if HTILE is not present. */
+		surf->flags &= ~RADEON_SURF_TC_COMPATIBLE_HTILE;
 	}
 
 	surf->is_linear = surf->u.legacy.level[0].mode == RADEON_SURF_MODE_LINEAR_ALIGNED;
@@ -1775,6 +1778,11 @@ static int gfx9_compute_surface(ADDR_HANDLE addrlib,
 			assert(surf->num_dcc_levels);
 	}
 
+	if (!surf->htile_size) {
+		/* Unset this if HTILE is not present. */
+		surf->flags &= ~RADEON_SURF_TC_COMPATIBLE_HTILE;
+	}
+
 	switch (surf->u.gfx9.surf.swizzle_mode) {
 		/* S = standard. */
 		case ADDR_SW_256B_S:



More information about the mesa-commit mailing list