summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>2020-04-15 11:39:28 +0200
committerMarge Bot <eric+marge@anholt.net>2020-04-29 07:29:54 +0000
commit0e6afbbe5664953ec0df399fd1e1c841ce5b337b (patch)
tree6d9f98b3997ea37a6329df79aee91e426dac20d2
parent0f1ead7b5366470dfd834e68b7b62305ac1602a8 (diff)
radv: advertise VK_EXT_robustness2
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4775>
-rw-r--r--docs/relnotes/new_features.txt2
-rw-r--r--src/amd/vulkan/radv_device.c15
-rw-r--r--src/amd/vulkan/radv_extensions.py1
3 files changed, 17 insertions, 1 deletions
diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt
index 79bb65a02eb..aec782bc549 100644
--- a/docs/relnotes/new_features.txt
+++ b/docs/relnotes/new_features.txt
@@ -13,4 +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
+VK_EXT_robustness2 on Intel, RADV.
diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c
index 10571531621..734d3cee515 100644
--- a/src/amd/vulkan/radv_device.c
+++ b/src/amd/vulkan/radv_device.c
@@ -1255,6 +1255,14 @@ void radv_GetPhysicalDeviceFeatures2(
features->overallocationBehavior = true;
break;
}
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: {
+ VkPhysicalDeviceRobustness2FeaturesEXT *features =
+ (VkPhysicalDeviceRobustness2FeaturesEXT *)ext;
+ features->robustBufferAccess2 = true;
+ features->robustImageAccess2 = true;
+ features->nullDescriptor = true;
+ break;
+ }
default:
break;
}
@@ -1886,6 +1894,13 @@ void radv_GetPhysicalDeviceProperties2(
props->lineSubPixelPrecisionBits = 4;
break;
}
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: {
+ VkPhysicalDeviceRobustness2PropertiesEXT *properties =
+ (VkPhysicalDeviceRobustness2PropertiesEXT *)ext;
+ properties->robustStorageBufferAccessSizeAlignment = 4;
+ properties->robustUniformBufferAccessSizeAlignment = 4;
+ break;
+ }
default:
break;
}
diff --git a/src/amd/vulkan/radv_extensions.py b/src/amd/vulkan/radv_extensions.py
index b647e0aa95a..f181c133364 100644
--- a/src/amd/vulkan/radv_extensions.py
+++ b/src/amd/vulkan/radv_extensions.py
@@ -137,6 +137,7 @@ EXTENSIONS = [
Extension('VK_EXT_pipeline_creation_feedback', 1, True),
Extension('VK_EXT_post_depth_coverage', 1, 'device->rad_info.chip_class >= GFX10'),
Extension('VK_EXT_queue_family_foreign', 1, True),
+ Extension('VK_EXT_robustness2', 1, True),
# Disable sample locations on GFX10 until the CTS failures have been resolved.
Extension('VK_EXT_sample_locations', 1, 'device->rad_info.chip_class < GFX10'),
Extension('VK_EXT_sampler_filter_minmax', 1, True),