Fix use of binary semaphore in signaled state
authorLars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Fri, 23 Apr 2021 10:04:44 +0000 (12:04 +0200)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Thu, 1 Jul 2021 09:42:13 +0000 (09:42 +0000)
commita22d8fe3d9ac2ffcbb47d329213095e84ec5c64d
tree7d2cd6ebdfd14c6905f4e9cd77ca466d8cd04848
parentd187e85da0b184a346f036b137a7241f9c83a625
Fix use of binary semaphore in signaled state

Vulkan spec specifies that binary semaphore waits and signals should
occur in discrete 1:1 pairs.

This change ensures that the binary semaphore signaled by
synchronizationWrapper[SECOND] is waited on before being used again,
which resolves the corresponding validation layer error.

In addition, the change fixes an issue where the second submission pair
did not correctly swap semaphore info.

Components: Vulkan

Affects:
dEQP-VK.synchronization.basic.binary_semaphore.multi_queue
dEQP-VK.synchronization.basic.binary_semaphore.multi_queue_typed
dEQP-VK.synchronization.basic.timeline_semaphore.multi_queue

VK-GL-CTS Issue: 2910

Change-Id: Id2fb2211a43150e3acb5c07dd6c205c7a42296d5
(cherry picked from commit a017db3c0d1fbf89f30253254d57fb869f57a430)
external/vulkancts/modules/vulkan/synchronization/vktSynchronizationBasicSemaphoreTests.cpp