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