diff --git a/docs/features.txt b/docs/features.txt index 0e7bebdd8ec..6b589fb0706 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -526,6 +526,7 @@ Khronos extensions that are not part of any Vulkan version: VK_KHR_load_store_op_none DONE (anv, nvk, radv, tu, v3dv) VK_KHR_maintenance5 DONE (anv, lvp, nvk, radv, tu, v3dv, vn) VK_KHR_maintenance6 DONE (anv, lvp, nvk, radv, tu) + VK_KHR_maintenance7 DONE (radv) VK_KHR_performance_query DONE (anv, radv/gfx10.3+, tu, v3dv) VK_KHR_pipeline_executable_properties DONE (anv, nvk, panvk, hasvk, radv, tu, v3dv) VK_KHR_pipeline_library DONE (anv, lvp, nvk, panvk, radv, tu, vn) diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt index 9ce924a58cc..4a32def70fc 100644 --- a/docs/relnotes/new_features.txt +++ b/docs/relnotes/new_features.txt @@ -3,3 +3,4 @@ VK_EXT_legacy_vertex_attributes on lavapipe, ANV, Turnip and RADV VK_MESA_image_alignment_control on RADV VK_EXT_shader_replicated_composites on ANV, dozen, hasvk, lavapipe, nvk, RADV, and Turnip VK_KHR_maintenance5 on v3dv +VK_KHR_maintenance7 on RADV diff --git a/src/amd/vulkan/radv_physical_device.c b/src/amd/vulkan/radv_physical_device.c index bb872357e55..05ea3f3e37a 100644 --- a/src/amd/vulkan/radv_physical_device.c +++ b/src/amd/vulkan/radv_physical_device.c @@ -515,6 +515,7 @@ radv_physical_device_get_supported_extensions(const struct radv_physical_device .KHR_maintenance4 = true, .KHR_maintenance5 = true, .KHR_maintenance6 = true, + .KHR_maintenance7 = true, .KHR_map_memory2 = true, .KHR_multiview = true, .KHR_performance_query = radv_perf_query_supported(pdev), @@ -1220,6 +1221,9 @@ radv_physical_device_get_features(const struct radv_physical_device *pdev, struc /* VK_EXT_shader_replicated_composites */ .shaderReplicatedComposites = true, + + /* VK_KHR_maintenance7 */ + .maintenance7 = true, }; } @@ -1924,6 +1928,16 @@ radv_get_physical_device_properties(struct radv_physical_device *pdev) p->supportedImageAlignmentMask = (4 * 1024) | (64 * 1024); if (gfx11plus) p->supportedImageAlignmentMask |= 256 * 1024; + + /* VK_KHR_maintenance7 */ + p->robustFragmentShadingRateAttachmentAccess = true; + p->separateDepthStencilAttachmentAccess = true; + p->maxDescriptorSetTotalUniformBuffersDynamic = MAX_DYNAMIC_UNIFORM_BUFFERS; + p->maxDescriptorSetTotalStorageBuffersDynamic = MAX_DYNAMIC_STORAGE_BUFFERS; + p->maxDescriptorSetTotalBuffersDynamic = MAX_DYNAMIC_BUFFERS; + p->maxDescriptorSetUpdateAfterBindTotalUniformBuffersDynamic = MAX_DYNAMIC_UNIFORM_BUFFERS; + p->maxDescriptorSetUpdateAfterBindTotalStorageBuffersDynamic = MAX_DYNAMIC_STORAGE_BUFFERS; + p->maxDescriptorSetUpdateAfterBindTotalBuffersDynamic = MAX_DYNAMIC_BUFFERS; } static VkResult