Mesa (master): radv: advertise VK_EXT_robustness2

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Apr 29 07:40:22 UTC 2020


Module: Mesa
Branch: master
Commit: 0e6afbbe5664953ec0df399fd1e1c841ce5b337b
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0e6afbbe5664953ec0df399fd1e1c841ce5b337b

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Wed Apr 15 11:39:28 2020 +0200

radv: advertise VK_EXT_robustness2

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4775>

---

 docs/relnotes/new_features.txt    |  2 +-
 src/amd/vulkan/radv_device.c      | 15 +++++++++++++++
 src/amd/vulkan/radv_extensions.py |  1 +
 3 files changed, 17 insertions(+), 1 deletion(-)

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),



More information about the mesa-commit mailing list