Check the following -
1. Vulkan ICD supports VK_KHR_external_fence_fd
2. ExternalFenceProperties and ExternalSemaphoreProperties
support Android FD.
eglCreateSync - if FD was provided import to VkFence,
else create VkFence with new FD and then
flush and submit VkFence on next vkQueueSubmit.
eglGetSyncAttrib - for status call vkGetFenceStatus.
eglDupNativeFenceFdANDROID - return FD from vkGetFenceFD call.
eglClientWaitSync - call vkWaitForFences.
eglWaitSync - dup FD, create VkSemaphore and import FD, then
flush() and add VkSemaphore to next vkQueueSubmit
as a waiting semaphore.
Extended end2end test suite with nativefence test cases.
Bug: angleproject:2517
Test: angle_end2end_tests --gtest_filter=EGLSyncTest.AndroidNativeFence_*
Change-Id: I8f6a6f4c3d71d83007f662b78377aa015a740035
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2026177
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by:
Jamie Madill <jmadill@chromium.org>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| media | Loading commit data... | |
| EGLAndroidFrameBufferTargetTest.cpp | Loading commit data... | |
| EGLBackwardsCompatibleContextTest.cpp | Loading commit data... | |
| EGLBlobCacheTest.cpp | Loading commit data... | |
| EGLChooseConfigTest.cpp | Loading commit data... | |
| EGLContextCompatibilityTest.cpp | Loading commit data... | |
| EGLContextSharingTest.cpp | Loading commit data... | |
| EGLCreateContextAttribsTest.cpp | Loading commit data... | |
| EGLDebugTest.cpp | Loading commit data... | |
| EGLDeviceCGLTest.cpp | Loading commit data... | |
| EGLDeviceTest.cpp | Loading commit data... | |
| EGLDirectCompositionTest.cpp | Loading commit data... | |
| EGLFeatureControlTest.cpp | Loading commit data... | |
| EGLIOSurfaceClientBufferTest.cpp | Loading commit data... | |
| EGLNoConfigContextTest.cpp | Loading commit data... | |
| EGLPresentPathD3D11Test.cpp | Loading commit data... | |
| EGLPrintEGLinfoTest.cpp | Loading commit data... | |
| EGLProgramCacheControlTest.cpp | Loading commit data... | |
| EGLQueryContextTest.cpp | Loading commit data... | |
| EGLRecordableTest.cpp | Loading commit data... | |
| EGLRobustnessTest.cpp | Loading commit data... | |
| EGLSanityCheckTest.cpp | Loading commit data... | |
| EGLStreamTest.cpp | Loading commit data... | |
| EGLSurfaceTest.cpp | Loading commit data... | |
| EGLSurfacelessContextTest.cpp | Loading commit data... | |
| EGLSyncControlTest.cpp | Loading commit data... | |
| EGLSyncTest.cpp | Loading commit data... | |
| EGLX11VisualTest.cpp | Loading commit data... |