Module: Mesa Branch: master Commit: 0ce6b625a2868c319ca0862bc090912dc95b7978 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0ce6b625a2868c319ca0862bc090912dc95b7978
Author: Samuel Pitoiset <[email protected]> Date: Mon Mar 15 15:31:05 2021 +0100 vulkan: add common entrypoints for VK_KHR_create_renderpass2 Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9601> --- src/vulkan/util/vk_render_pass.c | 56 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/src/vulkan/util/vk_render_pass.c b/src/vulkan/util/vk_render_pass.c index 0dd8da59725..fa736ec9ccc 100644 --- a/src/vulkan/util/vk_render_pass.c +++ b/src/vulkan/util/vk_render_pass.c @@ -233,3 +233,59 @@ vk_common_CreateRenderPass(VkDevice _device, return result; } + +VKAPI_ATTR void VKAPI_CALL +vk_common_CmdBeginRenderPass(VkCommandBuffer commandBuffer, + const VkRenderPassBeginInfo* pRenderPassBegin, + VkSubpassContents contents) +{ + /* We don't have a vk_command_buffer object but we can assume, since we're + * using common dispatch, that it's a vk_object of some sort. + */ + struct vk_object_base *disp = (struct vk_object_base *)commandBuffer; + + VkSubpassBeginInfo info = { + .sType = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO, + .contents = contents, + }; + + disp->device->dispatch_table.CmdBeginRenderPass2(commandBuffer, + pRenderPassBegin, &info); +} + +VKAPI_ATTR void VKAPI_CALL +vk_common_CmdEndRenderPass(VkCommandBuffer commandBuffer) +{ + /* We don't have a vk_command_buffer object but we can assume, since we're + * using common dispatch, that it's a vk_object of some sort. + */ + struct vk_object_base *disp = (struct vk_object_base *)commandBuffer; + + VkSubpassEndInfo info = { + .sType = VK_STRUCTURE_TYPE_SUBPASS_END_INFO, + }; + + disp->device->dispatch_table.CmdEndRenderPass2(commandBuffer, &info); +} + +VKAPI_ATTR void VKAPI_CALL +vk_common_CmdNextSubpass(VkCommandBuffer commandBuffer, + VkSubpassContents contents) +{ + /* We don't have a vk_command_buffer object but we can assume, since we're + * using common dispatch, that it's a vk_object of some sort. + */ + struct vk_object_base *disp = (struct vk_object_base *)commandBuffer; + + VkSubpassBeginInfo begin_info = { + .sType = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO, + .contents = contents, + }; + + VkSubpassEndInfo end_info = { + .sType = VK_STRUCTURE_TYPE_SUBPASS_END_INFO, + }; + + disp->device->dispatch_table.CmdNextSubpass2(commandBuffer, &begin_info, + &end_info); +} _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
