summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2024-06-01 13:54:05 -0400
committerMarek Olšák <marek.olsak@amd.com>2024-07-12 14:37:31 -0400
commit04bc88d997ceec4c3681d85faa5e5bb5120b170d (patch)
treed4db5c3cfabba890d076c9fe6abd56e530c842b2
parentd1c7ab5bac11c2a6c6c763778caecc318318fe12 (diff)
Check GFX12 swizzle mode correctlyHEADmaster
libdrm 2.4.121 is required to get the new FAMILY definition.
-rw-r--r--configure.ac4
-rw-r--r--src/amdgpu_glamor.c4
2 files changed, 5 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac
index 192c7b1..160bcbf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -70,8 +70,8 @@ XORG_DRIVER_CHECK_EXT(XV, videoproto)
XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
# Checks for libraries.
-PKG_CHECK_MODULES(LIBDRM, [libdrm >= 2.4.89])
-PKG_CHECK_MODULES(LIBDRM_AMDGPU, [libdrm_amdgpu >= 2.4.76])
+PKG_CHECK_MODULES(LIBDRM, [libdrm >= 2.4.121])
+PKG_CHECK_MODULES(LIBDRM_AMDGPU, [libdrm_amdgpu >= 2.4.121])
PKG_CHECK_MODULES(GBM, [gbm])
# Obtain compiler/linker options for the driver dependencies
diff --git a/src/amdgpu_glamor.c b/src/amdgpu_glamor.c
index 50ec54f..4ecc335 100644
--- a/src/amdgpu_glamor.c
+++ b/src/amdgpu_glamor.c
@@ -357,7 +357,9 @@ amdgpu_glamor_share_pixmap_backing(PixmapPtr pixmap, ScreenPtr secondary,
tiling_info = amdgpu_pixmap_get_tiling_info(pixmap);
- if (info->family >= AMDGPU_FAMILY_AI)
+ if (info->family >= AMDGPU_FAMILY_GC_12_0_0)
+ is_linear = AMDGPU_TILING_GET(tiling_info, GFX12_SWIZZLE_MODE) == 0;
+ else if (info->family >= AMDGPU_FAMILY_AI)
is_linear = AMDGPU_TILING_GET(tiling_info, SWIZZLE_MODE) == 0;
else
is_linear = AMDGPU_TILING_GET(tiling_info, ARRAY_MODE) == 1;