diff options
author | Samuel Pitoiset <samuel.pitoiset@gmail.com> | 2024-04-19 10:26:07 +0200 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2024-04-23 16:41:57 +0000 |
commit | 8b8d194bfb7bf2d732f95aaa49345205cee9438d (patch) | |
tree | 0d791adb6722820532b1bcdbb53da130730b9388 | |
parent | 7de95e7742797538b12a69a7b1c946779f01e6f5 (diff) |
radv: advertise VK_EXT_nested_command_buffer
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28826>
-rw-r--r-- | docs/features.txt | 2 | ||||
-rw-r--r-- | docs/relnotes/new_features.txt | 2 | ||||
-rw-r--r-- | src/amd/vulkan/radv_physical_device.c | 9 |
3 files changed, 11 insertions, 2 deletions
diff --git a/docs/features.txt b/docs/features.txt index 273a6e503d2..a314ae05469 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -601,7 +601,7 @@ Khronos extensions that are not part of any Vulkan version: VK_EXT_mesh_shader DONE (anv/gfx12.5+, lvp, radv) VK_EXT_multi_draw DONE (anv, hasvk, lvp, nvk, radv, tu, vn, v3dv) VK_EXT_multisampled_render_to_single_sampled DONE (lvp) - VK_EXT_nested_command_buffer DONE (anv, lvp, nvk) + VK_EXT_nested_command_buffer DONE (anv, lvp, nvk, radv) VK_EXT_non_seamless_cube_map DONE (anv, hasvk, lvp, nvk, radv, tu, vn) VK_EXT_pageable_device_local_memory DONE (lvp) VK_EXT_pci_bus_info DONE (anv, hasvk, nvk, radv, vn) diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt index f0bfb20b0d7..c4d0c24e004 100644 --- a/docs/relnotes/new_features.txt +++ b/docs/relnotes/new_features.txt @@ -16,4 +16,4 @@ VK_EXT_device_address_binding_report on RADV VK_EXT_external_memory_dma_buf for lavapipe VK_EXT_queue_family_foreign for lavapipe VK_EXT_shader_object on RADV -VK_EXT_nested_command_buffer on NVK +VK_EXT_nested_command_buffer on NVK and RADV diff --git a/src/amd/vulkan/radv_physical_device.c b/src/amd/vulkan/radv_physical_device.c index b1db5b5584e..35ffb1f4ddc 100644 --- a/src/amd/vulkan/radv_physical_device.c +++ b/src/amd/vulkan/radv_physical_device.c @@ -633,6 +633,7 @@ radv_physical_device_get_supported_extensions(const struct radv_physical_device .EXT_mesh_shader = radv_taskmesh_enabled(pdev), .EXT_multi_draw = true, .EXT_mutable_descriptor_type = true, /* Trivial promotion from VALVE. */ + .EXT_nested_command_buffer = true, .EXT_non_seamless_cube_map = true, .EXT_pci_bus_info = true, #ifndef _WIN32 @@ -1205,6 +1206,11 @@ radv_physical_device_get_features(const struct radv_physical_device *pdev, struc /* VK_EXT_address_binding_report */ .reportAddressBinding = true, + + /* VK_EXT_nested_command_buffer */ + .nestedCommandBuffer = true, + .nestedCommandBufferRendering = true, + .nestedCommandBufferSimultaneousUse = true, }; } @@ -1898,6 +1904,9 @@ radv_get_physical_device_properties(struct radv_physical_device *pdev) uint64_t os_page_size = 4096; os_get_page_size(&os_page_size); p->minPlacedMemoryMapAlignment = os_page_size; + + /* VK_EXT_nested_command_buffer */ + p->maxCommandBufferNestingLevel = UINT32_MAX; } static VkResult |