Commit
6846389f
authored
by
Committed by
swiftshader-scoped@luci-project-accounts.iam.gserviceaccount.com
Implement VK_KHR_timeline_semaphore
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>
Showing
src/Vulkan/VkTimelineSemaphore.cpp
0 → 100644
src/Vulkan/VkTimelineSemaphore.hpp
0 → 100644
Please
register
or
sign in
to comment