diff options
author | sotech117 <michael_foiani@brown.edu> | 2024-04-09 03:14:17 -0400 |
---|---|---|
committer | sotech117 <michael_foiani@brown.edu> | 2024-04-09 03:14:17 -0400 |
commit | 7a8d0d8bc2572707c9d35006f30ea835c86954b0 (patch) | |
tree | dedb9a65c1698202ad485378b4186b667008abe5 /glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglCreatePbufferFromClientBuffer.html | |
parent | 818324678bd5dca790c57048e5012d2937a4b5e5 (diff) |
first draft to generate waves
Diffstat (limited to 'glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglCreatePbufferFromClientBuffer.html')
-rw-r--r-- | glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglCreatePbufferFromClientBuffer.html | 669 |
1 files changed, 669 insertions, 0 deletions
diff --git a/glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglCreatePbufferFromClientBuffer.html b/glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglCreatePbufferFromClientBuffer.html new file mode 100644 index 0000000..29fadf5 --- /dev/null +++ b/glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglCreatePbufferFromClientBuffer.html @@ -0,0 +1,669 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd"> +<!-- saved from url=(0013)about:internet --> +<?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"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <style xmlns="" type="text/css"> + /* This style sets a margin around the entire page */ + html, body { + margin: 10px; + } + + p { + font: normal 16px verdana, sans-serif; + margin: 0; + padding-bottom:12px; + } + + h1 { + font: bold 25px verdana, sans-serif; + margin-top: 0; + margin-bottom: 3px; + padding-top: 0; + padding-bottom: 0; + } + + h2 { + font: bold 19px verdana, sans-serif; + margin-top: 28px; + margin-bottom: 3px; + padding-top: 0; + padding-bottom: 0; + } + + h3 { + font: bold 19px verdana, sans-serif !important; + margin-top: 28px; + margin-bottom: 3px; + padding-top: 0; + padding-bottom: 0; + } + + li { + font: normal 16px verdana, sans-serif; + margin-top: 0; + margin-bottom: 18px; + padding-top: 0; + padding-bottom: 0; + } + + .pdparam { + font: italic 16px verdana, sans-serif; + } + + .term { + font: italic 16px verdana, sans-serif; + font-weight: normal; + } + + .type { + font: normal 16px verdana, sans-serif !important; + } + + .parameter { + font-style: italic; + } + + a:link, a:visited { + color: blue; + text-decoration: none; + font: normal 16px; + } + + a:hover { + background-color: #FFFF99; + font: normal 16px; + } + + div.funcsynopsis { + text-align: left; + background-color: #e6e6e6; + font: normal 16px verdana, sans-serif; + padding-top: 10px; + padding-bottom: 10px; + } + + div.funcsynopsis table { + border-collapse: separate; + font: normal 16px verdana, sans-serif; + } + + div.funcsynopsis td { + background-color: #e6e6e6; + border: 0 solid #000; + padding: 1px; + font: normal 16px verdana, sans-serif; + } + + div.refsect1 { + font-family: verdana, sans-serif; + font-size: 16px; + } + + code.constant { + font: normal 16px courier new, monospace !important; + } + + span.errorname { + font: normal 16px verdana, sans-serif !important; + } + + code.function { + font: bold 16px verdana, sans-serif !important; + } + + b.fsfunc { + font: bold 16px verdana, sans-serif !important; + } + + code.varname { + font: italic 16px verdana, sans-serif; + } + + code.replaceable { + font: italic 16px courier new, monospace; + } + + code.funcdef { + font: normal 16px verdana, sans-serif !important; + } + + .citerefentry { + font: normal 16px verdana, sans-serif !important; + } + + .parameter { + font-style: italic; + } + + code.fsfunc { + font: normal 16px verdana, sans-serif !important; + } + + /* PARAMETER: This style controls spacing between the terms in Parameter section */ + dt { + margin-top: 15px; + } + + /* TABLES: These styles apply to all tables OTHER than the Synopsis and Example tables */ + div.refsect1 table { + width: 100%; + margin-top: 10px; + background-color: #FFF; + border-collapse: collapse; + border-color: #000; + border-width: 1px; + font: normal 16px verdana, sans-serif; + } + + div.refsect1 th { + border-collapse: collapse; + border-color: #000; + border-width: 1px; + font: bold 16px verdana, sans-serif; + } + + div.refsect1 td { + background-color: #FFF; + padding: 5px; + vertical-align: text-top; + border-collapse: collapse; + border-color: #000; + border-width: 1px; + font: normal 16px verdana, sans-serif; + } + + div.refsect1 p{ + font: normal 16px verdana, sans-serif; + margin-top: 8px; + margin-bottom: 8px; + padding-top: 0; + padding-bottom: 0; + } + + + /* EXAMPLE: These styles apply only to the Example section */ + div.refsect2 { + font: normal 16px courier new, monospace !important; + } + + div.refsect2 table { + margin-top: 0; + background-color: #e6e6e6; + width: 100%; + border: 0 solid #000; + padding: 2px; + font: normal 16px courier new, monospace !important; + } + + div.refsect2 td { + background-color: #e6e6e6; + font: normal 16px courier new, monospace !important; + white-space:pre; + } + + /* COPYRIGHT: This style formats the text of the copyright statement at the bottom of the page */ + div.refsect3 { + font: normal 11px verdana, sans-serif; + margin-top: 50px; + margin-bottom: 20px; + padding-top: 0; + padding-bottom: 0; + } + +</style> + <title>eglCreatePbufferFromClientBuffer</title> + <meta name="generator" content="DocBook XSL Stylesheets V1.78.1" /> + </head> + <body> + <div class="refentry"> + <a id="eglCreatePbufferFromClientBuffer"></a> + <div class="titlepage"></div> + <div xmlns="" class="refnamediv"> + <h1>eglCreatePbufferFromClientBuffer</h1> + <p> + create a new <acronym xmlns="http://www.w3.org/1999/xhtml" class="acronym">EGL</acronym> pixel buffer surface + bound to an OpenVG image + </p> + </div> + <div class="refsynopsisdiv"> + <h2>C Specification</h2> + <div class="funcsynopsis"> + <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0"> + <tr valign="bottom"> + <td> + <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">EGLSurface <strong class="fsfunc">eglCreatePbufferFromClientBuffer</strong>(</code> + <td>EGLDisplay <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">display</var>, </td> + </td> + </tr> + <tr valign="top"> + <td> </td> + <td>EGLenum <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">buftype</var>, </td> + </tr> + <tr valign="top"> + <td> </td> + <td>EGLClientBuffer <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">buffer</var>, </td> + </tr> + <tr valign="top"> + <td> </td> + <td>EGLConfig <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">config</var>, </td> + </tr> + <tr valign="top"> + <td> </td> + <td>EGLint const * <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">attrib_list</var><code>)</code></td> + </tr> + </table> + </div> + </div> + <div class="refsect1"> + <a id="parameters"></a> + <h2>Parameters</h2> + <div class="variablelist"> + <dl class="variablelist"> + <dt> + <span class="term"> + <em class="parameter"> + <code>display</code> + </em> + </span> + </dt> + <dd> + <p>Specifies the EGL display connection.</p> + </dd> + <dt> + <span class="term"> + <em class="parameter"> + <code>buftype</code> + </em> + </span> + </dt> + <dd> + <p> + Specifies the type of client API buffer to be bound. + Must be <code class="constant">EGL_OPENVG_IMAGE</code>, + corresponding to an OpenVG <span class="type">VGImage</span> + buffer. + </p> + </dd> + <dt> + <span class="term"> + <em class="parameter"> + <code>buffer</code> + </em> + </span> + </dt> + <dd> + <p> + Specifies the OpenVG <span class="type">VGImage</span> handle of + the buffer to be bound. + </p> + </dd> + <dt> + <span class="term"> + <em class="parameter"> + <code>config</code> + </em> + </span> + </dt> + <dd> + <p> + Specifies the EGL frame buffer configuration that defines the + frame buffer resource available to the surface. + </p> + </dd> + <dt> + <span class="term"> + <em class="parameter"> + <code>attrib_list</code> + </em> + </span> + </dt> + <dd> + <p> + Specifies pixel buffer surface attributes. + May be <code class="constant">NULL</code> or empty + (first attribute is <code class="constant">EGL_NONE</code>). + </p> + </dd> + </dl> + </div> + </div> + <div class="refsect1"> + <a id="description"></a> + <h2>Description</h2> + <p> + <code class="function">eglCreatePbufferFromClientBuffer</code> creates an + off-screen pixel buffer surface and returns its handle. If + <code class="function">eglCreatePbufferFromClientBuffer</code> fails to create + a pixel buffer surface, <code class="constant">EGL_NO_SURFACE</code> + is returned. + </p> + <p> + The new pixel buffer surface is similar to a pixel buffer + created with + <a class="citerefentry" href="eglCreatePbufferSurface.html"><span class="citerefentry"><span class="refentrytitle">eglCreatePbufferSurface</span></span></a>, + but storage for the color buffer is provided by a client API + buffer. Other buffer required by + <em class="parameter"><code>config</code></em>, such as depth, stencil, and + alpha mask, are allocated by EGL. + </p> + <p> + <em class="parameter"><code>buftype</code></em> must be + <code class="constant">EGL_OPENVG_IMAGE</code>, corresponding to an + OpenVG <span class="type">VGImage</span> buffer. + <em class="parameter"><code>buffer</code></em> must be a valid + <span class="type">VGImage</span> handle in the current OpenVG context, + cast into the type <span class="type">EGLClientBuffer</span>. + </p> + <p> + The height, width,, OpenVG alpha format, and OpenVG + colorspace (surface attributes + <code class="constant">EGL_HEIGHT</code>, + <code class="constant">EGL_WIDTH</code>, + <code class="constant">EGL_VG_ALPHA_FORMAT</code>, and + <code class="constant">EGL_VG_COLORSPACE</code>, respectively) of the + resulting surface are determined by the size and format of + <em class="parameter"><code>buffer</code></em>. + </p> + <p> + Surface attributes are specified as a list of + attribute-value pairs, terminated with + <code class="constant">EGL_NONE</code>. Accepted attributes are: + </p> + <div class="variablelist"> + <dl class="variablelist"> + <dt> + <span class="term"> + <code class="constant">EGL_MIPMAP_TEXTURE</code> + </span> + </dt> + <dd> + <p> + Specifies whether storage for mipmaps should be + allocated. Space for mipmaps will be set aside if + the attribute value is <code class="constant">EGL_TRUE</code> + and <code class="constant">EGL_TEXTURE_FORMAT</code> is not + <code class="constant">EGL_NO_TEXTURE</code>. The default + value is <code class="constant">EGL_FALSE</code>. + </p> + </dd> + <dt> + <span class="term"> + <code class="constant">EGL_TEXTURE_FORMAT</code> + </span> + </dt> + <dd> + <p> + Specifies the format of the texture that will be + created when a pbuffer is bound to a texture map. + Possible values are + <code class="constant">EGL_NO_TEXTURE</code>, + <code class="constant">EGL_TEXTURE_RGB</code>, and + <code class="constant">EGL_TEXTURE_RGBA</code>. The default + value is <code class="constant">EGL_NO_TEXTURE</code>. + </p> + </dd> + <dt> + <span class="term"> + <code class="constant">EGL_TEXTURE_TARGET</code> + </span> + </dt> + <dd> + <p> + Specifies the target for the texture that will be + created when the pbuffer is created with a texture + format of <code class="constant">EGL_TEXTURE_RGB</code> or + <code class="constant">EGL_TEXTURE_RGBA</code>. Possible + values are <code class="constant">EGL_NO_TEXTURE</code>, or + <code class="constant">EGL_TEXTURE_2D</code>. The default + value is <code class="constant">EGL_NO_TEXTURE</code>. + </p> + </dd> + </dl> + </div> + <p> + Any EGL rendering context that was created with respect to + <em class="parameter"><code>config</code></em> can be used to render into the + surface. Use + <a class="citerefentry" href="eglMakeCurrent.html"><span class="citerefentry"><span class="refentrytitle">eglMakeCurrent</span></span></a> + to attach an EGL rendering context to the surface. + </p> + <p> + Use + <a class="citerefentry" href="eglQuerySurface.html"><span class="citerefentry"><span class="refentrytitle">eglQuerySurface</span></span></a> + to retrieve the dimensions of the allocated pixel buffer + surface or the ID of <em class="parameter"><code>config</code></em>. + </p> + <p> + Use <a class="citerefentry" href="eglDestroySurface.html"><span class="citerefentry"><span class="refentrytitle">eglDestroySurface</span></span></a> + to destroy the surface. + </p> + </div> + <div class="refsect1"> + <a id="notes"></a> + <h2>Notes</h2> + <p> + <code class="function">eglCreatePbufferFromClientBuffer</code> is + supported only if the EGL version is 1.2 or greater, and if + the EGL implementation supports the OpenVG client API. + </p> + <p> + Currently + <code class="function">eglCreatePbufferFromClientBuffer</code> only + supports binding OpenVG <span class="type">VGImage</span> buffers to + pixel buffers. While other client API resources could be + supported in the future, mechanisms such as OpenGL ES + framebuffer objects, and the family of EGL and client API + extensions for defining and using <span class="type">EGLImageKHR</span> + images, are a more flexible and general framework to satisfy + most of the same needs. + </p> + <p> + If the value of <em class="parameter"><code>config</code></em> attribute + <code class="constant">EGL_TEXTURE_FORMAT</code> is not + <code class="constant">EGL_NO_TEXTURE</code>, then the pbuffer width + and height specify the size of the level zero texture image + </p> + <p> + If <code class="constant">EGL_LARGEST_PBUFFER</code> is specified and + if the pbuffer will be used as a texture (i.e. the value of + <code class="constant">EGL_TEXTURE_TARGET</code> is + <code class="constant">EGL_TEXTURE_2D</code>, and the value of + <code class="constant">EGL_TEXTURE FORMAT</code> is + <code class="constant">EGL_TEXTURE_RGB</code> or + <code class="constant">EGL_TEXTURE_RGBA</code>), then the aspect + ratio will be preserved and the new width and height will be + valid sizes for the texture target (e.g. if the underlying + OpenGL ES implementation does not support non-power-of-two + textures, both the width and height will be a power of 2). + </p> + <p> + The contents of the depth and stencil buffers may not be + preserved when rendering a texture to the pbuffer and + switching which image of the texture is rendered to (e.g., + switching from rendering one mipmap level to rendering + another). + </p> + <p> + Binding client API buffers to EGL pbuffers create the + possibility of race conditions, and of buffers being deleted + through one API while still in use in another API. To avoid + these problems, a number of constraints apply to bound + client API buffers: + </p> + <div class="orderedlist"> + <ol class="orderedlist" type="1"> + <li class="listitem"> + <p> + Bound buffers may be used exclusively by either EGL, + or the client API that originally created them. For + example, if a <span class="type">VGImage</span> is bound to a + pbuffer, and that pbuffer is bound to any client API + rendering context, then the <span class="type">VGImage</span> may + not be used as the explicit source or destination of + any OpenVG operation. Errors resulting from such use + are described in client API specifications. + Similarly, while a <span class="type">VGImage</span> is in use by + OpenVG, the pbuffer it is bound to may not be made + current to any client API context using + <a class="citerefentry" href="eglMakeCurrent.html"><span class="citerefentry"><span class="refentrytitle">eglMakeCurrent</span></span></a>. + </p> + </li> + <li class="listitem"> + <p> + Binding a buffer creates an additional reference to + it, and implementations must respect outstanding + references when destroying objects. For example, if + a <span class="type">VGImage</span> is bound to a pbuffer, + destroying the image with + <code class="function">vgDestroyImage</code> will not free + the underlying buffer, because it is still in use by + EGL. However, following + <code class="function">vgDestroyImage</code> the buffer may + only be referred to via the EGL pbuffer handle, + since the OpenVG handle to that buffer no longer + exists. Similarly, destroying the pbuffer with + <code class="function">eglDestroySurface</code> will not free + the underlying buffer, because it is still in use by + OpenVG . However, following + <code class="function">eglDestroySurface</code> the buffer + may only be referred to via the OpenVG + <span class="type">VGImage</span> handle, since the EGL pbuffer + handle no longer exists. + </p> + </li> + </ol> + </div> + <p> + </p> + </div> + <div class="refsect1"> + <a id="errors"></a> + <h2>Errors</h2> + <p> + <code class="constant">EGL_NO_SURFACE</code> is returned if creation of + the context fails. + </p> + <p> + <code class="constant">EGL_BAD_DISPLAY</code> is generated if + <em class="parameter"><code>display</code></em> is not an EGL display connection. + </p> + <p> + <code class="constant">EGL_NOT_INITIALIZED</code> is generated if + <em class="parameter"><code>display</code></em> has not been initialized. + </p> + <p> + <code class="constant">EGL_BAD_CONFIG</code> is generated if + <em class="parameter"><code>config</code></em> is not an EGL frame buffer configuration. + </p> + <p> + <code class="constant">EGL_BAD_PARAMETER</code> is generated if + <em class="parameter"><code>buftype</code></em> is not + <code class="constant">EGL_OPENVG_IMAGE</code>, or if + <em class="parameter"><code>buffer</code></em> is not a valid handle to a + <span class="type">VGImage</span> object in the currently bound OpenVG + context. + </p> + <p> + <code class="constant">EGL_BAD_ACCESS</code> is generated if there is + no current OpenVG context, or if + <em class="parameter"><code>buffer</code></em> is already bound to another + pixel buffer or in use by OpenVG as discussed in the Notes + section above. + </p> + <p> + <code class="constant">EGL_BAD_ALLOC</code> is generated if there are not + enough resources to allocate the new surface. + </p> + <p> + <code class="constant">EGL_BAD_ATTRIBUTE</code> is generated if + <em class="parameter"><code>attrib_list</code></em> contains an invalid pixel + buffer attribute or if an attribute value is not recognized + or out of range. + </p> + <p> + <code class="constant">EGL_BAD_ATTRIBUTE</code> is generated if + <em class="parameter"><code>attrib_list</code></em> contains any of the + attributes <code class="constant">EGL_MIPMAP_TEXTURE</code>, + <code class="constant">EGL_TEXTURE_FORMAT</code>, or + <code class="constant">EGL_TEXTURE_TARGET</code>, and + <em class="parameter"><code>config</code></em> does not support OpenGL ES + rendering (e.g. the EGL version is 1.2 or later, and the + <code class="constant">EGL_RENDERABLE_TYPE</code> attribute of + <em class="parameter"><code>config</code></em> does not include at least one + of <code class="constant">EGL_OPENGL_ES_BIT</code> or + <code class="constant">EGL_OPENGL_ES2_BIT</code>). + </p> + <p> + <code class="constant">EGL_BAD_MATCH</code> is generated if + <em class="parameter"><code>config</code></em> does not support rendering to pixel buffers + (the <code class="constant">EGL_SURFACE_TYPE</code> attribute does not contain + <code class="constant">EGL_PBUFFER_BIT</code>). + </p> + <p> + <code class="constant">EGL_BAD_MATCH</code> is generated if the + buffers contained in <em class="parameter"><code>buffer</code></em> do not + match the bit depths for those buffers specified by + <em class="parameter"><code>config</code></em>. + </p> + <p> + <code class="constant">EGL_BAD_MATCH</code> is generated if the + <code class="constant">EGL_TEXTURE_FORMAT</code> attribute is not + <code class="constant">EGL_NO_TEXTURE</code>, and + <code class="constant">EGL_WIDTH</code> and/or + <code class="constant">EGL_HEIGHT</code> specify an invalid size + (e.g., the texture size is not a power of 2, and the + underlying OpenGL ES implementation does not support + non-power-of-two textures). + </p> + <p> + <code class="constant">EGL_BAD_MATCH</code> is generated if + the <code class="constant">EGL_TEXTURE_FORMAT</code> attribute is + <code class="constant">EGL_NO_TEXTURE</code>, and + <code class="constant">EGL_TEXTURE_TARGET</code> is something other + than <code class="constant">EGL_NO_TEXTURE</code>; or, + <code class="constant">EGL_TEXTURE_FORMAT</code> is something other + than <code class="constant">EGL_NO_TEXTURE</code>, and + <code class="constant">EGL_TEXTURE_TARGET</code> is + <code class="constant">EGL_NO_TEXTURE</code>. + </p> + <p> + <code class="constant">EGL_BAD_MATCH</code> is generated if the + implementation has additional constraints on which types of + client API buffers may be bound to pixel buffer surfaces. + For example, it is possible that the OpenVG implementation + might not support a <span class="type">VGImage</span> being bound to a + pixel buffer which will be used as a mipmapped OpenGL ES + texture (e.g. whose <code class="constant">EGL_MIPMAP_TEXTURE</code> + attribute is <code class="constant">TRUE</code>). Any such + constraints should be documented by the implementation + release notes. + </p> + </div> + <div class="refsect1"> + <a id="seealso"></a> + <h2>See Also</h2> + <p> + <a class="citerefentry" href="eglDestroySurface.html"><span class="citerefentry"><span class="refentrytitle">eglDestroySurface</span></span></a>, + <a class="citerefentry" href="eglChooseConfig.html"><span class="citerefentry"><span class="refentrytitle">eglChooseConfig</span></span></a>, + <a class="citerefentry" href="eglCreatePbufferSurface.html"><span class="citerefentry"><span class="refentrytitle">eglCreatePbufferSurface</span></span></a>, + <a class="citerefentry" href="eglGetConfigs.html"><span class="citerefentry"><span class="refentrytitle">eglGetConfigs</span></span></a>, + <a class="citerefentry" href="eglMakeCurrent.html"><span class="citerefentry"><span class="refentrytitle">eglMakeCurrent</span></span></a>, + <a class="citerefentry" href="eglQuerySurface.html"><span class="citerefentry"><span class="refentrytitle">eglQuerySurface</span></span></a> + </p> + </div> + <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> +Copyright © 2003-2014 The Khronos Group Inc. +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the condition that this copyright notice and permission notice shall be included +in all copies or substantial portions of the Materials. +</div> + </div> + </body> +</html> |