• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd">
3<!-- saved from url=(0013)about:internet -->
4<?xml-stylesheet type="text/xsl" href="mathml.xsl"?><html xmlns="http://www.w3.org/1999/xhtml" xmlns:pref="http://www.w3.org/2002/Math/preference" xmlns:xlink="http://www.w3.org/1999/xlink" pref:renderer="mathplayer-dl">
5  <head>
6    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
7    <style xmlns="" type="text/css">
8    /* This style sets a margin around the entire page */
9        html, body {
10            margin: 10px;
11        }
12
13        p {
14            font: normal 16px verdana, sans-serif;
15            margin: 0;
16            padding-bottom:12px;
17        }
18
19        h1 {
20            font: bold 25px verdana, sans-serif;
21            margin-top: 0;
22            margin-bottom: 3px;
23            padding-top: 0;
24            padding-bottom: 0;
25        }
26
27        h2 {
28            font: bold 19px verdana, sans-serif;
29            margin-top: 28px;
30            margin-bottom: 3px;
31            padding-top: 0;
32            padding-bottom: 0;
33        }
34
35        h3 {
36            font: bold 19px verdana, sans-serif !important;
37            margin-top: 28px;
38            margin-bottom: 3px;
39            padding-top: 0;
40            padding-bottom: 0;
41        }
42
43        li {
44            font: normal 16px verdana, sans-serif;
45            margin-top: 0;
46            margin-bottom: 18px;
47            padding-top: 0;
48            padding-bottom: 0;
49        }
50
51        .pdparam {
52            font: italic 16px verdana, sans-serif;
53        }
54
55                .term {
56                        font: italic 16px verdana, sans-serif;
57                        font-weight: normal;
58                }
59
60                .type {
61                        font: normal 16px verdana, sans-serif !important;
62                }
63
64                .parameter {
65                        font-style: italic;
66                        }
67
68        a:link, a:visited {
69            color: blue;
70            text-decoration: none;
71            font: normal 16px;
72        }
73
74        a:hover {
75            background-color: #FFFF99;
76            font: normal 16px;
77        }
78
79        div.funcsynopsis {
80            text-align: left;
81            background-color: #e6e6e6;
82            font: normal 16px verdana, sans-serif;
83                        padding-top: 10px;
84                        padding-bottom: 10px;
85        }
86
87        div.funcsynopsis table {
88            border-collapse: separate;
89            font: normal 16px verdana, sans-serif;
90        }
91
92        div.funcsynopsis td {
93            background-color: #e6e6e6;
94            border: 0 solid #000;
95            padding: 1px;
96            font: normal 16px verdana, sans-serif;
97        }
98
99        div.refsect1 {
100            font-family: verdana, sans-serif;
101            font-size: 16px;
102        }
103
104        code.constant {
105            font: normal 16px courier new, monospace !important;
106        }
107
108                span.errorname {
109            font: normal 16px verdana, sans-serif !important;
110        }
111
112        code.function {
113            font: bold 16px verdana, sans-serif !important;
114        }
115
116        b.fsfunc {
117            font: bold 16px verdana, sans-serif !important;
118        }
119
120        code.varname {
121            font: italic 16px verdana, sans-serif;
122        }
123
124        code.replaceable {
125            font: italic 16px courier new, monospace;
126        }
127
128        code.funcdef {
129            font: normal 16px verdana, sans-serif !important;
130        }
131
132        .citerefentry {
133            font: normal 16px verdana, sans-serif !important;
134        }
135
136        .parameter {
137            font-style: italic;
138        }
139
140        code.fsfunc {
141            font: normal 16px verdana, sans-serif !important;
142        }
143
144        /* PARAMETER: This style controls spacing between the terms in Parameter section */
145        dt {
146            margin-top: 15px;
147        }
148
149        /* TABLES: These styles apply to all tables OTHER than the Synopsis and Example tables */
150        div.refsect1 table {
151            width: 100%;
152                        margin-top: 10px;
153            background-color: #FFF;
154                        border-collapse: collapse;
155                        border-color: #000;
156            border-width: 1px;
157                        font: normal 16px verdana, sans-serif;
158        }
159
160        div.refsect1 th {
161                        border-collapse: collapse;
162                        border-color: #000;
163            border-width: 1px;
164            font: bold 16px verdana, sans-serif;
165        }
166
167        div.refsect1 td {
168            background-color: #FFF;
169            padding: 5px;
170            vertical-align: text-top;
171                        border-collapse: collapse;
172                        border-color: #000;
173            border-width: 1px;
174            font: normal 16px verdana, sans-serif;
175        }
176
177                  div.refsect1 p{
178            font: normal 16px verdana, sans-serif;
179            margin-top: 8px;
180            margin-bottom: 8px;
181            padding-top: 0;
182            padding-bottom: 0;
183        }
184
185
186        /* EXAMPLE: These styles apply only to the Example section */
187        div.refsect2 {
188            font: normal 16px courier new, monospace !important;
189        }
190
191        div.refsect2 table {
192            margin-top: 0;
193            background-color: #e6e6e6;
194            width: 100%;
195            border: 0 solid #000;
196            padding: 2px;
197            font: normal 16px courier new, monospace !important;
198        }
199
200        div.refsect2 td {
201            background-color: #e6e6e6;
202            font: normal 16px courier new, monospace !important;
203                        white-space:pre;
204        }
205
206        /* COPYRIGHT: This style formats the text of the copyright statement at the bottom of the page */
207        div.refsect3 {
208            font: normal 11px verdana, sans-serif;
209            margin-top: 50px;
210            margin-bottom: 20px;
211            padding-top: 0;
212            padding-bottom: 0;
213        }
214
215</style>
216    <title>eglCreatePbufferFromClientBuffer</title>
217    <meta name="generator" content="DocBook XSL Stylesheets V1.78.1" />
218  </head>
219  <body>
220    <div class="refentry">
221      <a id="eglCreatePbufferFromClientBuffer"></a>
222      <div class="titlepage"></div>
223      <div xmlns="" class="refnamediv">
224        <h1>eglCreatePbufferFromClientBuffer</h1>
225        <p>
226            create a new <acronym xmlns="http://www.w3.org/1999/xhtml" class="acronym">EGL</acronym> pixel buffer surface
227            bound to an OpenVG image
228        </p>
229      </div>
230      <div class="refsynopsisdiv">
231        <h2>C Specification</h2>
232        <div class="funcsynopsis">
233          <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0">
234            <tr valign="bottom">
235              <td>
236                <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">EGLSurface <strong class="fsfunc">eglCreatePbufferFromClientBuffer</strong>(</code>
237                <td>EGLDisplay  <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">display</var>, </td>
238              </td>
239            </tr>
240            <tr valign="top">
241              <td> </td>
242              <td>EGLenum  <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">buftype</var>, </td>
243            </tr>
244            <tr valign="top">
245              <td> </td>
246              <td>EGLClientBuffer  <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">buffer</var>, </td>
247            </tr>
248            <tr valign="top">
249              <td> </td>
250              <td>EGLConfig  <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">config</var>, </td>
251            </tr>
252            <tr valign="top">
253              <td> </td>
254              <td>EGLint const *  <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">attrib_list</var><code>)</code></td>
255            </tr>
256          </table>
257        </div>
258      </div>
259      <div class="refsect1">
260        <a id="parameters"></a>
261        <h2>Parameters</h2>
262        <div class="variablelist">
263          <dl class="variablelist">
264            <dt>
265              <span class="term">
266                <em class="parameter">
267                  <code>display</code>
268                </em>
269              </span>
270            </dt>
271            <dd>
272              <p>Specifies the EGL display connection.</p>
273            </dd>
274            <dt>
275              <span class="term">
276                <em class="parameter">
277                  <code>buftype</code>
278                </em>
279              </span>
280            </dt>
281            <dd>
282              <p>
283                    Specifies the type of client API buffer to be bound.
284                    Must be <code class="constant">EGL_OPENVG_IMAGE</code>,
285                    corresponding to an OpenVG <span class="type">VGImage</span>
286                    buffer.
287                </p>
288            </dd>
289            <dt>
290              <span class="term">
291                <em class="parameter">
292                  <code>buffer</code>
293                </em>
294              </span>
295            </dt>
296            <dd>
297              <p>
298                    Specifies the OpenVG <span class="type">VGImage</span> handle of
299                    the buffer to be bound.
300                </p>
301            </dd>
302            <dt>
303              <span class="term">
304                <em class="parameter">
305                  <code>config</code>
306                </em>
307              </span>
308            </dt>
309            <dd>
310              <p>
311                    Specifies the EGL frame buffer configuration that defines the
312                    frame buffer resource available to the surface.
313                </p>
314            </dd>
315            <dt>
316              <span class="term">
317                <em class="parameter">
318                  <code>attrib_list</code>
319                </em>
320              </span>
321            </dt>
322            <dd>
323              <p>
324                    Specifies pixel buffer surface attributes.
325                    May be <code class="constant">NULL</code> or empty
326                    (first attribute is <code class="constant">EGL_NONE</code>).
327                </p>
328            </dd>
329          </dl>
330        </div>
331      </div>
332      <div class="refsect1">
333        <a id="description"></a>
334        <h2>Description</h2>
335        <p>
336            <code class="function">eglCreatePbufferFromClientBuffer</code> creates an
337            off-screen pixel buffer surface and returns its handle. If
338            <code class="function">eglCreatePbufferFromClientBuffer</code> fails to create
339            a pixel buffer surface, <code class="constant">EGL_NO_SURFACE</code>
340            is returned.
341        </p>
342        <p>
343            The new pixel buffer surface is similar to a pixel buffer
344            created with
345            <a class="citerefentry" href="eglCreatePbufferSurface.html"><span class="citerefentry"><span class="refentrytitle">eglCreatePbufferSurface</span></span></a>,
346            but storage for the color buffer is provided by a client API
347            buffer. Other buffer required by
348            <em class="parameter"><code>config</code></em>, such as depth, stencil, and
349            alpha mask, are allocated by EGL.
350        </p>
351        <p>
352            <em class="parameter"><code>buftype</code></em> must be
353            <code class="constant">EGL_OPENVG_IMAGE</code>, corresponding to an
354            OpenVG <span class="type">VGImage</span> buffer.
355            <em class="parameter"><code>buffer</code></em> must be a valid
356            <span class="type">VGImage</span> handle in the current OpenVG context,
357            cast into the type <span class="type">EGLClientBuffer</span>.
358        </p>
359        <p>
360            The height, width,, OpenVG alpha format, and OpenVG
361            colorspace (surface attributes
362            <code class="constant">EGL_HEIGHT</code>,
363            <code class="constant">EGL_WIDTH</code>,
364            <code class="constant">EGL_VG_ALPHA_FORMAT</code>, and
365            <code class="constant">EGL_VG_COLORSPACE</code>, respectively) of the
366            resulting surface are determined by the size and format of
367            <em class="parameter"><code>buffer</code></em>.
368        </p>
369        <p>
370            Surface attributes are specified as a list of
371            attribute-value pairs, terminated with
372            <code class="constant">EGL_NONE</code>. Accepted attributes are:
373        </p>
374        <div class="variablelist">
375          <dl class="variablelist">
376            <dt>
377              <span class="term">
378                <code class="constant">EGL_MIPMAP_TEXTURE</code>
379              </span>
380            </dt>
381            <dd>
382              <p>
383                    Specifies whether storage for mipmaps should be
384                    allocated. Space for mipmaps will be set aside if
385                    the attribute value is <code class="constant">EGL_TRUE</code>
386                    and <code class="constant">EGL_TEXTURE_FORMAT</code> is not
387                    <code class="constant">EGL_NO_TEXTURE</code>. The default
388                    value is <code class="constant">EGL_FALSE</code>.
389                </p>
390            </dd>
391            <dt>
392              <span class="term">
393                <code class="constant">EGL_TEXTURE_FORMAT</code>
394              </span>
395            </dt>
396            <dd>
397              <p>
398                    Specifies the format of the texture that will be
399                    created when a pbuffer is bound to a texture map.
400                    Possible values are
401                    <code class="constant">EGL_NO_TEXTURE</code>,
402                    <code class="constant">EGL_TEXTURE_RGB</code>, and
403                    <code class="constant">EGL_TEXTURE_RGBA</code>. The default
404                    value is <code class="constant">EGL_NO_TEXTURE</code>.
405                </p>
406            </dd>
407            <dt>
408              <span class="term">
409                <code class="constant">EGL_TEXTURE_TARGET</code>
410              </span>
411            </dt>
412            <dd>
413              <p>
414                    Specifies the target for the texture that will be
415                    created when the pbuffer is created with a texture
416                    format of <code class="constant">EGL_TEXTURE_RGB</code> or
417                    <code class="constant">EGL_TEXTURE_RGBA</code>. Possible
418                    values are <code class="constant">EGL_NO_TEXTURE</code>, or
419                    <code class="constant">EGL_TEXTURE_2D</code>. The default
420                    value is <code class="constant">EGL_NO_TEXTURE</code>.
421                </p>
422            </dd>
423          </dl>
424        </div>
425        <p>
426            Any EGL rendering context that was created with respect to
427            <em class="parameter"><code>config</code></em> can be used to render into the
428            surface. Use
429            <a class="citerefentry" href="eglMakeCurrent.html"><span class="citerefentry"><span class="refentrytitle">eglMakeCurrent</span></span></a>
430            to attach an EGL rendering context to the surface.
431        </p>
432        <p>
433            Use
434            <a class="citerefentry" href="eglQuerySurface.html"><span class="citerefentry"><span class="refentrytitle">eglQuerySurface</span></span></a>
435            to retrieve the dimensions of the allocated pixel buffer
436            surface or the ID of <em class="parameter"><code>config</code></em>.
437        </p>
438        <p>
439            Use <a class="citerefentry" href="eglDestroySurface.html"><span class="citerefentry"><span class="refentrytitle">eglDestroySurface</span></span></a>
440            to destroy the surface.
441        </p>
442      </div>
443      <div class="refsect1">
444        <a id="notes"></a>
445        <h2>Notes</h2>
446        <p>
447            <code class="function">eglCreatePbufferFromClientBuffer</code> is
448            supported only if the EGL version is 1.2 or greater, and if
449            the EGL implementation supports the OpenVG client API.
450        </p>
451        <p>
452            Currently
453            <code class="function">eglCreatePbufferFromClientBuffer</code> only
454            supports binding OpenVG <span class="type">VGImage</span> buffers to
455            pixel buffers. While other client API resources could be
456            supported in the future, mechanisms such as OpenGL ES
457            framebuffer objects, and the family of EGL and client API
458            extensions for defining and using <span class="type">EGLImageKHR</span>
459            images, are a more flexible and general framework to satisfy
460            most of the same needs.
461        </p>
462        <p>
463            If the value of <em class="parameter"><code>config</code></em> attribute
464            <code class="constant">EGL_TEXTURE_FORMAT</code> is not
465            <code class="constant">EGL_NO_TEXTURE</code>, then the pbuffer width
466            and height specify the size of the level zero texture image
467        </p>
468        <p>
469            If <code class="constant">EGL_LARGEST_PBUFFER</code> is specified and
470            if the pbuffer will be used as a texture (i.e. the value of
471            <code class="constant">EGL_TEXTURE_TARGET</code> is
472            <code class="constant">EGL_TEXTURE_2D</code>, and the value of
473            <code class="constant">EGL_TEXTURE FORMAT</code> is
474            <code class="constant">EGL_TEXTURE_RGB</code> or
475            <code class="constant">EGL_TEXTURE_RGBA</code>), then the aspect
476            ratio will be preserved and the new width and height will be
477            valid sizes for the texture target (e.g. if the underlying
478            OpenGL ES implementation does not support non-power-of-two
479            textures, both the width and height will be a power of 2).
480        </p>
481        <p>
482            The contents of the depth and stencil buffers may not be
483            preserved when rendering a texture to the pbuffer and
484            switching which image of the texture is rendered to (e.g.,
485            switching from rendering one mipmap level to rendering
486            another).
487        </p>
488        <p>
489            Binding client API buffers to EGL pbuffers create the
490            possibility of race conditions, and of buffers being deleted
491            through one API while still in use in another API. To avoid
492            these problems, a number of constraints apply to bound
493            client API buffers:
494            </p>
495        <div class="orderedlist">
496          <ol class="orderedlist" type="1">
497            <li class="listitem">
498              <p>
499                    Bound buffers may be used exclusively by either EGL,
500                    or the client API that originally created them. For
501                    example, if a <span class="type">VGImage</span> is bound to a
502                    pbuffer, and that pbuffer is bound to any client API
503                    rendering context, then the <span class="type">VGImage</span> may
504                    not be used as the explicit source or destination of
505                    any OpenVG operation. Errors resulting from such use
506                    are described in client API specifications.
507                    Similarly, while a <span class="type">VGImage</span> is in use by
508                    OpenVG, the pbuffer it is bound to may not be made
509                    current to any client API context using
510                    <a class="citerefentry" href="eglMakeCurrent.html"><span class="citerefentry"><span class="refentrytitle">eglMakeCurrent</span></span></a>.
511                </p>
512            </li>
513            <li class="listitem">
514              <p>
515                    Binding a buffer creates an additional reference to
516                    it, and implementations must respect outstanding
517                    references when destroying objects. For example, if
518                    a <span class="type">VGImage</span> is bound to a pbuffer,
519                    destroying the image with
520                    <code class="function">vgDestroyImage</code> will not free
521                    the underlying buffer, because it is still in use by
522                    EGL. However, following
523                    <code class="function">vgDestroyImage</code> the buffer may
524                    only be referred to via the EGL pbuffer handle,
525                    since the OpenVG handle to that buffer no longer
526                    exists. Similarly, destroying the pbuffer with
527                    <code class="function">eglDestroySurface</code> will not free
528                    the underlying buffer, because it is still in use by
529                    OpenVG . However, following
530                    <code class="function">eglDestroySurface</code> the buffer
531                    may only be referred to via the OpenVG
532                    <span class="type">VGImage</span> handle, since the EGL pbuffer
533                    handle no longer exists.
534                </p>
535            </li>
536          </ol>
537        </div>
538        <p>
539        </p>
540      </div>
541      <div class="refsect1">
542        <a id="errors"></a>
543        <h2>Errors</h2>
544        <p>
545            <code class="constant">EGL_NO_SURFACE</code> is returned if creation of
546            the context fails.
547        </p>
548        <p>
549            <code class="constant">EGL_BAD_DISPLAY</code> is generated if
550            <em class="parameter"><code>display</code></em> is not an EGL display connection.
551        </p>
552        <p>
553            <code class="constant">EGL_NOT_INITIALIZED</code> is generated if
554            <em class="parameter"><code>display</code></em> has not been initialized.
555        </p>
556        <p>
557            <code class="constant">EGL_BAD_CONFIG</code> is generated if
558            <em class="parameter"><code>config</code></em> is not an EGL frame buffer configuration.
559        </p>
560        <p>
561            <code class="constant">EGL_BAD_PARAMETER</code> is generated if
562            <em class="parameter"><code>buftype</code></em> is not
563            <code class="constant">EGL_OPENVG_IMAGE</code>, or if
564            <em class="parameter"><code>buffer</code></em> is not a valid handle to a
565            <span class="type">VGImage</span> object in the currently bound OpenVG
566            context.
567        </p>
568        <p>
569            <code class="constant">EGL_BAD_ACCESS</code> is generated if there is
570            no current OpenVG context, or if
571            <em class="parameter"><code>buffer</code></em> is already bound to another
572            pixel buffer or in use by OpenVG as discussed in the Notes
573            section above.
574        </p>
575        <p>
576            <code class="constant">EGL_BAD_ALLOC</code> is generated if there are not
577            enough resources to allocate the new surface.
578        </p>
579        <p>
580            <code class="constant">EGL_BAD_ATTRIBUTE</code> is generated if
581            <em class="parameter"><code>attrib_list</code></em> contains an invalid pixel
582            buffer attribute or if an attribute value is not recognized
583            or out of range.
584        </p>
585        <p>
586            <code class="constant">EGL_BAD_ATTRIBUTE</code> is generated if
587            <em class="parameter"><code>attrib_list</code></em> contains any of the
588            attributes <code class="constant">EGL_MIPMAP_TEXTURE</code>,
589            <code class="constant">EGL_TEXTURE_FORMAT</code>, or
590            <code class="constant">EGL_TEXTURE_TARGET</code>, and
591            <em class="parameter"><code>config</code></em> does not support OpenGL ES
592            rendering (e.g. the EGL version is 1.2 or later, and the
593            <code class="constant">EGL_RENDERABLE_TYPE</code> attribute of
594            <em class="parameter"><code>config</code></em> does not include at least one
595            of <code class="constant">EGL_OPENGL_ES_BIT</code> or
596            <code class="constant">EGL_OPENGL_ES2_BIT</code>).
597        </p>
598        <p>
599            <code class="constant">EGL_BAD_MATCH</code> is generated if
600            <em class="parameter"><code>config</code></em> does not support rendering to pixel buffers
601            (the <code class="constant">EGL_SURFACE_TYPE</code> attribute does not contain
602            <code class="constant">EGL_PBUFFER_BIT</code>).
603        </p>
604        <p>
605            <code class="constant">EGL_BAD_MATCH</code> is generated if the
606            buffers contained in <em class="parameter"><code>buffer</code></em> do not
607            match the bit depths for those buffers specified by
608            <em class="parameter"><code>config</code></em>.
609        </p>
610        <p>
611            <code class="constant">EGL_BAD_MATCH</code> is generated if the
612            <code class="constant">EGL_TEXTURE_FORMAT</code> attribute is not
613            <code class="constant">EGL_NO_TEXTURE</code>, and
614            <code class="constant">EGL_WIDTH</code> and/or
615            <code class="constant">EGL_HEIGHT</code> specify an invalid size
616            (e.g., the texture size is not a power of 2, and the
617            underlying OpenGL ES implementation does not support
618            non-power-of-two textures).
619        </p>
620        <p>
621            <code class="constant">EGL_BAD_MATCH</code> is generated if
622            the <code class="constant">EGL_TEXTURE_FORMAT</code> attribute is
623            <code class="constant">EGL_NO_TEXTURE</code>, and
624            <code class="constant">EGL_TEXTURE_TARGET</code> is something other
625            than <code class="constant">EGL_NO_TEXTURE</code>; or,
626            <code class="constant">EGL_TEXTURE_FORMAT</code> is something other
627            than <code class="constant">EGL_NO_TEXTURE</code>, and
628            <code class="constant">EGL_TEXTURE_TARGET</code> is
629            <code class="constant">EGL_NO_TEXTURE</code>.
630        </p>
631        <p>
632            <code class="constant">EGL_BAD_MATCH</code> is generated if the
633            implementation has additional constraints on which types of
634            client API buffers may be bound to pixel buffer surfaces.
635            For example, it is possible that the OpenVG implementation
636            might not support a <span class="type">VGImage</span> being bound to a
637            pixel buffer which will be used as a mipmapped OpenGL ES
638            texture (e.g. whose <code class="constant">EGL_MIPMAP_TEXTURE</code>
639            attribute is <code class="constant">TRUE</code>). Any such
640            constraints should be documented by the implementation
641            release notes.
642        </p>
643      </div>
644      <div class="refsect1">
645        <a id="seealso"></a>
646        <h2>See Also</h2>
647        <p>
648            <a class="citerefentry" href="eglDestroySurface.html"><span class="citerefentry"><span class="refentrytitle">eglDestroySurface</span></span></a>,
649            <a class="citerefentry" href="eglChooseConfig.html"><span class="citerefentry"><span class="refentrytitle">eglChooseConfig</span></span></a>,
650            <a class="citerefentry" href="eglCreatePbufferSurface.html"><span class="citerefentry"><span class="refentrytitle">eglCreatePbufferSurface</span></span></a>,
651            <a class="citerefentry" href="eglGetConfigs.html"><span class="citerefentry"><span class="refentrytitle">eglGetConfigs</span></span></a>,
652            <a class="citerefentry" href="eglMakeCurrent.html"><span class="citerefentry"><span class="refentrytitle">eglMakeCurrent</span></span></a>,
653            <a class="citerefentry" href="eglQuerySurface.html"><span class="citerefentry"><span class="refentrytitle">eglQuerySurface</span></span></a>
654        </p>
655      </div>
656      <div xmlns="" class="refsect3" lang="en" xml:lang="en"><a xmlns="http://www.w3.org/1999/xhtml" id="Copyright"></a><h4 xmlns="http://www.w3.org/1999/xhtml"></h4><img xmlns="http://www.w3.org/1999/xhtml" src="KhronosLogo.jpg" /><p xmlns="http://www.w3.org/1999/xhtml"></p>
657Copyright © 2003-2014 The Khronos Group Inc.
658Permission is hereby granted, free of charge, to any person obtaining a
659copy of this software and/or associated documentation files (the
660"Materials"), to deal in the Materials without restriction, including
661without limitation the rights to use, copy, modify, merge, publish,
662distribute, sublicense, and/or sell copies of the Materials, and to
663permit persons to whom the Materials are furnished to do so, subject to
664the condition that this copyright notice and permission notice shall be included
665in all copies or substantial portions of the Materials.
666</div>
667    </div>
668  </body>
669</html>
670