diff options
Diffstat (limited to 'src/strategies/low_latency2/device_strategy.cc')
| -rw-r--r-- | src/strategies/low_latency2/device_strategy.cc | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/strategies/low_latency2/device_strategy.cc b/src/strategies/low_latency2/device_strategy.cc index f82098d..81934ba 100644 --- a/src/strategies/low_latency2/device_strategy.cc +++ b/src/strategies/low_latency2/device_strategy.cc @@ -112,19 +112,18 @@ void LowLatency2DeviceStrategy::notify_latency_sleep_nv( const auto lock = std::scoped_lock{this->mutex}; + const auto semaphore_signal = + SemaphoreSignal{info.signalSemaphore, info.value}; + const auto iter = this->swapchain_monitors.find(swapchain); if (iter == std::end(this->swapchain_monitors)) { // If we can't find the swapchain we have to signal the semaphore // anyway. We must *never* discard these semaphores without signalling // them first. - const auto ssi = VkSemaphoreSignalInfo{ - .sType = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO, - .semaphore = info.signalSemaphore, - .value = info.value}; - THROW_NOT_VKSUCCESS(device.vtable.SignalSemaphore(device.device, &ssi)); + semaphore_signal.signal(this->device); return; } - iter->second.notify_semaphore(info.signalSemaphore, info.value); + iter->second.notify_semaphore(semaphore_signal); } } // namespace low_latency |
