Fix buffer RAW hazards in MultiQueue synchronization tests
authorAnthony Pesch <apesch@nvidia.com>
Tue, 26 Mar 2019 16:24:17 +0000 (12:24 -0400)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Thu, 4 Apr 2019 18:20:48 +0000 (14:20 -0400)
commitbe9dd7fb9fccb7da40e484b10de54b1870c6a5c4
treeac6526d34753d8cf972a89225a341dcd0895428f
parent38db037997d48eca9ed86bdd134430ab03ff5ef6
Fix buffer RAW hazards in MultiQueue synchronization tests

The MultiQueue tests emit barriers between command buffers for two reasons:

1. To express the data dependencies between different pipeline stages.
2. To transfer ownership of the resource between queue families.

The exclusive sharing mode tests need both of these barriers, while the
concurrent mode tests only need to describe the data dependency.

Previously, a barrier was only emitted for the exclusive tests, causing
the concurrent tests to not have a barrier expressing the data dependencies
between the pipeline stages. Now the data dependencies are described for
both the exlusive and concurrent tests, while the ownership transfer is
only performed for exclusive tests.

Affects: dEQP-VK.synchronization.op.multi_queue.*.write_*_read_*.buffer_*

Components: Vulkan
VK-GL-CTS issue: 1650

Change-Id: Ic3bc83a7dcab8686754aea5267afeb10090038d0
(cherry picked from commit 93dc8a343c7ea67a2c8ffb694b45ff44703fbe6f)
external/vulkancts/modules/vulkan/synchronization/vktSynchronizationOperationMultiQueueTests.cpp