}
vk.BeginCommandBuffer(buffer, begin_info);
+ last_pipeline = 0;
}
void VulkanCommands::begin_render_pass(bool clear, const ClearValue *clear_values)
current_pool->primary.next_buffer = 0;
current_pool->secondary.next_buffer = 0;
}
+
+ device.get_descriptor_pool().begin_frame();
}
void VulkanCommands::submit_frame(Semaphore *wait_sem, Semaphore *signal_sem)
begin_render_pass(false, 0);
pipeline_state->refresh();
- pipeline_state->apply(pass_buffer, frame_index, fb_is_swapchain);
+ pipeline_state->apply(pass_buffer, last_pipeline, frame_index, fb_is_swapchain);
+ last_pipeline = pipeline_state;
unsigned first_index = batch.get_offset()/batch.get_index_size();
vk.CmdDrawIndexed(pass_buffer, batch.size(), count, first_index, 0, 0);
}