panvk: report support for sparseResidencyImage2D

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37483>
This commit is contained in:
Caterina Shablia 2025-11-20 17:41:55 +01:00 committed by Marge Bot
parent 5326c45174
commit a338694c50
2 changed files with 10 additions and 6 deletions

View file

@ -12,3 +12,5 @@ VK_EXT_device_memory_report on panvk
VK_VALVE_video_encode_rgb_conversion on radv VK_VALVE_video_encode_rgb_conversion on radv
VK_EXT_custom_resolve on RADV VK_EXT_custom_resolve on RADV
GL_EXT_shader_pixel_local_storage on Panfrost v6+ GL_EXT_shader_pixel_local_storage on Panfrost v6+
sparseResidencyImage2D on panvk v10+
sparseResidencyStandard2DBlockShape on panvk v10+

View file

@ -242,6 +242,8 @@ panvk_per_arch(get_physical_device_features)(
const struct panvk_instance *instance, const struct panvk_instance *instance,
const struct panvk_physical_device *device, struct vk_features *features) const struct panvk_physical_device *device, struct vk_features *features)
{ {
bool has_sparse = PAN_ARCH >= 10;
*features = (struct vk_features){ *features = (struct vk_features){
/* Vulkan 1.0 */ /* Vulkan 1.0 */
.robustBufferAccess = true, .robustBufferAccess = true,
@ -293,15 +295,15 @@ panvk_per_arch(get_physical_device_features)(
.shaderInt16 = true, .shaderInt16 = true,
.shaderResourceResidency = false, .shaderResourceResidency = false,
.shaderResourceMinLod = false, .shaderResourceMinLod = false,
.sparseBinding = PAN_ARCH >= 10, .sparseBinding = has_sparse,
.sparseResidencyBuffer = PAN_ARCH >= 10, .sparseResidencyBuffer = has_sparse,
.sparseResidencyImage2D = false, .sparseResidencyImage2D = has_sparse,
.sparseResidencyImage3D = false, .sparseResidencyImage3D = false, /* https://gitlab.freedesktop.org/panfrost/mesa/-/issues/242 */
.sparseResidency2Samples = false, .sparseResidency2Samples = false,
.sparseResidency4Samples = false, .sparseResidency4Samples = false,
.sparseResidency8Samples = false, .sparseResidency8Samples = false,
.sparseResidency16Samples = false, .sparseResidency16Samples = false,
.sparseResidencyAliased = false, .sparseResidencyAliased = false, /* https://gitlab.freedesktop.org/panfrost/mesa/-/issues/237 */
.variableMultisampleRate = false, .variableMultisampleRate = false,
.inheritedQueries = false, .inheritedQueries = false,
@ -807,7 +809,7 @@ panvk_per_arch(get_physical_device_properties)(
/* Vulkan 1.0 sparse properties */ /* Vulkan 1.0 sparse properties */
.sparseResidencyNonResidentStrict = false, .sparseResidencyNonResidentStrict = false,
.sparseResidencyAlignedMipSize = false, .sparseResidencyAlignedMipSize = false,
.sparseResidencyStandard2DBlockShape = false, .sparseResidencyStandard2DBlockShape = true,
.sparseResidencyStandard2DMultisampleBlockShape = false, .sparseResidencyStandard2DMultisampleBlockShape = false,
.sparseResidencyStandard3DBlockShape = false, .sparseResidencyStandard3DBlockShape = false,