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

Reply via email to