[vulkan] Simplify vk::Semaphore implementation.
This CL simplifies the implementation of vk::Semaphore by getting
rid of vk::Semaphore::Impl (moving its fields into vk::Semaphore
itself).
This requires a minor change to the vk::Semaphore constructor which
now takes an allocator parameter. The latter is used to allocate
the "External" instance on demand. Before the CL, said instance
was 'allocated' from a fixed storage area inside the Impl class.
Note that this doesn't change the external semaphore's behaviour.
In particular, only one implementation can live in the source tree
at the moment, while the Vulkan specification makes it clear that
it should be possible to export a single VkSemaphore to several types
of platform-specific handles (though this doesn't seem to be tested
by the Vulkan-CTS). This last issue will be addressed in a future CL.
Bug: 140421736
Change-Id: I3610d9e7e8cb8e49368b658d157408cbd23ee6db
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39052
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Reviewed-by:
Ben Clayton <bclayton@google.com>
Tested-by:
David Turner <digit@google.com>
Showing
Please
register
or
sign in
to comment