aboutsummaryrefslogtreecommitdiff
path: root/src/strategies/low_latency2/device_strategy.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/strategies/low_latency2/device_strategy.cc')
-rw-r--r--src/strategies/low_latency2/device_strategy.cc11
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