X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbackends%2Fvulkan%2Fcommands_backend.cpp;h=777d1a6b8b3a17a7ca882c2e9f0a4ea5f82433bf;hb=1b4d387b74b2108f3926796d8115bee134fbf7f1;hp=2698d43173a819bcf153ee2488e1502f1979707a;hpb=d05d9963e185566f03ea348999655037617e4ba9;p=libs%2Fgl.git diff --git a/source/backends/vulkan/commands_backend.cpp b/source/backends/vulkan/commands_backend.cpp index 2698d431..777d1a6b 100644 --- a/source/backends/vulkan/commands_backend.cpp +++ b/source/backends/vulkan/commands_backend.cpp @@ -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(1); - VkClearValue *&vk_clear_values = sb.add(FrameFormat::MAX_ATTACHMENTS); + VkRenderPassBeginInfo *const &begin_info = sb.add(1); + VkClearValue *const &vk_clear_values = sb.add(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;