Mesa (master): ac/surf: Use correct tilemodes on GFX8 for PRT.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Jan 11 12:20:21 UTC 2021
Module: Mesa
Branch: master
Commit: f56a28daa4ce4d1f3094ea5311c4657727d0484b
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f56a28daa4ce4d1f3094ea5311c4657727d0484b
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date: Wed Dec 23 21:07:38 2020 +0100
ac/surf: Use correct tilemodes on GFX8 for PRT.
Otherwise addrlib will assign the non-PRT tiling indices anyway ...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7953>
---
src/amd/common/ac_surface.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/src/amd/common/ac_surface.c b/src/amd/common/ac_surface.c
index 9de13e4ff0d..d9aef6e070d 100644
--- a/src/amd/common/ac_surface.c
+++ b/src/amd/common/ac_surface.c
@@ -805,9 +805,11 @@ static int gfx6_compute_level(ADDR_HANDLE addrlib, const struct ac_surf_config *
surf_level->mode = RADEON_SURF_MODE_LINEAR_ALIGNED;
break;
case ADDR_TM_1D_TILED_THIN1:
+ case ADDR_TM_PRT_TILED_THIN1:
surf_level->mode = RADEON_SURF_MODE_1D;
break;
case ADDR_TM_2D_TILED_THIN1:
+ case ADDR_TM_PRT_2D_TILED_THIN1:
surf_level->mode = RADEON_SURF_MODE_2D;
break;
default:
@@ -1153,10 +1155,16 @@ static int gfx6_compute_surface(ADDR_HANDLE addrlib, const struct radeon_info *i
AddrSurfInfoIn.tileMode = ADDR_TM_LINEAR_ALIGNED;
break;
case RADEON_SURF_MODE_1D:
- AddrSurfInfoIn.tileMode = ADDR_TM_1D_TILED_THIN1;
+ if (surf->flags & RADEON_SURF_PRT)
+ AddrSurfInfoIn.tileMode = ADDR_TM_PRT_TILED_THIN1;
+ else
+ AddrSurfInfoIn.tileMode = ADDR_TM_1D_TILED_THIN1;
break;
case RADEON_SURF_MODE_2D:
- AddrSurfInfoIn.tileMode = ADDR_TM_2D_TILED_THIN1;
+ if (surf->flags & RADEON_SURF_PRT)
+ AddrSurfInfoIn.tileMode = ADDR_TM_PRT_2D_TILED_THIN1;
+ else
+ AddrSurfInfoIn.tileMode = ADDR_TM_2D_TILED_THIN1;
break;
default:
assert(0);
More information about the mesa-commit
mailing list