Module: Mesa Branch: main Commit: f576ce3340d3e4fc645e79d945abacb8fe19cffd URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f576ce3340d3e4fc645e79d945abacb8fe19cffd
Author: Samuel Pitoiset <samuel.pitoi...@gmail.com> Date: Tue Dec 5 17:59:26 2023 +0100 radv: advertise VK_KHR_vertex_attribute_divisor This is a promotion from the EXT, except the new property supportsNonZeroFirstInstance which should already be supported. Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26595> --- docs/features.txt | 1 + docs/relnotes/new_features.txt | 1 + src/amd/vulkan/radv_physical_device.c | 6 ++++-- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/features.txt b/docs/features.txt index 002fd534898..12079e187b4 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -536,6 +536,7 @@ Khronos extensions that are not part of any Vulkan version: VK_KHR_surface_protected_capabilities DONE (anv, lvp, nvk, radv, v3dv, vn) VK_KHR_swapchain DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn) VK_KHR_swapchain_mutable_format DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn) + VK_KHR_vertex_attribute_divisor DONE (radv) VK_KHR_wayland_surface DONE (anv, dzn, lvp, nvk, panvk, radv, tu, v3dv, vn) VK_KHR_workgroup_memory_explicit_layout DONE (anv, nvk, hasvk, radv, v3dv) VK_KHR_win32_keyed_mutex not started diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt index b5acc8181ca..2507b962bae 100644 --- a/docs/relnotes/new_features.txt +++ b/docs/relnotes/new_features.txt @@ -17,3 +17,4 @@ GL_ARB_viewport_array on Asahi GL_ARB_fragment_layer_viewport on Asahi GL_ARB_cull_distance on Asahi VK_KHR_calibrated_timestamps on RADV +VK_KHR_vertex_attribute_divisor on RADV diff --git a/src/amd/vulkan/radv_physical_device.c b/src/amd/vulkan/radv_physical_device.c index b891ffde298..aaa03f624f1 100644 --- a/src/amd/vulkan/radv_physical_device.c +++ b/src/amd/vulkan/radv_physical_device.c @@ -478,6 +478,7 @@ radv_physical_device_get_supported_extensions(const struct radv_physical_device .KHR_timeline_semaphore = true, .KHR_uniform_buffer_standard_layout = true, .KHR_variable_pointers = true, + .KHR_vertex_attribute_divisor = true, .KHR_video_queue = !!(device->instance->perftest_flags & RADV_PERFTEST_VIDEO_DECODE), .KHR_video_decode_queue = !!(device->instance->perftest_flags & RADV_PERFTEST_VIDEO_DECODE), .KHR_video_decode_h264 = VIDEO_CODEC_H264DEC && !!(device->instance->perftest_flags & RADV_PERFTEST_VIDEO_DECODE), @@ -761,7 +762,7 @@ radv_physical_device_get_features(const struct radv_physical_device *pdevice, st .conditionalRendering = true, .inheritedConditionalRendering = false, - /* VK_EXT_vertex_attribute_divisor */ + /* VK_KHR_vertex_attribute_divisor */ .vertexAttributeInstanceRateDivisor = true, .vertexAttributeInstanceRateZeroDivisor = true, @@ -1502,8 +1503,9 @@ radv_get_physical_device_properties(struct radv_physical_device *pdevice) p->shaderCoreFeatures = 0; p->activeComputeUnitCount = pdevice->rad_info.num_cu; - /* VK_EXT_vertex_attribute_divisor */ + /* VK_KHR_vertex_attribute_divisor */ p->maxVertexAttribDivisor = UINT32_MAX; + p->supportsNonZeroFirstInstance = true; /* VK_EXT_conservative_rasterization */ p->primitiveOverestimationSize = 0;