From b43366497b6c64bae9ac592ba0f6047b478fbe3a Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Mon, 13 Jan 2020 10:14:01 -0600 Subject: [PATCH] anv: Claim VK_EXT_robustness2 support Reviewed-by: Caio Marcelo de Oliveira Filho Reviewed-by: Lionel Landwerlin Part-of: --- docs/relnotes/new_features.txt | 1 + src/intel/vulkan/anv_device.c | 17 +++++++++++++++++ src/intel/vulkan/anv_extensions.py | 1 + 3 files changed, 19 insertions(+) diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt index 7df8dfa6dcd..79bb65a02eb 100644 --- a/docs/relnotes/new_features.txt +++ b/docs/relnotes/new_features.txt @@ -13,3 +13,4 @@ VK_KHR_8bit_storage for ACO on GFX8+ VK_KHR_16bit_storage for ACO on GFX8+ (storageInputOutput16 is still unsupported) shaderInt16 for ACO on GFX9+ VK_KHR_shader_float16_int8 for ACO on GFX8+ (shaderFloat16 is still unsupported) +VK_EXT_robustness2 on Intel diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index 82b73bc0595..8d44cd72f35 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -1241,6 +1241,14 @@ void anv_GetPhysicalDeviceFeatures2( break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: { + VkPhysicalDeviceRobustness2FeaturesEXT *features = (void *)ext; + features->robustBufferAccess2 = true; + features->robustImageAccess2 = true; + features->nullDescriptor = true; + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: { VkPhysicalDeviceSamplerYcbcrConversionFeatures *features = (VkPhysicalDeviceSamplerYcbcrConversionFeatures *) ext; @@ -1902,6 +1910,15 @@ void anv_GetPhysicalDeviceProperties2( break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: { + VkPhysicalDeviceRobustness2PropertiesEXT *properties = (void *)ext; + properties->robustStorageBufferAccessSizeAlignment = + ANV_SSBO_BOUNDS_CHECK_ALIGNMENT; + properties->robustUniformBufferAccessSizeAlignment = + ANV_UBO_BOUNDS_CHECK_ALIGNMENT; + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT: { VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT *properties = (VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT *)ext; diff --git a/src/intel/vulkan/anv_extensions.py b/src/intel/vulkan/anv_extensions.py index 80ebb9a7f86..ab13fb2c442 100644 --- a/src/intel/vulkan/anv_extensions.py +++ b/src/intel/vulkan/anv_extensions.py @@ -155,6 +155,7 @@ EXTENSIONS = [ Extension('VK_EXT_pipeline_creation_feedback', 1, True), Extension('VK_EXT_post_depth_coverage', 1, 'device->info.gen >= 9'), Extension('VK_EXT_queue_family_foreign', 1, 'ANDROID'), + Extension('VK_EXT_robustness2', 1, True), Extension('VK_EXT_sampler_filter_minmax', 1, 'device->info.gen >= 9'), Extension('VK_EXT_scalar_block_layout', 1, True), Extension('VK_EXT_separate_stencil_usage', 1, True), -- 2.30.2