-
[vulkan] Simplify vk::Semaphore implementation. · 43e33165David 'Digit' Turner authored
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>
43e33165
×