update parallel rdp

This commit is contained in:
Logan McNaughton committed 2022-12-20 09:32:55 -05:00
1 parent 06a962d607
commit 08a78f6073
46 files changed
+1896 -631

No files matched your search

+24 -2
View File
@@ -46,15 +46,37 @@ void SemaphoreHolder::recycle_semaphore()
if (internal_sync)
{
if (semaphore_type == VK_SEMAPHORE_TYPE_TIMELINE_KHR || external_compatible_features || is_signalled())
if (semaphore_type == VK_SEMAPHORE_TYPE_TIMELINE_KHR || external_compatible_features)
{
device->destroy_semaphore_nolock(semaphore);
}
else if (is_signalled())
{
// We can't just destroy a semaphore if we don't know who signals it (e.g. WSI).
// Have to consume it by waiting then recycle.
if (signal_is_foreign_queue)
device->consume_semaphore_nolock(semaphore);
else
device->destroy_semaphore_nolock(semaphore);
}
else
device->recycle_semaphore_nolock(semaphore);
}
else
{
if (semaphore_type == VK_SEMAPHORE_TYPE_TIMELINE_KHR || external_compatible_features || is_signalled())
if (semaphore_type == VK_SEMAPHORE_TYPE_TIMELINE_KHR || external_compatible_features)
{
device->destroy_semaphore(semaphore);
}
else if (is_signalled())
{
// We can't just destroy a semaphore if we don't know who signals it (e.g. WSI).
// Have to consume it by waiting then recycle.
if (signal_is_foreign_queue)
device->consume_semaphore(semaphore);
else
device->destroy_semaphore(semaphore);
}
else
device->recycle_semaphore(semaphore);
}