Bug 98339 - dEQP-EGL: Got EGL_BAD_MATCH: eglCreateSyncKHR()
Summary: dEQP-EGL: Got EGL_BAD_MATCH: eglCreateSyncKHR()
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: EGL (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: mesa-dev
QA Contact: mesa-dev
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 98315
  Show dependency treegraph
 
Reported: 2016-10-20 06:38 UTC by Randy
Modified: 2016-10-27 05:50 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Randy 2016-10-20 06:38:44 UTC
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
Comment 1 Tapani Pälli 2016-10-20 08:37:22 UTC
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.
Comment 2 Tapani Pälli 2016-10-27 05:50:48 UTC
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.