1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2024-12-01 16:24:12 +01:00

[dxvk] Lock queue around acquireNextImage

This commit is contained in:
Philip Rebohle 2018-06-26 15:33:43 +02:00
parent 9cae049b53
commit eb39cf4b11
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99

View File

@ -36,6 +36,10 @@ namespace dxvk {
Rc<DxvkImageView> DxvkSwapchain::getImageView(
const Rc<DxvkSemaphore>& wakeSync) {
// AcquireNextImage might interfere with the Vulkan
// device queue internally, so we should lock it
m_device->lockSubmission();
VkResult status = this->acquireNextImage(wakeSync);
if (status == VK_ERROR_OUT_OF_DATE_KHR) {
@ -43,6 +47,8 @@ namespace dxvk {
status = this->acquireNextImage(wakeSync);
}
m_device->unlockSubmission();
if (status != VK_SUCCESS
&& status != VK_SUBOPTIMAL_KHR)
throw DxvkError("DxvkSwapchain: Failed to acquire image");