[Mesa-dev] [PATCH 0/7] egl: Fixes and cleanups for EGLSync

Chad Versace chadversary at chromium.org
Wed Sep 28 06:28:02 UTC 2016


Fixes a deadlock in
dEQP-EGL.functional.fence_sync.invalid.get_invalid_value.

With the deadlock fixed, it's now possible to run all of
'dEQP-EGL.functional.fence_sync.*'.

The patch series' main goal is to unify the attribute parsing between
    eglCreateSyncKHR(..., EGLint *attrib_list) and
    eglCreateSync(..., EGLAttrib *attrib_list)
During the unification, some bugs found by inspection are fixed.

Tested with the following. No regressions found. Ratios are pass/fail.

                                                BEFORE     AFTER
  dEQP-EGL.functional.fence_sync.*              deadlock   27/0
  dEQP-EGL.functional.reusable_sync.* :         8/17       8/17
  piglit egl_khr_fence_sync                     pass       pass

This series lives at
    git://git.kiwitree.net/~chadv/mesa  review/fences-v02

Chad Versace (7):
  egl: Fix missing unlock in eglGetSyncAttribKHR
  egl: Fix truncation error in _eglParseSyncAttribList64
  egl: Fix an error path in eglCreateSync*
  egl: Add _eglConvertIntsToAttribs()
  egl: Cleanup control flow in _eglParseSyncAttribList
  egl: Drop duplicate check on EGLSync type
  egl: Unify the EGLint/EGLAttrib paths in eglCreateSync*

 src/egl/drivers/dri2/egl_dri2.c |  6 +--
 src/egl/main/eglapi.c           | 88 ++++++++++++++++++++++++++++++++++++-----
 src/egl/main/eglapi.h           |  5 ++-
 src/egl/main/eglsync.c          | 59 ++++++---------------------
 src/egl/main/eglsync.h          |  2 +-
 5 files changed, 95 insertions(+), 65 deletions(-)

-- 
2.10.0



More information about the mesa-dev mailing list