-
Implement VK_KHR_timeline_semaphore · 6846389fSean Risser authored
Timeline semaphores track a monotonically increasing uint64_t that serves as a signal to any number of threads on the device or the host. Threads and the host wait on the value of the payload to become a specific value, then unblock. Or they can signal the semaphore and update its value, unblocking all threads waiting on that value in the process. Clang's Thread Safety Analysis is not used for TimelineSemaphore as it has a bug that prevents it from properly analyzing lambdas that access guarded resources. Change-Id: Iafd95b8eac11beea21c00df87ca7ca1e51c77c64 Bug: b/147738281 Test: dEQP-VK.api.info.vulkan1p2_limits_validation.timeline_semaphore Test: dEQP-VK.synchronization.basic.timeline_semaphore.* Test: dEQP-VK.synchronization.timeline_semaphore.* Test: dEQP-VK.synchronization.op.single_queue.timeline_semaphore.* Test: dEQP-VK.synchronization.cross_instance.* Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/52148 Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Sean Risser <srisser@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Commit-Queue: Sean Risser <srisser@google.com>
6846389f
×