From 4c8d44aed05bf82da9bf78c6a3b4013897dbb45a Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Fri, 28 Jun 2024 09:56:45 +0200 Subject: [PATCH] radv: move radv_CmdPreprocessGeneratedCommandsNV() to radv_cmd_buffer.c Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_cmd_buffer.c | 23 +++++++++++++++++++ .../vulkan/radv_device_generated_commands.c | 23 ------------------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index de8f149da3e..f47c671fb0b 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -11418,6 +11418,29 @@ radv_CmdDrawMeshTasksIndirectCountEXT(VkCommandBuffer commandBuffer, VkBuffer _b static void radv_dgc_before_dispatch(struct radv_cmd_buffer *cmd_buffer); static void radv_dgc_after_dispatch(struct radv_cmd_buffer *cmd_buffer); +VKAPI_ATTR void VKAPI_CALL +radv_CmdPreprocessGeneratedCommandsNV(VkCommandBuffer commandBuffer, + const VkGeneratedCommandsInfoNV *pGeneratedCommandsInfo) +{ + VK_FROM_HANDLE(radv_cmd_buffer, cmd_buffer, commandBuffer); + VK_FROM_HANDLE(radv_indirect_command_layout, layout, pGeneratedCommandsInfo->indirectCommandsLayout); + VK_FROM_HANDLE(radv_pipeline, pipeline, pGeneratedCommandsInfo->pipeline); + + if (!radv_dgc_can_preprocess(layout, pipeline)) + return; + + /* VK_EXT_conditional_rendering says that copy commands should not be + * affected by conditional rendering. + */ + const bool old_predicating = cmd_buffer->state.predicating; + cmd_buffer->state.predicating = false; + + radv_prepare_dgc(cmd_buffer, pGeneratedCommandsInfo, false); + + /* Restore conditional rendering. */ + cmd_buffer->state.predicating = old_predicating; +} + static void radv_dgc_execute_ib(struct radv_cmd_buffer *cmd_buffer, const VkGeneratedCommandsInfoNV *pGeneratedCommandsInfo) { diff --git a/src/amd/vulkan/radv_device_generated_commands.c b/src/amd/vulkan/radv_device_generated_commands.c index a226d2b4459..3cea7ba1a18 100644 --- a/src/amd/vulkan/radv_device_generated_commands.c +++ b/src/amd/vulkan/radv_device_generated_commands.c @@ -2344,29 +2344,6 @@ radv_dgc_can_preprocess(const struct radv_indirect_command_layout *layout, struc return true; } -VKAPI_ATTR void VKAPI_CALL -radv_CmdPreprocessGeneratedCommandsNV(VkCommandBuffer commandBuffer, - const VkGeneratedCommandsInfoNV *pGeneratedCommandsInfo) -{ - VK_FROM_HANDLE(radv_cmd_buffer, cmd_buffer, commandBuffer); - VK_FROM_HANDLE(radv_indirect_command_layout, layout, pGeneratedCommandsInfo->indirectCommandsLayout); - VK_FROM_HANDLE(radv_pipeline, pipeline, pGeneratedCommandsInfo->pipeline); - - if (!radv_dgc_can_preprocess(layout, pipeline)) - return; - - /* VK_EXT_conditional_rendering says that copy commands should not be - * affected by conditional rendering. - */ - const bool old_predicating = cmd_buffer->state.predicating; - cmd_buffer->state.predicating = false; - - radv_prepare_dgc(cmd_buffer, pGeneratedCommandsInfo, false); - - /* Restore conditional rendering. */ - cmd_buffer->state.predicating = old_predicating; -} - /* Always need to call this directly before draw due to dependence on bound state. */ static void radv_prepare_dgc_graphics(struct radv_cmd_buffer *cmd_buffer, const VkGeneratedCommandsInfoNV *pGeneratedCommandsInfo,