summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>2024-04-19 10:26:07 +0200
committerMarge Bot <emma+marge@anholt.net>2024-04-23 16:41:57 +0000
commit8b8d194bfb7bf2d732f95aaa49345205cee9438d (patch)
tree0d791adb6722820532b1bcdbb53da130730b9388
parent7de95e7742797538b12a69a7b1c946779f01e6f5 (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.txt2
-rw-r--r--docs/relnotes/new_features.txt2
-rw-r--r--src/amd/vulkan/radv_physical_device.c9
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