[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