anv: avoid memory type changes with INTEL_DEBUG=noccs

Otherwise replay of renderdoc captures don't work.

Instead avoid passing the flag down the allocator.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33583>
This commit is contained in:
Lionel Landwerlin 2025-02-17 17:44:52 +02:00 committed by Marge Bot
parent 891132c3ec
commit 252cac1e5c
3 changed files with 9 additions and 12 deletions

View file

@ -1552,7 +1552,9 @@ VkResult anv_AllocateMemory(
/* TODO: Disabling compression on external bos will cause problems once we
* have a modifier that supports compression (Xe2+).
*/
if (!(alloc_flags & ANV_BO_ALLOC_EXTERNAL) && mem_type->compressed)
if (!(alloc_flags & ANV_BO_ALLOC_EXTERNAL) &&
mem_type->compressed &&
!INTEL_DEBUG(DEBUG_NO_CCS))
alloc_flags |= ANV_BO_ALLOC_COMPRESSED;
if (mem_type->dynamic_visible)

View file

@ -2144,9 +2144,6 @@ resolve_anb_image(struct anv_device *device,
static bool
anv_image_is_pat_compressible(struct anv_device *device, struct anv_image *image)
{
if (INTEL_DEBUG(DEBUG_NO_CCS))
return false;
if (device->info->ver < 20)
return false;

View file

@ -99,7 +99,7 @@ VkResult
anv_xe_physical_device_init_memory_types(struct anv_physical_device *device)
{
if (anv_physical_device_has_vram(device)) {
if (device->info.ver >= 20 && !INTEL_DEBUG(DEBUG_NO_CCS)) {
if (device->info.ver >= 20) {
device->memory.types[device->memory.type_count++] = (struct anv_memory_type) {
.propertyFlags = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT,
.heapIndex = 0,
@ -149,13 +149,11 @@ anv_xe_physical_device_init_memory_types(struct anv_physical_device *device)
.heapIndex = 0,
};
} else {
if (device->info.ver >= 20 && !INTEL_DEBUG(DEBUG_NO_CCS)) {
device->memory.types[device->memory.type_count++] = (struct anv_memory_type) {
.propertyFlags = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT,
.heapIndex = 0,
.compressed = true,
};
}
device->memory.types[device->memory.type_count++] = (struct anv_memory_type) {
.propertyFlags = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT,
.heapIndex = 0,
.compressed = true,
};
device->memory.types[device->memory.type_count++] = (struct anv_memory_type) {
.propertyFlags = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT |
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT |