From 10485ee4155438ff94da88d8de5f7c8e159329bc Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Mon, 19 Sep 2022 16:55:55 -0500 Subject: [PATCH] vulkan: Record more enabled robustness features Reviewed-by: Iago Toral Quiroga Reviewed-by: Lionel Landwerlin Part-of: --- src/vulkan/runtime/vk_device.c | 23 +++++++++++++++++++++++ src/vulkan/runtime/vk_device.h | 3 +++ 2 files changed, 26 insertions(+) diff --git a/src/vulkan/runtime/vk_device.c b/src/vulkan/runtime/vk_device.c index 3c0db44e24a..edb8cc34277 100644 --- a/src/vulkan/runtime/vk_device.c +++ b/src/vulkan/runtime/vk_device.c @@ -93,6 +93,29 @@ collect_enabled_features(struct vk_device *device, break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES: { + const VkPhysicalDeviceImageRobustnessFeatures *features = (void *)ext; + if (features->robustImageAccess) + device->enabled_features.robustImageAccess = true; + break; + } + + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: { + const VkPhysicalDeviceRobustness2FeaturesEXT *features = (void *)ext; + if (features->robustBufferAccess2) + device->enabled_features.robustBufferAccess2 = true; + if (features->robustImageAccess2) + device->enabled_features.robustImageAccess2 = true; + break; + } + + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES: { + const VkPhysicalDeviceVulkan13Features *features = (void *)ext; + if (features->robustImageAccess) + device->enabled_features.robustImageAccess = true; + break; + } + default: /* Don't warn */ break; diff --git a/src/vulkan/runtime/vk_device.h b/src/vulkan/runtime/vk_device.h index b8fdc14abc6..afbb4af8917 100644 --- a/src/vulkan/runtime/vk_device.h +++ b/src/vulkan/runtime/vk_device.h @@ -106,6 +106,9 @@ struct vk_device { struct { bool robustBufferAccess; + bool robustBufferAccess2; + bool robustImageAccess; + bool robustImageAccess2; } enabled_features; /** Device-level dispatch table */