]> git.tdb.fi Git - libs/gl.git/blobdiff - source/backends/vulkan/commands_backend.cpp
Fix issues from the command recorder refactoring
[libs/gl.git] / source / backends / vulkan / commands_backend.cpp
index 2698d43173a819bcf153ee2488e1502f1979707a..777d1a6b8b3a17a7ca882c2e9f0a4ea5f82433bf 100644 (file)
@@ -110,8 +110,8 @@ void VulkanCommands::begin_render_pass(bool clear, const ClearValue *clear_value
        begin_buffer(render_pass);
 
        StructureBuilder sb(pass_begin_info, 2);
-       VkRenderPassBeginInfo *&begin_info = sb.add<VkRenderPassBeginInfo>(1);
-       VkClearValue *&vk_clear_values = sb.add<VkClearValue>(FrameFormat::MAX_ATTACHMENTS);
+       VkRenderPassBeginInfo *const &begin_info = sb.add<VkRenderPassBeginInfo>(1);
+       VkClearValue *const &vk_clear_values = sb.add<VkClearValue>(FrameFormat::MAX_ATTACHMENTS);
 
        begin_info->sType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO;
        begin_info->renderPass = handle_cast<::VkRenderPass>(render_pass);
@@ -149,7 +149,7 @@ void VulkanCommands::begin_render_pass(bool clear, const ClearValue *clear_value
 void VulkanCommands::end_render_pass()
 {
        const VulkanFunctions &vk = device.get_functions();
-       VulkanCommandRecorder vkCmd(vk, pass_buffer);
+       VulkanCommandRecorder vkCmd(vk, primary_buffer);
 
        vk.EndCommandBuffer(pass_buffer);
 
@@ -253,12 +253,11 @@ void VulkanCommands::draw_instanced(const Batch &batch, unsigned count)
        if(!pipeline_state)
                throw invalid_operation("VulkanCommands::draw_instanced");
 
-       const VulkanFunctions &vk = device.get_functions();
-       VulkanCommandRecorder vkCmd(vk, pass_buffer);
-
        if(!framebuffer)
                 begin_render_pass(false, 0);
 
+       VulkanCommandRecorder vkCmd(device.get_functions(), pass_buffer);
+
        pipeline_state->refresh();
        pipeline_state->apply(vkCmd, last_pipeline, frame_index, fb_is_swapchain);
        last_pipeline = pipeline_state;