From 2212865ce0d1e6f8515b1aeadda374f4317534de Mon Sep 17 00:00:00 2001 From: Jianxun Zhang Date: Wed, 26 Jun 2024 17:26:03 -0700 Subject: [PATCH] anv: Use different PAT entries for compressed resources MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Displayable compressed resournces have a different PAT entry from the non-displayable compressed. Signed-off-by: Jianxun Zhang Reviewed-by: José Roberto de Souza Part-of: --- src/intel/vulkan/anv_device.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index a50eb957f15..12a3b5d728a 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -2176,8 +2176,13 @@ anv_device_get_pat_entry(struct anv_device *device, if (alloc_flags & ANV_BO_ALLOC_IMPORTED) return &device->info->pat.cached_coherent; - if (alloc_flags & ANV_BO_ALLOC_COMPRESSED) - return &device->info->pat.compressed; + if (alloc_flags & ANV_BO_ALLOC_COMPRESSED) { + /* Compressed PAT entries are available on Xe2+. */ + assert(device->info->ver >= 20); + return alloc_flags & ANV_BO_ALLOC_SCANOUT ? + &device->info->pat.compressed_scanout : + &device->info->pat.compressed; + } if (alloc_flags & (ANV_BO_ALLOC_EXTERNAL | ANV_BO_ALLOC_SCANOUT)) return &device->info->pat.scanout;