renderer_vulkan: Reduce wait semaphores and wait for present before destroying

This commit is contained in:
PabloMK7 2024-07-13 23:49:26 +02:00
parent 63cbd90049
commit e74cee245e
2 changed files with 4 additions and 3 deletions

View File

@ -73,6 +73,7 @@ RendererVulkan::RendererVulkan(Core::System& system, Pica::PicaCore& pica_,
RendererVulkan::~RendererVulkan() {
vk::Device device = instance.GetDevice();
scheduler.Finish();
main_window.WaitPresent();
device.waitIdle();
device.destroyShaderModule(present_vertex_shader);

View File

@ -68,9 +68,9 @@ void MasterSemaphoreTimeline::SubmitWork(vk::CommandBuffer cmdbuf, vk::Semaphore
const std::array signal_values{signal_value, u64(0)};
const std::array signal_semaphores{Handle(), signal};
const u32 num_wait_semaphores = wait ? 2U : 1U;
const std::array wait_values{signal_value - 1, u64(1)};
const std::array wait_semaphores{Handle(), wait};
const u32 num_wait_semaphores = wait ? 1U : 0U;
const std::array wait_values{u64(1)};
const std::array wait_semaphores{wait};
static constexpr std::array<vk::PipelineStageFlags, 2> wait_stage_masks = {
vk::PipelineStageFlagBits::eAllCommands,