102f4aeb0Sopenharmony_ci<?xml version="1.0" encoding="UTF-8" standalone="no"?> 202f4aeb0Sopenharmony_ci<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"> 302f4aeb0Sopenharmony_ci <head> 402f4aeb0Sopenharmony_ci <title xmlns:xlink="http://www.w3.org/1999/xlink">eglCreateSync - EGL Reference Pages</title> 502f4aeb0Sopenharmony_ci <link rel="stylesheet" type="text/css" href="khronos-man.css"/> 602f4aeb0Sopenharmony_ci <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"/> 702f4aeb0Sopenharmony_ci </head> 802f4aeb0Sopenharmony_ci <body> 902f4aeb0Sopenharmony_ci <header/> 1002f4aeb0Sopenharmony_ci <div class="refentry" id="eglCreateSync"> 1102f4aeb0Sopenharmony_ci <div class="titlepage"/> 1202f4aeb0Sopenharmony_ci <div class="refnamediv"> 1302f4aeb0Sopenharmony_ci <h2>Name</h2> 1402f4aeb0Sopenharmony_ci <p>eglCreateSync — 1502f4aeb0Sopenharmony_ci create a new <abbr class="acronym">EGL</abbr> sync object 1602f4aeb0Sopenharmony_ci </p> 1702f4aeb0Sopenharmony_ci </div> 1802f4aeb0Sopenharmony_ci <div class="refsynopsisdiv"> 1902f4aeb0Sopenharmony_ci <h2>C Specification</h2> 2002f4aeb0Sopenharmony_ci <div class="funcsynopsis"> 2102f4aeb0Sopenharmony_ci <table style="border: 0; cellspacing: 0; cellpadding: 0;" class="funcprototype-table"> 2202f4aeb0Sopenharmony_ci <tr> 2302f4aeb0Sopenharmony_ci <td> 2402f4aeb0Sopenharmony_ci <code class="funcdef">EGLSync <strong class="fsfunc">eglCreateSync</strong>(</code> 2502f4aeb0Sopenharmony_ci </td> 2602f4aeb0Sopenharmony_ci <td>EGLDisplay <var class="pdparam">display</var>, </td> 2702f4aeb0Sopenharmony_ci </tr> 2802f4aeb0Sopenharmony_ci <tr> 2902f4aeb0Sopenharmony_ci <td> </td> 3002f4aeb0Sopenharmony_ci <td>EGLEnum <var class="pdparam">type</var>, </td> 3102f4aeb0Sopenharmony_ci </tr> 3202f4aeb0Sopenharmony_ci <tr> 3302f4aeb0Sopenharmony_ci <td> </td> 3402f4aeb0Sopenharmony_ci <td>EGLAttrib const * <var class="pdparam">attrib_list</var><code>)</code>;</td> 3502f4aeb0Sopenharmony_ci </tr> 3602f4aeb0Sopenharmony_ci </table> 3702f4aeb0Sopenharmony_ci <div class="funcprototype-spacer"> </div> 3802f4aeb0Sopenharmony_ci </div> 3902f4aeb0Sopenharmony_ci </div> 4002f4aeb0Sopenharmony_ci <div class="refsect1" id="parameters"> 4102f4aeb0Sopenharmony_ci <h2>Parameters</h2> 4202f4aeb0Sopenharmony_ci <div class="variablelist"> 4302f4aeb0Sopenharmony_ci <dl class="variablelist"> 4402f4aeb0Sopenharmony_ci <dt> 4502f4aeb0Sopenharmony_ci <span class="term"> 4602f4aeb0Sopenharmony_ci <em class="parameter"> 4702f4aeb0Sopenharmony_ci <code>display</code> 4802f4aeb0Sopenharmony_ci </em> 4902f4aeb0Sopenharmony_ci </span> 5002f4aeb0Sopenharmony_ci </dt> 5102f4aeb0Sopenharmony_ci <dd> 5202f4aeb0Sopenharmony_ci <p> 5302f4aeb0Sopenharmony_ci Specifies the <abbr class="acronym">EGL</abbr> display connection. 5402f4aeb0Sopenharmony_ci </p> 5502f4aeb0Sopenharmony_ci </dd> 5602f4aeb0Sopenharmony_ci <dt> 5702f4aeb0Sopenharmony_ci <span class="term"> 5802f4aeb0Sopenharmony_ci <em class="parameter"> 5902f4aeb0Sopenharmony_ci <code>type</code> 6002f4aeb0Sopenharmony_ci </em> 6102f4aeb0Sopenharmony_ci </span> 6202f4aeb0Sopenharmony_ci </dt> 6302f4aeb0Sopenharmony_ci <dd> 6402f4aeb0Sopenharmony_ci <p> 6502f4aeb0Sopenharmony_ci Specifies the type of sync object to create. 6602f4aeb0Sopenharmony_ci </p> 6702f4aeb0Sopenharmony_ci </dd> 6802f4aeb0Sopenharmony_ci <dt> 6902f4aeb0Sopenharmony_ci <span class="term"> 7002f4aeb0Sopenharmony_ci <em class="parameter"> 7102f4aeb0Sopenharmony_ci <code>attrib_list</code> 7202f4aeb0Sopenharmony_ci </em> 7302f4aeb0Sopenharmony_ci </span> 7402f4aeb0Sopenharmony_ci </dt> 7502f4aeb0Sopenharmony_ci <dd> 7602f4aeb0Sopenharmony_ci <p> 7702f4aeb0Sopenharmony_ci Specifies attributes and attribute values for the sync 7802f4aeb0Sopenharmony_ci object being created. 7902f4aeb0Sopenharmony_ci </p> 8002f4aeb0Sopenharmony_ci </dd> 8102f4aeb0Sopenharmony_ci </dl> 8202f4aeb0Sopenharmony_ci </div> 8302f4aeb0Sopenharmony_ci </div> 8402f4aeb0Sopenharmony_ci <div class="refsect1" id="description"> 8502f4aeb0Sopenharmony_ci <h2>Description</h2> 8602f4aeb0Sopenharmony_ci <p> 8702f4aeb0Sopenharmony_ci <em class="firstterm">sync objects</em> are provided to enable 8802f4aeb0Sopenharmony_ci synchronization of client API operations between threads and/or 8902f4aeb0Sopenharmony_ci between API contexts. Sync objects may be tested or waited upon 9002f4aeb0Sopenharmony_ci by application threads. 9102f4aeb0Sopenharmony_ci </p> 9202f4aeb0Sopenharmony_ci <p> 9302f4aeb0Sopenharmony_ci Sync objects have a status with two possible states: 9402f4aeb0Sopenharmony_ci <em class="firstterm">signaled</em> and 9502f4aeb0Sopenharmony_ci <em class="firstterm">unsignaled</em>. Initially, sync objects are 9602f4aeb0Sopenharmony_ci unsignaled. EGL may be asked to wait for a sync object to become 9702f4aeb0Sopenharmony_ci signaled, or a sync object's status may be queried. 9802f4aeb0Sopenharmony_ci </p> 9902f4aeb0Sopenharmony_ci <p> 10002f4aeb0Sopenharmony_ci Depending on the type of a sync object, its status may be 10102f4aeb0Sopenharmony_ci changed either by an external event, or by explicitly signaling 10202f4aeb0Sopenharmony_ci and unsignaling the sync. 10302f4aeb0Sopenharmony_ci </p> 10402f4aeb0Sopenharmony_ci <p> 10502f4aeb0Sopenharmony_ci <code class="function">eglCreateSync</code> creates a sync object of the specified 10602f4aeb0Sopenharmony_ci <em class="parameter"><code>type</code></em> associated with the specified display 10702f4aeb0Sopenharmony_ci <em class="parameter"><code>display</code></em>, and returns a handle to the new object. 10802f4aeb0Sopenharmony_ci <em class="parameter"><code>attrib_list</code></em> is an attribute-value list specifying 10902f4aeb0Sopenharmony_ci other attributes of the sync object, terminated by an attribute entry 11002f4aeb0Sopenharmony_ci <code class="constant">EGL_NONE</code>. Attributes not specified in the list will be 11102f4aeb0Sopenharmony_ci assigned their default values. 11202f4aeb0Sopenharmony_ci </p> 11302f4aeb0Sopenharmony_ci <p> 11402f4aeb0Sopenharmony_ci Once the <em class="firstterm">condition</em> of the sync object is satisfied, 11502f4aeb0Sopenharmony_ci the sync is signaled, causing any <code class="function">eglClientWaitSync</code> or 11602f4aeb0Sopenharmony_ci <code class="function">eglWaitSync</code> commands blocking on 11702f4aeb0Sopenharmony_ci <em class="parameter"><code>sync</code></em> to unblock. 11802f4aeb0Sopenharmony_ci </p> 11902f4aeb0Sopenharmony_ci </div> 12002f4aeb0Sopenharmony_ci <div class="refsect1" id="fencesync"> 12102f4aeb0Sopenharmony_ci <h2>Creating Fence Sync Objects</h2> 12202f4aeb0Sopenharmony_ci <p> 12302f4aeb0Sopenharmony_ci If <em class="parameter"><code>type</code></em> is 12402f4aeb0Sopenharmony_ci <code class="constant">EGL_SYNC_FENCE</code>, a fence sync object is 12502f4aeb0Sopenharmony_ci created. In this case <em class="parameter"><code>attrib_list</code></em> must be 12602f4aeb0Sopenharmony_ci <code class="constant">NULL</code> or empty (containing only 12702f4aeb0Sopenharmony_ci <code class="constant">EGL_NONE</code>). Attributes of the fence sync 12802f4aeb0Sopenharmony_ci object, and their initial values, are: 12902f4aeb0Sopenharmony_ci </p> 13002f4aeb0Sopenharmony_ci <div class="variablelist"> 13102f4aeb0Sopenharmony_ci <dl class="variablelist"> 13202f4aeb0Sopenharmony_ci <dt> 13302f4aeb0Sopenharmony_ci <span class="term"> 13402f4aeb0Sopenharmony_ci <code class="constant">EGL_SYNC_TYPE</code> 13502f4aeb0Sopenharmony_ci </span> 13602f4aeb0Sopenharmony_ci </dt> 13702f4aeb0Sopenharmony_ci <dd> 13802f4aeb0Sopenharmony_ci <p> 13902f4aeb0Sopenharmony_ci <code class="constant">EGL_SYNC_FENCE</code> 14002f4aeb0Sopenharmony_ci </p> 14102f4aeb0Sopenharmony_ci </dd> 14202f4aeb0Sopenharmony_ci <dt> 14302f4aeb0Sopenharmony_ci <span class="term"> 14402f4aeb0Sopenharmony_ci <code class="constant">EGL_SYNC_STATUS</code> 14502f4aeb0Sopenharmony_ci </span> 14602f4aeb0Sopenharmony_ci </dt> 14702f4aeb0Sopenharmony_ci <dd> 14802f4aeb0Sopenharmony_ci <p> 14902f4aeb0Sopenharmony_ci <code class="constant">EGL_UNSIGNALED</code> 15002f4aeb0Sopenharmony_ci </p> 15102f4aeb0Sopenharmony_ci </dd> 15202f4aeb0Sopenharmony_ci <dt> 15302f4aeb0Sopenharmony_ci <span class="term"> 15402f4aeb0Sopenharmony_ci <code class="constant">EGL_SYNC_CONDITION</code> 15502f4aeb0Sopenharmony_ci </span> 15602f4aeb0Sopenharmony_ci </dt> 15702f4aeb0Sopenharmony_ci <dd> 15802f4aeb0Sopenharmony_ci <p> 15902f4aeb0Sopenharmony_ci <code class="constant">EGL_SYNC_PRIOR_COMMANDS_COMPLETE</code> 16002f4aeb0Sopenharmony_ci </p> 16102f4aeb0Sopenharmony_ci </dd> 16202f4aeb0Sopenharmony_ci </dl> 16302f4aeb0Sopenharmony_ci </div> 16402f4aeb0Sopenharmony_ci <p> 16502f4aeb0Sopenharmony_ci When a fence sync object is created, <code class="function">eglCreateSync</code> also inserts a 16602f4aeb0Sopenharmony_ci fence command into the command stream of the bound client API's current 16702f4aeb0Sopenharmony_ci context (i.e., the context returned by <code class="function">eglGetCurrentContext</code>), and 16802f4aeb0Sopenharmony_ci associates it with the newly created sync object. 16902f4aeb0Sopenharmony_ci </p> 17002f4aeb0Sopenharmony_ci <p> 17102f4aeb0Sopenharmony_ci The only condition supported for fence sync objects is 17202f4aeb0Sopenharmony_ci <code class="constant">EGL_SYNC_PRIOR_COMMANDS_COMPLETE</code>, which is satisfied by completion of 17302f4aeb0Sopenharmony_ci the fence command corresponding to the sync object, and all preceding 17402f4aeb0Sopenharmony_ci commands in the associated client API context's command stream. The sync 17502f4aeb0Sopenharmony_ci object will not be signaled until all effects from these commands on the 17602f4aeb0Sopenharmony_ci client API's internal and framebuffer state are fully realized. No other 17702f4aeb0Sopenharmony_ci state is affected by execution of the fence command. 17802f4aeb0Sopenharmony_ci </p> 17902f4aeb0Sopenharmony_ci <p> 18002f4aeb0Sopenharmony_ci Creation of fence sync objects requires support from the bound 18102f4aeb0Sopenharmony_ci client API, and will not succeed unless the client API satisfies 18202f4aeb0Sopenharmony_ci one of the following properties. Note that 18302f4aeb0Sopenharmony_ci <code class="function">eglWaitSync</code> also requires satisfying these 18402f4aeb0Sopenharmony_ci conditions. 18502f4aeb0Sopenharmony_ci </p> 18602f4aeb0Sopenharmony_ci <p> 18702f4aeb0Sopenharmony_ci </p> 18802f4aeb0Sopenharmony_ci <div class="itemizedlist"> 18902f4aeb0Sopenharmony_ci <ul class="itemizedlist" style="list-style-type: disc; "> 19002f4aeb0Sopenharmony_ci <li class="listitem"> 19102f4aeb0Sopenharmony_ci <p> 19202f4aeb0Sopenharmony_ci client API is OpenGL, and either the OpenGL version is 19302f4aeb0Sopenharmony_ci 3.2 or greater, or the <code class="constant">GL_ARB_sync</code> 19402f4aeb0Sopenharmony_ci extension is supported. 19502f4aeb0Sopenharmony_ci </p> 19602f4aeb0Sopenharmony_ci </li> 19702f4aeb0Sopenharmony_ci <li class="listitem"> 19802f4aeb0Sopenharmony_ci <p> 19902f4aeb0Sopenharmony_ci client API is OpenGL ES, and either the OpenGL ES 20002f4aeb0Sopenharmony_ci version is 3.0 or greater, or the 20102f4aeb0Sopenharmony_ci <code class="constant">GL_OES_EGL_sync</code> extension is 20202f4aeb0Sopenharmony_ci supported. 20302f4aeb0Sopenharmony_ci </p> 20402f4aeb0Sopenharmony_ci </li> 20502f4aeb0Sopenharmony_ci <li class="listitem"> 20602f4aeb0Sopenharmony_ci <p> 20702f4aeb0Sopenharmony_ci client API is OpenVG, and the 20802f4aeb0Sopenharmony_ci <code class="constant">VG_KHR_EGL_sync</code> extension is 20902f4aeb0Sopenharmony_ci supported. 21002f4aeb0Sopenharmony_ci </p> 21102f4aeb0Sopenharmony_ci </li> 21202f4aeb0Sopenharmony_ci </ul> 21302f4aeb0Sopenharmony_ci </div> 21402f4aeb0Sopenharmony_ci <p> 21502f4aeb0Sopenharmony_ci </p> 21602f4aeb0Sopenharmony_ci </div> 21702f4aeb0Sopenharmony_ci <div class="refsect1" id="openclsync"> 21802f4aeb0Sopenharmony_ci <h2>Creating OpenCL Event Sync Objects</h2> 21902f4aeb0Sopenharmony_ci <p> 22002f4aeb0Sopenharmony_ci If <em class="parameter"><code>type</code></em> is 22102f4aeb0Sopenharmony_ci <code class="constant">EGL_SYNC_CL_EVENT</code>, an OpenCL event sync 22202f4aeb0Sopenharmony_ci object is created. In this case 22302f4aeb0Sopenharmony_ci <em class="parameter"><code>attrib_list</code></em> must contain the attribute 22402f4aeb0Sopenharmony_ci <code class="constant">EGL_CL_EVENT_HANDLE</code>, set to a valid OpenCL 22502f4aeb0Sopenharmony_ci event handle returned by a call to 22602f4aeb0Sopenharmony_ci <code class="function">clEnqueueReleaseGLObjects</code> or 22702f4aeb0Sopenharmony_ci <code class="function">clEnqueueReleaseEGLObjects</code>; other types of 22802f4aeb0Sopenharmony_ci OpenCL event handles are not supported. Note that 22902f4aeb0Sopenharmony_ci <code class="constant">EGL_CL_EVENT_HANDLE</code> is not a queriable 23002f4aeb0Sopenharmony_ci property of a sync object. Attributes of the OpenCL event sync 23102f4aeb0Sopenharmony_ci object, and their initial values, are: 23202f4aeb0Sopenharmony_ci </p> 23302f4aeb0Sopenharmony_ci <div class="variablelist"> 23402f4aeb0Sopenharmony_ci <dl class="variablelist"> 23502f4aeb0Sopenharmony_ci <dt> 23602f4aeb0Sopenharmony_ci <span class="term"> 23702f4aeb0Sopenharmony_ci <code class="constant">EGL_SYNC_TYPE</code> 23802f4aeb0Sopenharmony_ci </span> 23902f4aeb0Sopenharmony_ci </dt> 24002f4aeb0Sopenharmony_ci <dd> 24102f4aeb0Sopenharmony_ci <p> 24202f4aeb0Sopenharmony_ci <code class="constant">EGL_SYNC_CL_EVENT</code> 24302f4aeb0Sopenharmony_ci </p> 24402f4aeb0Sopenharmony_ci </dd> 24502f4aeb0Sopenharmony_ci <dt> 24602f4aeb0Sopenharmony_ci <span class="term"> 24702f4aeb0Sopenharmony_ci <code class="constant">EGL_SYNC_STATUS</code> 24802f4aeb0Sopenharmony_ci </span> 24902f4aeb0Sopenharmony_ci </dt> 25002f4aeb0Sopenharmony_ci <dd> 25102f4aeb0Sopenharmony_ci <p> 25202f4aeb0Sopenharmony_ci Depends on status of <em class="parameter"><code>event</code></em> 25302f4aeb0Sopenharmony_ci </p> 25402f4aeb0Sopenharmony_ci </dd> 25502f4aeb0Sopenharmony_ci <dt> 25602f4aeb0Sopenharmony_ci <span class="term"> 25702f4aeb0Sopenharmony_ci <code class="constant">EGL_SYNC_CONDITION</code> 25802f4aeb0Sopenharmony_ci </span> 25902f4aeb0Sopenharmony_ci </dt> 26002f4aeb0Sopenharmony_ci <dd> 26102f4aeb0Sopenharmony_ci <p> 26202f4aeb0Sopenharmony_ci <code class="constant">EGL_SYNC_CL_EVENT_COMPLETE</code> 26302f4aeb0Sopenharmony_ci </p> 26402f4aeb0Sopenharmony_ci </dd> 26502f4aeb0Sopenharmony_ci </dl> 26602f4aeb0Sopenharmony_ci </div> 26702f4aeb0Sopenharmony_ci <p> 26802f4aeb0Sopenharmony_ci The status of such a sync object depends on 26902f4aeb0Sopenharmony_ci <em class="parameter"><code>event</code></em>. When the status of 27002f4aeb0Sopenharmony_ci <em class="parameter"><code>event</code></em> is <code class="constant">CL_QUEUED</code>, 27102f4aeb0Sopenharmony_ci <code class="constant">CL_SUBMITTED</code>, or 27202f4aeb0Sopenharmony_ci <code class="constant">CL_RUNNING</code>, the status of the linked sync 27302f4aeb0Sopenharmony_ci object will be <code class="constant">EGL_UNSIGNALED</code>. When the 27402f4aeb0Sopenharmony_ci status of <em class="parameter"><code>event</code></em> changes to 27502f4aeb0Sopenharmony_ci <code class="constant">CL_COMPLETE</code>, the status of the linked sync 27602f4aeb0Sopenharmony_ci object will become <code class="constant">EGL_SIGNALED</code>. 27702f4aeb0Sopenharmony_ci </p> 27802f4aeb0Sopenharmony_ci <p> 27902f4aeb0Sopenharmony_ci The only condition supported for OpenCL event sync objects is 28002f4aeb0Sopenharmony_ci <code class="constant">EGL_SYNC_CL_EVENT_COMPLETE</code>, which is 28102f4aeb0Sopenharmony_ci satisfied when the status of the OpenCL event associated with 28202f4aeb0Sopenharmony_ci the sync object changes to <code class="constant">CL_COMPLETE</code>. 28302f4aeb0Sopenharmony_ci </p> 28402f4aeb0Sopenharmony_ci <p> 28502f4aeb0Sopenharmony_ci Creating a linked sync object places a reference on the linked 28602f4aeb0Sopenharmony_ci OpenCL event object. When the sync object is deleted, the 28702f4aeb0Sopenharmony_ci reference will be removed from the event object. 28802f4aeb0Sopenharmony_ci </p> 28902f4aeb0Sopenharmony_ci <p> 29002f4aeb0Sopenharmony_ci However, implementations are not required to validate the OpenCL 29102f4aeb0Sopenharmony_ci event, and passing an invalid event handle in 29202f4aeb0Sopenharmony_ci <em class="parameter"><code>attrib_list</code></em> may result in undefined 29302f4aeb0Sopenharmony_ci behavior up to and including program termination. 29402f4aeb0Sopenharmony_ci </p> 29502f4aeb0Sopenharmony_ci </div> 29602f4aeb0Sopenharmony_ci <div class="refsect1" id="notes"> 29702f4aeb0Sopenharmony_ci <h2>Notes</h2> 29802f4aeb0Sopenharmony_ci <p> 29902f4aeb0Sopenharmony_ci <code class="function">eglCreateSync</code> is supported only if the EGL 30002f4aeb0Sopenharmony_ci version is 1.5 or greater. 30102f4aeb0Sopenharmony_ci </p> 30202f4aeb0Sopenharmony_ci </div> 30302f4aeb0Sopenharmony_ci <div class="refsect1" id="errors"> 30402f4aeb0Sopenharmony_ci <h2>Errors</h2> 30502f4aeb0Sopenharmony_ci <p> 30602f4aeb0Sopenharmony_ci <code class="function">eglCreateSync</code> returns 30702f4aeb0Sopenharmony_ci <code class="constant">EGL_NO_SYNC</code> on failure. 30802f4aeb0Sopenharmony_ci </p> 30902f4aeb0Sopenharmony_ci <p> 31002f4aeb0Sopenharmony_ci If <em class="parameter"><code>display</code></em> is not the name of a valid, 31102f4aeb0Sopenharmony_ci initialized <span class="type">EGLDisplay</span>, an 31202f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_DISPLAY</code> error is generated. 31302f4aeb0Sopenharmony_ci </p> 31402f4aeb0Sopenharmony_ci <p> 31502f4aeb0Sopenharmony_ci If <em class="parameter"><code>attrib_list</code></em> contains an attribute name 31602f4aeb0Sopenharmony_ci not defined for the type of sync object being created, an 31702f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_ATTRIBUTE</code> error is generated. 31802f4aeb0Sopenharmony_ci </p> 31902f4aeb0Sopenharmony_ci <p> 32002f4aeb0Sopenharmony_ci If <em class="parameter"><code>type</code></em> is not a supported type of sync 32102f4aeb0Sopenharmony_ci object, an <code class="constant">EGL_BAD_PARAMETER</code> error is 32202f4aeb0Sopenharmony_ci generated. 32302f4aeb0Sopenharmony_ci </p> 32402f4aeb0Sopenharmony_ci <p> 32502f4aeb0Sopenharmony_ci If <em class="parameter"><code>type</code></em> is 32602f4aeb0Sopenharmony_ci <code class="constant">EGL_SYNC_FENCE</code> and no context is current 32702f4aeb0Sopenharmony_ci for the bound API (i.e., 32802f4aeb0Sopenharmony_ci <code class="function">eglGetCurrentContext</code> returns 32902f4aeb0Sopenharmony_ci <code class="constant">EGL_NO_CONTEXT</code>), an 33002f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_MATCH</code> error is generated. 33102f4aeb0Sopenharmony_ci </p> 33202f4aeb0Sopenharmony_ci <p> 33302f4aeb0Sopenharmony_ci If <em class="parameter"><code>type</code></em> is 33402f4aeb0Sopenharmony_ci <code class="constant">EGL_SYNC_FENCE</code> and 33502f4aeb0Sopenharmony_ci <em class="parameter"><code>display</code></em> does not match the 33602f4aeb0Sopenharmony_ci <span class="type">EGLDisplay</span> of the currently bound context for the 33702f4aeb0Sopenharmony_ci currently bound client API (the <span class="type">EGLDisplay</span> returned 33802f4aeb0Sopenharmony_ci by <code class="function">eglGetCurrentDisplay</code>), an 33902f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_MATCH</code> error is generated. 34002f4aeb0Sopenharmony_ci </p> 34102f4aeb0Sopenharmony_ci <p> 34202f4aeb0Sopenharmony_ci If <em class="parameter"><code>type</code></em> is 34302f4aeb0Sopenharmony_ci <code class="constant">EGL_SYNC_FENCE</code> and the current context for 34402f4aeb0Sopenharmony_ci the currently bound client API does not support fence commands, 34502f4aeb0Sopenharmony_ci an <code class="constant">EGL_BAD_MATCH</code> error is generated. 34602f4aeb0Sopenharmony_ci </p> 34702f4aeb0Sopenharmony_ci <p> 34802f4aeb0Sopenharmony_ci If <em class="parameter"><code>type</code></em> is 34902f4aeb0Sopenharmony_ci <code class="constant">EGL_SYNC_CL_EVENT</code> and 35002f4aeb0Sopenharmony_ci <code class="constant">EGL_CL_EVENT_HANDLE</code> is not specified in 35102f4aeb0Sopenharmony_ci <em class="parameter"><code>attrib_list</code></em>, or its attribute value is 35202f4aeb0Sopenharmony_ci not a valid OpenCL event handle as described above, then an 35302f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_ATTRIBUTE</code> error is generated. 35402f4aeb0Sopenharmony_ci </p> 35502f4aeb0Sopenharmony_ci </div> 35602f4aeb0Sopenharmony_ci <div class="refsect1" id="seealso"> 35702f4aeb0Sopenharmony_ci <h2>See Also</h2> 35802f4aeb0Sopenharmony_ci <p> 35902f4aeb0Sopenharmony_ci <code class="function">clEnqueueReleaseGLObjects</code>, 36002f4aeb0Sopenharmony_ci <code class="function">clEnqueueReleaseEGLObjects</code>, 36102f4aeb0Sopenharmony_ci <a class="citerefentry" href="eglClientWaitSync.xhtml"><span class="citerefentry"><span class="refentrytitle">eglClientWaitSync</span></span></a>, 36202f4aeb0Sopenharmony_ci <a class="citerefentry" href="eglCreateSync.xhtml"><span class="citerefentry"><span class="refentrytitle">eglCreateSync</span></span></a>, 36302f4aeb0Sopenharmony_ci <a class="citerefentry" href="eglGetCurrentContext.xhtml"><span class="citerefentry"><span class="refentrytitle">eglGetCurrentContext</span></span></a>, 36402f4aeb0Sopenharmony_ci <a class="citerefentry" href="eglGetCurrentDisplay.xhtml"><span class="citerefentry"><span class="refentrytitle">eglGetCurrentDisplay</span></span></a>, 36502f4aeb0Sopenharmony_ci <a class="citerefentry" href="eglWaitSync.xhtml"><span class="citerefentry"><span class="refentrytitle">eglWaitSync</span></span></a> 36602f4aeb0Sopenharmony_ci </p> 36702f4aeb0Sopenharmony_ci </div> 36802f4aeb0Sopenharmony_ci <p> 36902f4aeb0Sopenharmony_ci </p> 37002f4aeb0Sopenharmony_ci <div class="refsect3" id="copyright"> 37102f4aeb0Sopenharmony_ci <img src="KhronosLogo.jpg"/> 37202f4aeb0Sopenharmony_ci <p> 37302f4aeb0Sopenharmony_ci Copyright © 2003-2014 The Khronos Group Inc. 37402f4aeb0Sopenharmony_ci Permission is hereby granted, free of charge, to any person obtaining a 37502f4aeb0Sopenharmony_ci copy of this software and/or associated documentation files (the 37602f4aeb0Sopenharmony_ci "Materials"), to deal in the Materials without restriction, including 37702f4aeb0Sopenharmony_ci without limitation the rights to use, copy, modify, merge, publish, 37802f4aeb0Sopenharmony_ci distribute, sublicense, and/or sell copies of the Materials, and to 37902f4aeb0Sopenharmony_ci permit persons to whom the Materials are furnished to do so, subject to 38002f4aeb0Sopenharmony_ci the condition that this copyright notice and permission notice shall be included 38102f4aeb0Sopenharmony_ci in all copies or substantial portions of the Materials. 38202f4aeb0Sopenharmony_ci </p> 38302f4aeb0Sopenharmony_ci </div> 38402f4aeb0Sopenharmony_ci <p> 38502f4aeb0Sopenharmony_ci</p> 38602f4aeb0Sopenharmony_ci </div> 38702f4aeb0Sopenharmony_ci <footer/> 38802f4aeb0Sopenharmony_ci </body> 38902f4aeb0Sopenharmony_ci</html> 390