anv: Don't enable compression on external bos (xe2)

Fix:

dEQP-VK.synchronization.cross_instance.suballocated.
write_draw_indexed_read_blit_image.image_128x128_r16
_uint_binary_semaphore_fence_fd

Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29906>
This commit is contained in:
Jianxun Zhang 2024-04-17 22:41:01 -07:00 committed by Marge Bot
parent 9cd97b6137
commit e835b53a03

View file

@ -4467,9 +4467,6 @@ VkResult anv_AllocateMemory(
if (mem_type->propertyFlags & VK_MEMORY_PROPERTY_PROTECTED_BIT)
alloc_flags |= ANV_BO_ALLOC_PROTECTED;
if (mem_type->compressed)
alloc_flags |= ANV_BO_ALLOC_COMPRESSED;
/* For now, always allocated AUX-TT aligned memory, regardless of dedicated
* allocations. An application can for example, suballocate a large
* VkDeviceMemory and try to bind an image created with a CCS modifier. In
@ -4533,6 +4530,12 @@ 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)
alloc_flags |= ANV_BO_ALLOC_COMPRESSED;
if (mem_type->descriptor_buffer)
alloc_flags |= ANV_BO_ALLOC_DESCRIPTOR_BUFFER_POOL;