[Piglit] [PATCH] egl_khr_fence_sync: check for EGL_KHR_reusable_sync

Daniel Kurtz djkurtz at chromium.org
Mon Aug 18 19:46:05 PDT 2014


On Tue, Aug 19, 2014 at 7:05 AM, Chad Versace
<chad.versace at linux.intel.com> wrote:
> 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.

Oops, I didn't notice those functions are defined in both extensions.

I think the original reason why I wrote this patch was to address
build breakage due to the incomplete dispatch (using symbol
eglCreateSyncKHR instead of egl-looked-up peglCreatSyncKHR).
This is fixed by Ilja's patch, which I assume he is going to send
upstream shortly.

-Dan


More information about the Piglit mailing list