mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-03-11 09:10:32 +01:00
panvk: advertise VK_EXT_nested_command_buffer on v10+
The CSF backend's cs_call() is a hardware call/return instruction that nests naturally. The existing CmdExecuteCommands implementation already performs caller-callee state merging without checking command buffer level, so no functional changes are needed. The hardware call stack has 8 levels. The kernel consumes one for the ringbuffer CALL, and two are reserved for future internal driver use, leaving maxCommandBufferNestingLevel at 5. Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com> Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40120>
This commit is contained in:
parent
e43caba5f4
commit
b442dc23fd
3 changed files with 11 additions and 1 deletions
|
|
@ -656,7 +656,7 @@ Khronos extensions that are not part of any Vulkan version:
|
|||
VK_EXT_mesh_shader DONE (anv/gfx12.5+, lvp, radv, vn)
|
||||
VK_EXT_multi_draw DONE (anv, hasvk, hk, lvp, nvk, radv, tu, vn, v3dv)
|
||||
VK_EXT_multisampled_render_to_single_sampled DONE (lvp, vn, panvk, tu)
|
||||
VK_EXT_nested_command_buffer DONE (anv, lvp, nvk, radv, tu, vn)
|
||||
VK_EXT_nested_command_buffer DONE (anv, lvp, nvk, panvk/v10+, radv, tu, vn)
|
||||
VK_EXT_non_seamless_cube_map DONE (anv, hasvk, hk, lvp, nvk, panvk, radv, tu, vn)
|
||||
VK_EXT_pageable_device_local_memory DONE (lvp)
|
||||
VK_EXT_pci_bus_info DONE (anv, hasvk, nvk, radv, vn)
|
||||
|
|
|
|||
|
|
@ -29,3 +29,4 @@ cl_khr_subgroup_extended_types on asahi, iris, llvmpipe, radeonsi and zink
|
|||
cl_khr_subgroup_non_uniform_arithmetic on asahi, llvmpipe, radeonsi and zink
|
||||
cl_khr_subgroup_non_uniform_vote on asahi, iris, llvmpipe, radeonsi and zink
|
||||
cl_khr_subgroup_rotate on asahi, llvmpipe and zink
|
||||
VK_EXT_nested_command_buffer on panvk
|
||||
|
|
|
|||
|
|
@ -164,6 +164,7 @@ panvk_per_arch(get_physical_device_extensions)(
|
|||
.EXT_legacy_dithering = true,
|
||||
.EXT_line_rasterization = true,
|
||||
.EXT_load_store_op_none = true,
|
||||
.EXT_nested_command_buffer = PAN_ARCH >= 10,
|
||||
.EXT_non_seamless_cube_map = true,
|
||||
.EXT_mutable_descriptor_type = PAN_ARCH >= 9,
|
||||
.EXT_multisampled_render_to_single_sampled = true,
|
||||
|
|
@ -558,6 +559,11 @@ panvk_per_arch(get_physical_device_features)(
|
|||
/* VK_EXT_legacy_dithering */
|
||||
.legacyDithering = true,
|
||||
|
||||
/* VK_EXT_nested_command_buffer */
|
||||
.nestedCommandBuffer = PAN_ARCH >= 10,
|
||||
.nestedCommandBufferRendering = PAN_ARCH >= 10,
|
||||
.nestedCommandBufferSimultaneousUse = PAN_ARCH >= 10,
|
||||
|
||||
/* VK_EXT_non_seamless_cube_map */
|
||||
.nonSeamlessCubeMap = true,
|
||||
|
||||
|
|
@ -1106,6 +1112,9 @@ panvk_per_arch(get_physical_device_properties)(
|
|||
.graphicsPipelineLibraryFastLinking = true,
|
||||
.graphicsPipelineLibraryIndependentInterpolationDecoration = true,
|
||||
|
||||
/* VK_EXT_nested_command_buffer */
|
||||
.maxCommandBufferNestingLevel = 5,
|
||||
|
||||
/* VK_EXT_provoking_vertex */
|
||||
.provokingVertexModePerPipeline = false,
|
||||
.transformFeedbackPreservesTriangleFanProvokingVertex = false,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue