Vulkan-ValidationLayers icon indicating copy to clipboard operation
Vulkan-ValidationLayers copied to clipboard

Missing swapchain-related semaphore synchronization validation

Open ShabbyX opened this issue 3 years ago • 1 comments

Context: see the commit message and tests added in this ANGLE change: https://chromium-review.googlesource.com/c/angle/angle/+/4194182

A bug was found where ANGLE would acquire a swapchain image, but make a submission without waiting on the acquire semaphore. The semaphore was waited on by a later submission. This reportedly resulted in visible corruption. However, VVL didn't catch this.

To reproduce, revert the above change in ANGLE but keep the tests. Running the tests^1 should then reproduce the bug. Observe no VVL errors.

^1 EGLSurfaceTest.WaitSemaphoreAddedAfterCommands/ES3_Vulkan_NoFixture and EGLSurfaceTest.CommandsSubmittedWithoutWaitSemaphore/ES3_Vulkan_NoFixture

ShabbyX avatar Feb 08 '23 14:02 ShabbyX

I can confirm that synchronization queue submit validation does not detect missing acquire semaphore wait. Added repro case: https://github.com/artem-lunarg/Vulkan-ValidationLayers/commit/048ec938a0a7e9c06484c813254504dd3fef5023 The test should fail but because acquire access is not detected it passes. When the fix is ready, the test should be updated to expect an error.

artem-lunarg avatar Apr 02 '24 09:04 artem-lunarg