Several dEQP EGL cases return "Got EGL_BAD_MATCH: eglCreateSyncKHR()" failure dEQP-EGL.functional.reusable_sync.invalid.destroy_invalid_display.qpa: <Result StatusCode="Fail">Got EGL_BAD_MATCH: eglCreateSyncKHR() at teglSyncTests.cpp:1004</Result> dEQP-EGL.functional.reusable_sync.invalid.get_invalid_attribute.qpa: <Result StatusCode="Fail">Got EGL_BAD_MATCH: eglCreateSyncKHR() at teglSyncTests.cpp:902</Result> dEQP-EGL.functional.reusable_sync.invalid.get_invalid_display.qpa: <Result StatusCode="Fail">Got EGL_BAD_MATCH: eglCreateSyncKHR() at teglSyncTests.cpp:828</Result> dEQP-EGL.functional.reusable_sync.invalid.get_invalid_value.qpa: <Result StatusCode="Fail">Got EGL_BAD_MATCH: eglCreateSyncKHR() at teglSyncTests.cpp:941</Result> dEQP-EGL.functional.reusable_sync.invalid.wait_invalid_display.qpa: <Result StatusCode="Fail">Got EGL_BAD_MATCH: eglCreateSyncKHR() at teglSyncTests.cpp:623</Result> dEQP-EGL.functional.reusable_sync.valid.create_empty_attribs.qpa: <Result StatusCode="Fail">Got EGL_BAD_MATCH: eglCreateSyncKHR() at teglSyncTests.cpp:307</Result> dEQP-EGL.functional.reusable_sync.valid.create_null_attribs.qpa: <Result StatusCode="Fail">Got EGL_BAD_MATCH: eglCreateSyncKHR() at teglSyncTests.cpp:280</Result> dEQP-EGL.functional.reusable_sync.valid.destroy.qpa: <Result StatusCode="Fail">Got EGL_BAD_MATCH: eglCreateSyncKHR() at teglSyncTests.cpp:978</Result> dEQP-EGL.functional.reusable_sync.valid.get_status.qpa: <Result StatusCode="Fail">Got EGL_BAD_MATCH: eglCreateSyncKHR() at teglSyncTests.cpp:721</Result> dEQP-EGL.functional.reusable_sync.valid.get_status_signaled.qpa: <Result StatusCode="Fail">Got EGL_BAD_MATCH: eglCreateSyncKHR() at teglSyncTests.cpp:752</Result> dEQP-EGL.functional.reusable_sync.valid.get_type.qpa: <Result StatusCode="Fail">Got EGL_BAD_MATCH: eglCreateSyncKHR() at teglSyncTests.cpp:693</Result> dEQP-EGL.functional.reusable_sync.valid.wait_forever_flush.qpa: <Result StatusCode="Fail">Got EGL_BAD_MATCH: eglCreateSyncKHR() at teglSyncTests.cpp:589</Result> dEQP-EGL.functional.reusable_sync.valid.wait_forever.qpa: <Result StatusCode="Fail">Got EGL_BAD_MATCH: eglCreateSyncKHR() at teglSyncTests.cpp:502</Result> dEQP-EGL.functional.reusable_sync.valid.wait_no_context.qpa: <Result StatusCode="Fail">Got EGL_BAD_MATCH: eglCreateSyncKHR() at teglSyncTests.cpp:544</Result> dEQP-EGL.functional.reusable_sync.valid.wait_no_timeout.qpa: <Result StatusCode="Fail">Got EGL_BAD_MATCH: eglCreateSyncKHR() at teglSyncTests.cpp:469</Result> Mesa git top commit: 389d6dedbe75defe07216ad761569a9b94f44e58 dEQP git top commit: ca988480be945772473f9256b6ae91fa6aa62bd1
All of these tests start to pass if I remove the ctx check in _eglCreateSync(). In the cases _eglGetCurrentContext() returns NULL, it needs to be checked if thats valid condition.
commit 6bf6fcfcd9a916530bfbd47351bd1f0df47c4a3d Author: Tapani Pälli <tapani.palli@intel.com> Date: Tue Oct 25 11:29:53 2016 +0300 egl: fix error handling in _eglCreateSync EGL specification requires context to be current only when sync type matches EGL_SYNC_FENCE_KHR. Fixes 25 failing dEQP tests: dEQP-EGL.functional.reusable_sync.* Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98339 Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.