[Piglit] [PATCH] egl_khr_fence_sync: check for EGL_KHR_reusable_sync

Chad Versace chad.versace at linux.intel.com
Mon Aug 18 16:05:58 PDT 2014


On 08/13/2014 07:13 PM, Daniel Kurtz wrote:
> 
> 
> 
> On Thu, Aug 14, 2014 at 6:41 AM, Chad Versace <chad.versace at linux.intel.com <mailto:chad.versace at linux.intel.com>> wrote:
> 
>     On 08/07/2014 04:09 AM, Daniel Kurtz wrote:
>     > These tests all require EGL_KHR_reusable_sync.
> 
>     No they don't, at least according to the spec. Have you found a buggy driver?
>     Or... maybe I wrote the test totally wrong... I hope not.
> 
>     EGL_KHR_resuable_sync defines the sync type EGL_SYNC_REUSABLE_KHR, which this test does
>     not use according to grep, but does not define EGL_SYNC_FENCE_KHR. EGL_KHR_fence_sync
>     defines the sync type EGL_SYNC_FENCE_KHR, which this test
>     does use.
> 
>     What driver is causing you problems? Could you add a workaround to this test
>     for that driver?
> 
> 
> http://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_reusable_sync.txt
> EGL_KHR_reusable_sync defines some of the functions this test actually uses....
> AFAICT, without this extension, the following procedures and functions don't exist:
> 
> 
>     EGLSyncKHR eglCreateSyncKHR(
>                         EGLDisplay dpy,
>                         EGLenum type,
>                         const EGLint *attrib_list);
> 
>     EGLBoolean eglDestroySyncKHR(
>                         EGLDisplay dpy,
>                         EGLSyncKHR sync);
> 
>     EGLint eglClientWaitSyncKHR(
>                         EGLDisplay dpy,
>                         EGLSyncKHR sync,
>                         EGLint flags,
>                         EGLTimeKHR timeout);
> 
>     EGLBoolean eglSignalSyncKHR(
>                         EGLDisplay dpy,
>                         EGLSyncKHR sync,
>                         EGLenum mode);
> 
>     EGLBoolean eglGetSyncAttribKHR(
>                         EGLDisplay dpy,
>                         EGLSyncKHR sync,
>                         EGLint attribute,
>                         EGLint *value);

The test uses 4 of the above 5 functions, listed below. EGL_KHR_fence_sync
also provides these 4 functions (http://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_fence_sync.txt).
  eglCreateSyncKHR
  eglDestroySyncKHR
  eglClientWaitSyncKHR
  eglGetSyncAttribKHR

Function eglSignalSyncKHR, EGL_KHR_resuable_sync provides it but EGL_KHR_fence_sync
does not. The test does not use this function, because it is testing EGL_KHR_fence_sync,
not EGL_KHR_reusable_sync.




More information about the Piglit mailing list