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">eglCreateImage - 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="eglCreateImage"> 1102f4aeb0Sopenharmony_ci <div class="titlepage"/> 1202f4aeb0Sopenharmony_ci <div class="refnamediv"> 1302f4aeb0Sopenharmony_ci <h2>Name</h2> 1402f4aeb0Sopenharmony_ci <p>eglCreateImage — 1502f4aeb0Sopenharmony_ci Create a new <span class="type">EGLImage</span> 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">EGLImage <strong class="fsfunc">eglCreateImage</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>EGLContext <var class="pdparam">context</var>, </td> 3102f4aeb0Sopenharmony_ci </tr> 3202f4aeb0Sopenharmony_ci <tr> 3302f4aeb0Sopenharmony_ci <td> </td> 3402f4aeb0Sopenharmony_ci <td>EGLenum <var class="pdparam">target</var>, </td> 3502f4aeb0Sopenharmony_ci </tr> 3602f4aeb0Sopenharmony_ci <tr> 3702f4aeb0Sopenharmony_ci <td> </td> 3802f4aeb0Sopenharmony_ci <td>EGLClientBuffer <var class="pdparam">buffer</var>, </td> 3902f4aeb0Sopenharmony_ci </tr> 4002f4aeb0Sopenharmony_ci <tr> 4102f4aeb0Sopenharmony_ci <td> </td> 4202f4aeb0Sopenharmony_ci <td>const EGLAttrib *<var class="pdparam">attrib_list</var><code>)</code>;</td> 4302f4aeb0Sopenharmony_ci </tr> 4402f4aeb0Sopenharmony_ci </table> 4502f4aeb0Sopenharmony_ci <div class="funcprototype-spacer"> </div> 4602f4aeb0Sopenharmony_ci </div> 4702f4aeb0Sopenharmony_ci </div> 4802f4aeb0Sopenharmony_ci <div class="refsect1" id="parameters"> 4902f4aeb0Sopenharmony_ci <h2>Parameters</h2> 5002f4aeb0Sopenharmony_ci <div class="variablelist"> 5102f4aeb0Sopenharmony_ci <dl class="variablelist"> 5202f4aeb0Sopenharmony_ci <dt> 5302f4aeb0Sopenharmony_ci <span class="term"> 5402f4aeb0Sopenharmony_ci <em class="parameter"> 5502f4aeb0Sopenharmony_ci <code>display</code> 5602f4aeb0Sopenharmony_ci </em> 5702f4aeb0Sopenharmony_ci </span> 5802f4aeb0Sopenharmony_ci </dt> 5902f4aeb0Sopenharmony_ci <dd> 6002f4aeb0Sopenharmony_ci <p> 6102f4aeb0Sopenharmony_ci Specifies the <abbr class="acronym">EGL</abbr> display connection. 6202f4aeb0Sopenharmony_ci </p> 6302f4aeb0Sopenharmony_ci </dd> 6402f4aeb0Sopenharmony_ci <dt> 6502f4aeb0Sopenharmony_ci <span class="term"> 6602f4aeb0Sopenharmony_ci <em class="parameter"> 6702f4aeb0Sopenharmony_ci <code>context</code> 6802f4aeb0Sopenharmony_ci </em> 6902f4aeb0Sopenharmony_ci </span> 7002f4aeb0Sopenharmony_ci </dt> 7102f4aeb0Sopenharmony_ci <dd> 7202f4aeb0Sopenharmony_ci <p> 7302f4aeb0Sopenharmony_ci Specifies the client API context for which the image is 7402f4aeb0Sopenharmony_ci created. 7502f4aeb0Sopenharmony_ci </p> 7602f4aeb0Sopenharmony_ci </dd> 7702f4aeb0Sopenharmony_ci <dt> 7802f4aeb0Sopenharmony_ci <span class="term"> 7902f4aeb0Sopenharmony_ci <em class="parameter"> 8002f4aeb0Sopenharmony_ci <code>target</code> 8102f4aeb0Sopenharmony_ci </em> 8202f4aeb0Sopenharmony_ci </span> 8302f4aeb0Sopenharmony_ci </dt> 8402f4aeb0Sopenharmony_ci <dd> 8502f4aeb0Sopenharmony_ci <p> 8602f4aeb0Sopenharmony_ci Specifies the type of resource used as the image source. 8702f4aeb0Sopenharmony_ci </p> 8802f4aeb0Sopenharmony_ci </dd> 8902f4aeb0Sopenharmony_ci <dt> 9002f4aeb0Sopenharmony_ci <span class="term"> 9102f4aeb0Sopenharmony_ci <em class="parameter"> 9202f4aeb0Sopenharmony_ci <code>buffer</code> 9302f4aeb0Sopenharmony_ci </em> 9402f4aeb0Sopenharmony_ci </span> 9502f4aeb0Sopenharmony_ci </dt> 9602f4aeb0Sopenharmony_ci <dd> 9702f4aeb0Sopenharmony_ci <p> 9802f4aeb0Sopenharmony_ci Specifies the resource to be used as the image source. 9902f4aeb0Sopenharmony_ci </p> 10002f4aeb0Sopenharmony_ci </dd> 10102f4aeb0Sopenharmony_ci <dt> 10202f4aeb0Sopenharmony_ci <span class="term"> 10302f4aeb0Sopenharmony_ci <em class="parameter"> 10402f4aeb0Sopenharmony_ci <code>attrib_list</code> 10502f4aeb0Sopenharmony_ci </em> 10602f4aeb0Sopenharmony_ci </span> 10702f4aeb0Sopenharmony_ci </dt> 10802f4aeb0Sopenharmony_ci <dd> 10902f4aeb0Sopenharmony_ci <p> 11002f4aeb0Sopenharmony_ci Specifies attributes used to select sub-sections of the 11102f4aeb0Sopenharmony_ci resource to be used as the image source. 11202f4aeb0Sopenharmony_ci </p> 11302f4aeb0Sopenharmony_ci </dd> 11402f4aeb0Sopenharmony_ci </dl> 11502f4aeb0Sopenharmony_ci </div> 11602f4aeb0Sopenharmony_ci </div> 11702f4aeb0Sopenharmony_ci <div class="refsect1" id="description"> 11802f4aeb0Sopenharmony_ci <h2>Description</h2> 11902f4aeb0Sopenharmony_ci <p> 12002f4aeb0Sopenharmony_ci <code class="function">eglCreateImage</code> is used to create an 12102f4aeb0Sopenharmony_ci <span class="type">EGLImage</span> object from an existing image resource 12202f4aeb0Sopenharmony_ci <em class="parameter"><code>buffer</code></em>. <em class="parameter"><code>display</code></em> 12302f4aeb0Sopenharmony_ci specifies the EGL display used for this operation. 12402f4aeb0Sopenharmony_ci <em class="parameter"><code>context</code></em> specifies the EGL client API 12502f4aeb0Sopenharmony_ci context used for this operation, or 12602f4aeb0Sopenharmony_ci <code class="constant">EGL_NO_CONTEXT</code> if a client API context is 12702f4aeb0Sopenharmony_ci not required. <em class="parameter"><code>target</code></em> specifies the type 12802f4aeb0Sopenharmony_ci of resource being used as the <span class="type">EGLImage</span> source 12902f4aeb0Sopenharmony_ci (examples include two-dimensional textures in OpenGL ES contexts 13002f4aeb0Sopenharmony_ci and <span class="type">VGImage</span> objects in OpenVG contexts). 13102f4aeb0Sopenharmony_ci <em class="parameter"><code>buffer</code></em> is the name (or handle) of a 13202f4aeb0Sopenharmony_ci resource to be used as the <span class="type">EGLImage</span> source, cast 13302f4aeb0Sopenharmony_ci into the type <span class="type">EGLClientBuffer</span>. 13402f4aeb0Sopenharmony_ci <em class="parameter"><code>attrib_list</code></em> is a list of attribute-value 13502f4aeb0Sopenharmony_ci pairs which is used to select sub-sections of 13602f4aeb0Sopenharmony_ci <em class="parameter"><code>buffer</code></em> for use as the 13702f4aeb0Sopenharmony_ci <span class="type">EGLImage</span> source, such as mipmap levels for OpenGL 13802f4aeb0Sopenharmony_ci ES texture map resources, as well as behavioral options, such as 13902f4aeb0Sopenharmony_ci whether to preserve pixel data during creation. If 14002f4aeb0Sopenharmony_ci <em class="parameter"><code>attrib_list</code></em> is 14102f4aeb0Sopenharmony_ci non-<code class="constant">NULL</code>, the last attribute specified in 14202f4aeb0Sopenharmony_ci the list must be <code class="constant">EGL_NONE</code>. 14302f4aeb0Sopenharmony_ci </p> 14402f4aeb0Sopenharmony_ci <p> 14502f4aeb0Sopenharmony_ci The resource specified by <em class="parameter"><code>display</code></em>, 14602f4aeb0Sopenharmony_ci <em class="parameter"><code>context</code></em>, <em class="parameter"><code>target</code></em>, 14702f4aeb0Sopenharmony_ci <em class="parameter"><code>buffer</code></em>, and 14802f4aeb0Sopenharmony_ci <em class="parameter"><code>attrib_list</code></em> must not itself be an 14902f4aeb0Sopenharmony_ci <span class="type">EGLImage</span> sibling, or bound to a pbuffer 15002f4aeb0Sopenharmony_ci <span class="type">EGLSurface</span> resource 15102f4aeb0Sopenharmony_ci (<code class="function">eglBindTexImage</code>, 15202f4aeb0Sopenharmony_ci <code class="function">eglCreatePbufferFromClientBuffer</code>). 15302f4aeb0Sopenharmony_ci </p> 15402f4aeb0Sopenharmony_ci <p> 15502f4aeb0Sopenharmony_ci Values accepted for <em class="parameter"><code>target</code></em> are shown in 15602f4aeb0Sopenharmony_ci table <a class="xref" href="#tab-imagetarget" title="Table 1. Legal values for eglCreateImage target">Table 1, “ 15702f4aeb0Sopenharmony_ci Legal values for <code class="function">eglCreateImage</code> <em class="parameter"><code>target</code></em> 15802f4aeb0Sopenharmony_ci ”</a>. 15902f4aeb0Sopenharmony_ci </p> 16002f4aeb0Sopenharmony_ci <div class="table" id="tab-imagetarget"> 16102f4aeb0Sopenharmony_ci <div class="table-title">Table 1. 16202f4aeb0Sopenharmony_ci Legal values for <code class="function">eglCreateImage</code> <em class="parameter"><code>target</code></em> 16302f4aeb0Sopenharmony_ci </div> 16402f4aeb0Sopenharmony_ci <div class="table-contents"> 16502f4aeb0Sopenharmony_ci <table style="border-collapse: collapse; border-top: 2px solid ; border-bottom: 2px solid ; border-left: 2px solid ; border-right: 2px solid ; "> 16602f4aeb0Sopenharmony_ci <colgroup> 16702f4aeb0Sopenharmony_ci <col/> 16802f4aeb0Sopenharmony_ci <col/> 16902f4aeb0Sopenharmony_ci </colgroup> 17002f4aeb0Sopenharmony_ci <thead> 17102f4aeb0Sopenharmony_ci <tr> 17202f4aeb0Sopenharmony_ci <th style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> 17302f4aeb0Sopenharmony_ci <em class="parameter"> 17402f4aeb0Sopenharmony_ci <code>target</code> 17502f4aeb0Sopenharmony_ci </em> 17602f4aeb0Sopenharmony_ci </th> 17702f4aeb0Sopenharmony_ci <th style="text-align: left; border-bottom: 2px solid ; ">Notes</th> 17802f4aeb0Sopenharmony_ci </tr> 17902f4aeb0Sopenharmony_ci </thead> 18002f4aeb0Sopenharmony_ci <tbody> 18102f4aeb0Sopenharmony_ci <tr> 18202f4aeb0Sopenharmony_ci <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> 18302f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_2D</code> 18402f4aeb0Sopenharmony_ci </td> 18502f4aeb0Sopenharmony_ci <td style="text-align: left; border-bottom: 2px solid ; ">Used for GL 2D texture images</td> 18602f4aeb0Sopenharmony_ci </tr> 18702f4aeb0Sopenharmony_ci <tr> 18802f4aeb0Sopenharmony_ci <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> 18902f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X</code> 19002f4aeb0Sopenharmony_ci </td> 19102f4aeb0Sopenharmony_ci <td style="text-align: left; border-bottom: 2px solid ; ">Used for the +X face of GL cubemap texture images</td> 19202f4aeb0Sopenharmony_ci </tr> 19302f4aeb0Sopenharmony_ci <tr> 19402f4aeb0Sopenharmony_ci <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> 19502f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X</code> 19602f4aeb0Sopenharmony_ci </td> 19702f4aeb0Sopenharmony_ci <td style="text-align: left; border-bottom: 2px solid ; ">Used for the -X face of GL cubemap texture images</td> 19802f4aeb0Sopenharmony_ci </tr> 19902f4aeb0Sopenharmony_ci <tr> 20002f4aeb0Sopenharmony_ci <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> 20102f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y</code> 20202f4aeb0Sopenharmony_ci </td> 20302f4aeb0Sopenharmony_ci <td style="text-align: left; border-bottom: 2px solid ; ">Used for the +Y face of GL cubemap texture images</td> 20402f4aeb0Sopenharmony_ci </tr> 20502f4aeb0Sopenharmony_ci <tr> 20602f4aeb0Sopenharmony_ci <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> 20702f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y</code> 20802f4aeb0Sopenharmony_ci </td> 20902f4aeb0Sopenharmony_ci <td style="text-align: left; border-bottom: 2px solid ; ">Used for the -Y face of GL cubemap texture images</td> 21002f4aeb0Sopenharmony_ci </tr> 21102f4aeb0Sopenharmony_ci <tr> 21202f4aeb0Sopenharmony_ci <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> 21302f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z</code> 21402f4aeb0Sopenharmony_ci </td> 21502f4aeb0Sopenharmony_ci <td style="text-align: left; border-bottom: 2px solid ; ">Used for the +Z face of GL cubemap texture images</td> 21602f4aeb0Sopenharmony_ci </tr> 21702f4aeb0Sopenharmony_ci <tr> 21802f4aeb0Sopenharmony_ci <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> 21902f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</code> 22002f4aeb0Sopenharmony_ci </td> 22102f4aeb0Sopenharmony_ci <td style="text-align: left; border-bottom: 2px solid ; ">Used for the -Z face of GL cubemap texture images</td> 22202f4aeb0Sopenharmony_ci </tr> 22302f4aeb0Sopenharmony_ci <tr> 22402f4aeb0Sopenharmony_ci <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> 22502f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_3D</code> 22602f4aeb0Sopenharmony_ci </td> 22702f4aeb0Sopenharmony_ci <td style="text-align: left; border-bottom: 2px solid ; ">Used for OpenGL and OpenGL ES 3D texture images</td> 22802f4aeb0Sopenharmony_ci </tr> 22902f4aeb0Sopenharmony_ci <tr> 23002f4aeb0Sopenharmony_ci <td style="text-align: left; border-right: 2px solid ; "> 23102f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_RENDERBUFFER</code> 23202f4aeb0Sopenharmony_ci </td> 23302f4aeb0Sopenharmony_ci <td style="text-align: left; ">Used for OpenGL and OpenGL ES renderbuffer images</td> 23402f4aeb0Sopenharmony_ci </tr> 23502f4aeb0Sopenharmony_ci </tbody> 23602f4aeb0Sopenharmony_ci </table> 23702f4aeb0Sopenharmony_ci </div> 23802f4aeb0Sopenharmony_ci </div> 23902f4aeb0Sopenharmony_ci <br class="table-break"/> 24002f4aeb0Sopenharmony_ci <p> 24102f4aeb0Sopenharmony_ci Attribute names accepted in <em class="parameter"><code>attrib_list</code></em> 24202f4aeb0Sopenharmony_ci are shown in table <a class="xref" href="#tab-imageattr" title="Table 2. Legal attributes for eglCreateImage attrib_list parameter">Table 2, “ 24302f4aeb0Sopenharmony_ci Legal attributes for <code class="function">eglCreateImage</code> 24402f4aeb0Sopenharmony_ci <em class="parameter"><code>attrib_list</code></em> parameter 24502f4aeb0Sopenharmony_ci ”</a>, together 24602f4aeb0Sopenharmony_ci with the <em class="parameter"><code>target</code></em> for which each attribute 24702f4aeb0Sopenharmony_ci name is valid, and the default value used for each attribute if 24802f4aeb0Sopenharmony_ci it is not included in <em class="parameter"><code>attrib_list</code></em>. 24902f4aeb0Sopenharmony_ci </p> 25002f4aeb0Sopenharmony_ci <div class="table" id="tab-imageattr"> 25102f4aeb0Sopenharmony_ci <div class="table-title">Table 2. 25202f4aeb0Sopenharmony_ci Legal attributes for <code class="function">eglCreateImage</code> 25302f4aeb0Sopenharmony_ci <em class="parameter"><code>attrib_list</code></em> parameter 25402f4aeb0Sopenharmony_ci </div> 25502f4aeb0Sopenharmony_ci <div class="table-contents"> 25602f4aeb0Sopenharmony_ci <table style="border-collapse: collapse; border-top: 2px solid ; border-bottom: 2px solid ; border-left: 2px solid ; border-right: 2px solid ; "> 25702f4aeb0Sopenharmony_ci <colgroup> 25802f4aeb0Sopenharmony_ci <col/> 25902f4aeb0Sopenharmony_ci <col/> 26002f4aeb0Sopenharmony_ci <col/> 26102f4aeb0Sopenharmony_ci <col/> 26202f4aeb0Sopenharmony_ci </colgroup> 26302f4aeb0Sopenharmony_ci <thead> 26402f4aeb0Sopenharmony_ci <tr> 26502f4aeb0Sopenharmony_ci <th style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> 26602f4aeb0Sopenharmony_ci <em class="parameter"> 26702f4aeb0Sopenharmony_ci <code>target</code> 26802f4aeb0Sopenharmony_ci </em> 26902f4aeb0Sopenharmony_ci </th> 27002f4aeb0Sopenharmony_ci <th style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Notes</th> 27102f4aeb0Sopenharmony_ci <td style="border-right: 2px solid ; border-bottom: 2px solid ; " class="auto-generated"> </td> 27202f4aeb0Sopenharmony_ci <td style="border-bottom: 2px solid ; " class="auto-generated"> </td> 27302f4aeb0Sopenharmony_ci </tr> 27402f4aeb0Sopenharmony_ci </thead> 27502f4aeb0Sopenharmony_ci <tbody> 27602f4aeb0Sopenharmony_ci <tr> 27702f4aeb0Sopenharmony_ci <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Attribute</td> 27802f4aeb0Sopenharmony_ci <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Description</td> 27902f4aeb0Sopenharmony_ci <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Valid <em class="parameter"><code>target</code></em>s</td> 28002f4aeb0Sopenharmony_ci <td style="text-align: left; border-bottom: 2px solid ; ">Default Value</td> 28102f4aeb0Sopenharmony_ci </tr> 28202f4aeb0Sopenharmony_ci <tr> 28302f4aeb0Sopenharmony_ci <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> 28402f4aeb0Sopenharmony_ci <code class="constant">EGL_NONE</code> 28502f4aeb0Sopenharmony_ci </td> 28602f4aeb0Sopenharmony_ci <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">Marks the end of the attribute-value list</td> 28702f4aeb0Sopenharmony_ci <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; ">All</td> 28802f4aeb0Sopenharmony_ci <td style="text-align: left; border-bottom: 2px solid ; ">N/A</td> 28902f4aeb0Sopenharmony_ci </tr> 29002f4aeb0Sopenharmony_ci <tr> 29102f4aeb0Sopenharmony_ci <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> 29202f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_LEVEL</code> 29302f4aeb0Sopenharmony_ci </td> 29402f4aeb0Sopenharmony_ci <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> 29502f4aeb0Sopenharmony_ci Specifies the mipmap level used as the 29602f4aeb0Sopenharmony_ci <span class="type">EGLImage</span> source. Must be part of 29702f4aeb0Sopenharmony_ci the complete texture object 29802f4aeb0Sopenharmony_ci <em class="parameter"><code>buffer</code></em> 29902f4aeb0Sopenharmony_ci </td> 30002f4aeb0Sopenharmony_ci <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> 30102f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_2D</code>, 30202f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_CUBE_MAP_*</code>, or 30302f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_3D</code> 30402f4aeb0Sopenharmony_ci </td> 30502f4aeb0Sopenharmony_ci <td style="text-align: left; border-bottom: 2px solid ; ">0</td> 30602f4aeb0Sopenharmony_ci </tr> 30702f4aeb0Sopenharmony_ci <tr> 30802f4aeb0Sopenharmony_ci <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> 30902f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_ZOFFSET</code> 31002f4aeb0Sopenharmony_ci </td> 31102f4aeb0Sopenharmony_ci <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> 31202f4aeb0Sopenharmony_ci Specifies the depth offset of the image to use 31302f4aeb0Sopenharmony_ci as the <span class="type">EGLImage</span> source. Must be 31402f4aeb0Sopenharmony_ci part of the complete texture object 31502f4aeb0Sopenharmony_ci <em class="parameter"><code>buffer</code></em> 31602f4aeb0Sopenharmony_ci </td> 31702f4aeb0Sopenharmony_ci <td style="text-align: left; border-right: 2px solid ; border-bottom: 2px solid ; "> 31802f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_3D</code> 31902f4aeb0Sopenharmony_ci </td> 32002f4aeb0Sopenharmony_ci <td style="text-align: left; border-bottom: 2px solid ; ">0</td> 32102f4aeb0Sopenharmony_ci </tr> 32202f4aeb0Sopenharmony_ci <tr> 32302f4aeb0Sopenharmony_ci <td style="text-align: left; border-right: 2px solid ; "> 32402f4aeb0Sopenharmony_ci <code class="constant">EGL_IMAGE_PRESERVED</code> 32502f4aeb0Sopenharmony_ci </td> 32602f4aeb0Sopenharmony_ci <td style="text-align: left; border-right: 2px solid ; ">Whether to preserve pixel data</td> 32702f4aeb0Sopenharmony_ci <td style="text-align: left; border-right: 2px solid ; ">All</td> 32802f4aeb0Sopenharmony_ci <td style="text-align: left; "> 32902f4aeb0Sopenharmony_ci <code class="constant">EGL_FALSE</code> 33002f4aeb0Sopenharmony_ci </td> 33102f4aeb0Sopenharmony_ci </tr> 33202f4aeb0Sopenharmony_ci </tbody> 33302f4aeb0Sopenharmony_ci </table> 33402f4aeb0Sopenharmony_ci </div> 33502f4aeb0Sopenharmony_ci </div> 33602f4aeb0Sopenharmony_ci <br class="table-break"/> 33702f4aeb0Sopenharmony_ci <p> 33802f4aeb0Sopenharmony_ci <code class="function">eglCreateImage</code> returns an 33902f4aeb0Sopenharmony_ci <span class="type">EGLImage</span> object corresponding to the image data 34002f4aeb0Sopenharmony_ci specified by <em class="parameter"><code>display</code></em>, 34102f4aeb0Sopenharmony_ci <em class="parameter"><code>context</code></em>, <em class="parameter"><code>target</code></em>, 34202f4aeb0Sopenharmony_ci <em class="parameter"><code>buffer</code></em> and 34302f4aeb0Sopenharmony_ci <em class="parameter"><code>attrib_list</code></em> which may be referenced by 34402f4aeb0Sopenharmony_ci client API operations. 34502f4aeb0Sopenharmony_ci </p> 34602f4aeb0Sopenharmony_ci <p> 34702f4aeb0Sopenharmony_ci If <em class="parameter"><code>target</code></em> is 34802f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_2D</code>, 34902f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_3D</code>, 35002f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_RENDERBUFFER</code>, 35102f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X</code>, 35202f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X</code>, 35302f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y</code>, 35402f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y</code>, 35502f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z</code>, or 35602f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</code>, 35702f4aeb0Sopenharmony_ci <em class="parameter"><code>display</code></em> must be a valid 35802f4aeb0Sopenharmony_ci <span class="type">EGLDisplay</span>, and <em class="parameter"><code>context</code></em> must 35902f4aeb0Sopenharmony_ci be a valid OpenGL or OpenGL ES API context on that display. 36002f4aeb0Sopenharmony_ci </p> 36102f4aeb0Sopenharmony_ci <p> 36202f4aeb0Sopenharmony_ci If <em class="parameter"><code>target</code></em> is 36302f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_2D</code>, 36402f4aeb0Sopenharmony_ci <em class="parameter"><code>buffer</code></em> must be the name of a nonzero, 36502f4aeb0Sopenharmony_ci <code class="constant">GL_TEXTURE_2D</code> target texture object, cast 36602f4aeb0Sopenharmony_ci into the type <span class="type">EGLClientBuffer</span>. 36702f4aeb0Sopenharmony_ci </p> 36802f4aeb0Sopenharmony_ci <p> 36902f4aeb0Sopenharmony_ci If <em class="parameter"><code>target</code></em> is one of the 37002f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_CUBE_MAP_*</code> enumerants, 37102f4aeb0Sopenharmony_ci <em class="parameter"><code>buffer</code></em> must be the name of a nonzero, 37202f4aeb0Sopenharmony_ci <code class="constant">GL_TEXTURE_CUBE_MAP</code> (or equivalent in GL 37302f4aeb0Sopenharmony_ci extensions) target texture object, cast into the type 37402f4aeb0Sopenharmony_ci <span class="type">EGLClientBuffer</span>. 37502f4aeb0Sopenharmony_ci </p> 37602f4aeb0Sopenharmony_ci <p> 37702f4aeb0Sopenharmony_ci If <em class="parameter"><code>target</code></em> is 37802f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_3D</code>, 37902f4aeb0Sopenharmony_ci <em class="parameter"><code>buffer</code></em> must be the name of a nonzero, 38002f4aeb0Sopenharmony_ci <code class="constant">GL_TEXTURE_3D</code> (or equivalent in GL 38102f4aeb0Sopenharmony_ci extensions) target texture object, cast into the type 38202f4aeb0Sopenharmony_ci <span class="type">EGLClientBuffer</span>. 38302f4aeb0Sopenharmony_ci </p> 38402f4aeb0Sopenharmony_ci <p> 38502f4aeb0Sopenharmony_ci <em class="parameter"><code>attrib_list</code></em> should specify the mipmap 38602f4aeb0Sopenharmony_ci level (<code class="constant">EGL_GL_TEXTURE_LEVEL</code>) and, where 38702f4aeb0Sopenharmony_ci applicable, z-offset 38802f4aeb0Sopenharmony_ci (<code class="constant">EGL_GL_TEXTURE_ZOFFSET</code>) which will be used 38902f4aeb0Sopenharmony_ci as the <span class="type">EGLImage</span> source; If not specified, the 39002f4aeb0Sopenharmony_ci default values listed in table <a class="xref" href="#tab-imageattr" title="Table 2. Legal attributes for eglCreateImage attrib_list parameter">Table 2, “ 39102f4aeb0Sopenharmony_ci Legal attributes for <code class="function">eglCreateImage</code> 39202f4aeb0Sopenharmony_ci <em class="parameter"><code>attrib_list</code></em> parameter 39302f4aeb0Sopenharmony_ci ”</a> 39402f4aeb0Sopenharmony_ci will be used instead. Additional values specified in are 39502f4aeb0Sopenharmony_ci ignored. 39602f4aeb0Sopenharmony_ci </p> 39702f4aeb0Sopenharmony_ci <p> 39802f4aeb0Sopenharmony_ci There must exist some levels <span class="emphasis"><em>x</em></span> and 39902f4aeb0Sopenharmony_ci <span class="emphasis"><em>y</em></span> such that the mipmap level requested lies 40002f4aeb0Sopenharmony_ci between <span class="emphasis"><em>x</em></span> and <span class="emphasis"><em>y</em></span> 40102f4aeb0Sopenharmony_ci (inclusive), the texture would be mipmap complete were 40202f4aeb0Sopenharmony_ci <span class="emphasis"><em>x</em></span> substituted for the base level and 40302f4aeb0Sopenharmony_ci <span class="emphasis"><em>y</em></span> substituted for the max level, and all 40402f4aeb0Sopenharmony_ci levels less than <span class="emphasis"><em>x</em></span> or greater than 40502f4aeb0Sopenharmony_ci <span class="emphasis"><em>y</em></span> are unspecified. For cubemaps a single 40602f4aeb0Sopenharmony_ci pair <span class="emphasis"><em>x</em></span> and <span class="emphasis"><em>y</em></span> must 40702f4aeb0Sopenharmony_ci apply to all faces. For three-dimensional textures, the 40802f4aeb0Sopenharmony_ci specified z-offset must be smaller than the depth of the 40902f4aeb0Sopenharmony_ci specified mipmap level. 41002f4aeb0Sopenharmony_ci </p> 41102f4aeb0Sopenharmony_ci <p> 41202f4aeb0Sopenharmony_ci If <em class="parameter"><code>target</code></em> is 41302f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_RENDERBUFFER</code>, 41402f4aeb0Sopenharmony_ci <em class="parameter"><code>buffer</code></em> must be the name of a complete, 41502f4aeb0Sopenharmony_ci nonzero, non-multisampled <code class="constant">GL_RENDERBUFFER</code> 41602f4aeb0Sopenharmony_ci (or equivalent in extensions) target object, cast into the type 41702f4aeb0Sopenharmony_ci <span class="type">EGLClientBuffer</span>. Values specified in 41802f4aeb0Sopenharmony_ci <em class="parameter"><code>attrib_list</code></em> are ignored. 41902f4aeb0Sopenharmony_ci </p> 42002f4aeb0Sopenharmony_ci <p> 42102f4aeb0Sopenharmony_ci If the value of attribute 42202f4aeb0Sopenharmony_ci <code class="constant">EGL_IMAGE_PRESERVED</code> is 42302f4aeb0Sopenharmony_ci <code class="constant">EGL_FALSE</code> (the default), then all pixel 42402f4aeb0Sopenharmony_ci data values associated with <em class="parameter"><code>buffer</code></em> will 42502f4aeb0Sopenharmony_ci be undefined after <code class="function">eglCreateImage</code> returns. 42602f4aeb0Sopenharmony_ci </p> 42702f4aeb0Sopenharmony_ci <p> 42802f4aeb0Sopenharmony_ci If the value of attribute 42902f4aeb0Sopenharmony_ci <code class="constant">EGL_IMAGE_PRESERVED</code> is 43002f4aeb0Sopenharmony_ci <code class="constant">EGL_TRUE</code>, then all pixel data values 43102f4aeb0Sopenharmony_ci associated with <em class="parameter"><code>buffer</code></em> are preserved. 43202f4aeb0Sopenharmony_ci </p> 43302f4aeb0Sopenharmony_ci </div> 43402f4aeb0Sopenharmony_ci <div class="refsect1" id="errors"> 43502f4aeb0Sopenharmony_ci <h2>Errors</h2> 43602f4aeb0Sopenharmony_ci <p> 43702f4aeb0Sopenharmony_ci <code class="function">eglCreateImage</code> returns 43802f4aeb0Sopenharmony_ci <code class="constant">EGL_NO_IMAGE</code> on failure. The contents of 43902f4aeb0Sopenharmony_ci <em class="parameter"><code>buffer</code></em> will be unaffected. 44002f4aeb0Sopenharmony_ci </p> 44102f4aeb0Sopenharmony_ci <p> 44202f4aeb0Sopenharmony_ci If <em class="parameter"><code>display</code></em> is not the handle of a valid 44302f4aeb0Sopenharmony_ci <span class="type">EGLDisplay</span> object, the error 44402f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_DISPLAY</code> is generated. 44502f4aeb0Sopenharmony_ci </p> 44602f4aeb0Sopenharmony_ci <p> 44702f4aeb0Sopenharmony_ci If <em class="parameter"><code>context</code></em> is neither the handle of a 44802f4aeb0Sopenharmony_ci valid <span class="type">EGLContext</span> object on 44902f4aeb0Sopenharmony_ci <em class="parameter"><code>display</code></em> nor 45002f4aeb0Sopenharmony_ci <code class="constant">EGL_NO_CONTEXT</code>, the error 45102f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_CONTEXT</code> is generated. 45202f4aeb0Sopenharmony_ci </p> 45302f4aeb0Sopenharmony_ci <p> 45402f4aeb0Sopenharmony_ci If <em class="parameter"><code>target</code></em> is not one of the values in 45502f4aeb0Sopenharmony_ci table <a class="xref" href="#tab-imagetarget" title="Table 1. Legal values for eglCreateImage target">Table 1, “ 45602f4aeb0Sopenharmony_ci Legal values for <code class="function">eglCreateImage</code> <em class="parameter"><code>target</code></em> 45702f4aeb0Sopenharmony_ci ”</a>, the error 45802f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_PARAMETER</code> is generated. 45902f4aeb0Sopenharmony_ci </p> 46002f4aeb0Sopenharmony_ci <p> 46102f4aeb0Sopenharmony_ci If <em class="parameter"><code>target</code></em> is 46202f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_2D</code>, 46302f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_CUBE_MAP_*</code>, 46402f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_RENDERBUFFER</code> or 46502f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_3D</code>, and 46602f4aeb0Sopenharmony_ci <em class="parameter"><code>display</code></em> is not a valid 46702f4aeb0Sopenharmony_ci <span class="type">EGLDisplay</span>, the error 46802f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_DISPLAY</code> is generated. 46902f4aeb0Sopenharmony_ci </p> 47002f4aeb0Sopenharmony_ci <p> 47102f4aeb0Sopenharmony_ci If <em class="parameter"><code>target</code></em> is 47202f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_2D</code>, 47302f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_CUBE_MAP_*</code>, 47402f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_RENDERBUFFER</code> or 47502f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_3D</code>, and 47602f4aeb0Sopenharmony_ci <em class="parameter"><code>context</code></em> is not a valid 47702f4aeb0Sopenharmony_ci <span class="type">EGLContext</span>, the error 47802f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_CONTEXT</code> is generated. 47902f4aeb0Sopenharmony_ci </p> 48002f4aeb0Sopenharmony_ci <p> 48102f4aeb0Sopenharmony_ci If <em class="parameter"><code>target</code></em> is 48202f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_2D</code>, 48302f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_CUBE_MAP_*</code>, 48402f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_RENDERBUFFER</code> or 48502f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_3D</code>, and 48602f4aeb0Sopenharmony_ci <em class="parameter"><code>context</code></em> is not a valid GL context, or 48702f4aeb0Sopenharmony_ci does not match the <em class="parameter"><code>display</code></em>, the error 48802f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_MATCH</code> is generated. 48902f4aeb0Sopenharmony_ci </p> 49002f4aeb0Sopenharmony_ci <p> 49102f4aeb0Sopenharmony_ci If <em class="parameter"><code>target</code></em> is 49202f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_2D</code>, 49302f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_CUBE_MAP_*</code> or 49402f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_3D</code> and 49502f4aeb0Sopenharmony_ci <em class="parameter"><code>buffer</code></em> is not the name of a texture 49602f4aeb0Sopenharmony_ci object of type <em class="parameter"><code>target</code></em>, the error 49702f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_PARAMETER</code> is generated. 49802f4aeb0Sopenharmony_ci </p> 49902f4aeb0Sopenharmony_ci <p> 50002f4aeb0Sopenharmony_ci If <em class="parameter"><code>target</code></em> is 50102f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_RENDERBUFFER</code> and 50202f4aeb0Sopenharmony_ci <em class="parameter"><code>buffer</code></em> is not the name of a renderbuffer 50302f4aeb0Sopenharmony_ci object, or if <em class="parameter"><code>buffer</code></em> is the name of a 50402f4aeb0Sopenharmony_ci multisampled renderbuffer object, the error 50502f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_PARAMETER</code> is generated. 50602f4aeb0Sopenharmony_ci </p> 50702f4aeb0Sopenharmony_ci <p> 50802f4aeb0Sopenharmony_ci If <code class="constant">EGL_GL_TEXTURE_LEVEL</code> is nonzero, 50902f4aeb0Sopenharmony_ci <em class="parameter"><code>target</code></em> is 51002f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_2D</code>, 51102f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_CUBE_MAP_*</code> or 51202f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_3D</code>, and 51302f4aeb0Sopenharmony_ci <em class="parameter"><code>buffer</code></em> is not the name of a complete GL 51402f4aeb0Sopenharmony_ci texture object, the error <code class="constant">EGL_BAD_PARAMETER</code> 51502f4aeb0Sopenharmony_ci is generated. 51602f4aeb0Sopenharmony_ci </p> 51702f4aeb0Sopenharmony_ci <p> 51802f4aeb0Sopenharmony_ci If <code class="constant">EGL_GL_TEXTURE_LEVEL</code> is 0, 51902f4aeb0Sopenharmony_ci <em class="parameter"><code>target</code></em> is 52002f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_2D</code>, 52102f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_CUBE_MAP_*</code> or 52202f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_3D</code>, 52302f4aeb0Sopenharmony_ci <em class="parameter"><code>buffer</code></em> is the name of an incomplete GL 52402f4aeb0Sopenharmony_ci texture object, and any mipmap levels other than mipmap level 0 52502f4aeb0Sopenharmony_ci are specified, the error <code class="constant">EGL_BAD_PARAMETER</code> 52602f4aeb0Sopenharmony_ci is generated. 52702f4aeb0Sopenharmony_ci </p> 52802f4aeb0Sopenharmony_ci <p> 52902f4aeb0Sopenharmony_ci If <code class="constant">EGL_GL_TEXTURE_LEVEL</code> is 0, 53002f4aeb0Sopenharmony_ci <em class="parameter"><code>target</code></em> is 53102f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_2D</code> or 53202f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_3D</code>, 53302f4aeb0Sopenharmony_ci <em class="parameter"><code>buffer</code></em> is not the name of a complete GL 53402f4aeb0Sopenharmony_ci texture object, and mipmap level 0 is not specified, the error 53502f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_PARAMETER</code> is generated. 53602f4aeb0Sopenharmony_ci </p> 53702f4aeb0Sopenharmony_ci <p> 53802f4aeb0Sopenharmony_ci If <code class="constant">EGL_GL_TEXTURE_LEVEL</code> is 0, 53902f4aeb0Sopenharmony_ci <em class="parameter"><code>target</code></em> is 54002f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_CUBE_MAP_*</code>, 54102f4aeb0Sopenharmony_ci <em class="parameter"><code>buffer</code></em> is not the name of a complete GL 54202f4aeb0Sopenharmony_ci texture object, and one or more faces do not have mipmap level 0 54302f4aeb0Sopenharmony_ci specified, the error <code class="constant">EGL_BAD_PARAMETER</code> is 54402f4aeb0Sopenharmony_ci generated. 54502f4aeb0Sopenharmony_ci </p> 54602f4aeb0Sopenharmony_ci <p> 54702f4aeb0Sopenharmony_ci If <em class="parameter"><code>target</code></em> is 54802f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_2D</code>, 54902f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_CUBE_MAP_*</code>, 55002f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_RENDERBUFFER</code> or 55102f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_3D</code> and 55202f4aeb0Sopenharmony_ci <em class="parameter"><code>buffer</code></em> refers to the default GL texture 55302f4aeb0Sopenharmony_ci object (0) for the corresponding GL target, the error 55402f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_PARAMETER</code> is generated. 55502f4aeb0Sopenharmony_ci </p> 55602f4aeb0Sopenharmony_ci <p> 55702f4aeb0Sopenharmony_ci If <em class="parameter"><code>target</code></em> is 55802f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_2D</code>, 55902f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_CUBE_MAP_*</code>, or 56002f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_3D</code>, and the value specified 56102f4aeb0Sopenharmony_ci in <em class="parameter"><code>attrib_list</code></em> for 56202f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_LEVEL</code> is not a valid mipmap 56302f4aeb0Sopenharmony_ci level for the specified GL texture object 56402f4aeb0Sopenharmony_ci <em class="parameter"><code>buffer</code></em>, the error 56502f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_MATCH</code> is generated. 56602f4aeb0Sopenharmony_ci </p> 56702f4aeb0Sopenharmony_ci <p> 56802f4aeb0Sopenharmony_ci If <em class="parameter"><code>target</code></em> is 56902f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_3D</code>, and the value specified 57002f4aeb0Sopenharmony_ci in <em class="parameter"><code>attrib_list</code></em> for 57102f4aeb0Sopenharmony_ci <code class="constant">EGL_GL_TEXTURE_ZOFFSET</code> exceeds the depth of 57202f4aeb0Sopenharmony_ci the specified mipmap level-of-detail in 57302f4aeb0Sopenharmony_ci <em class="parameter"><code>buffer</code></em>, the error 57402f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_PARAMETER</code> is generated. 57502f4aeb0Sopenharmony_ci </p> 57602f4aeb0Sopenharmony_ci <p> 57702f4aeb0Sopenharmony_ci If an attribute specified in <em class="parameter"><code>attrib_list</code></em> 57802f4aeb0Sopenharmony_ci is not one of the attributes shown in table <a class="xref" href="#tab-imageattr" title="Table 2. Legal attributes for eglCreateImage attrib_list parameter">Table 2, “ 57902f4aeb0Sopenharmony_ci Legal attributes for <code class="function">eglCreateImage</code> 58002f4aeb0Sopenharmony_ci <em class="parameter"><code>attrib_list</code></em> parameter 58102f4aeb0Sopenharmony_ci ”</a>, the error 58202f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_PARAMETER</code> is generated. 58302f4aeb0Sopenharmony_ci </p> 58402f4aeb0Sopenharmony_ci <p> 58502f4aeb0Sopenharmony_ci If an attribute specified in <em class="parameter"><code>attrib_list</code></em> 58602f4aeb0Sopenharmony_ci is not a valid attribute for <em class="parameter"><code>target</code></em>, as 58702f4aeb0Sopenharmony_ci shown in table <a class="xref" href="#tab-imageattr" title="Table 2. Legal attributes for eglCreateImage attrib_list parameter">Table 2, “ 58802f4aeb0Sopenharmony_ci Legal attributes for <code class="function">eglCreateImage</code> 58902f4aeb0Sopenharmony_ci <em class="parameter"><code>attrib_list</code></em> parameter 59002f4aeb0Sopenharmony_ci ”</a>, the error 59102f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_MATCH</code> is generated. 59202f4aeb0Sopenharmony_ci </p> 59302f4aeb0Sopenharmony_ci <p> 59402f4aeb0Sopenharmony_ci If the resource specified by <em class="parameter"><code>display</code></em>, 59502f4aeb0Sopenharmony_ci <em class="parameter"><code>context</code></em>, <em class="parameter"><code>target</code></em>, 59602f4aeb0Sopenharmony_ci <em class="parameter"><code>buffer</code></em> and 59702f4aeb0Sopenharmony_ci <em class="parameter"><code>attrib_list</code></em> has an off-screen buffer 59802f4aeb0Sopenharmony_ci bound to it (e.g., by a previous call to 59902f4aeb0Sopenharmony_ci <code class="function">eglBindTexImage</code>), the error 60002f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_ACCESS</code> is generated. 60102f4aeb0Sopenharmony_ci </p> 60202f4aeb0Sopenharmony_ci <p> 60302f4aeb0Sopenharmony_ci If the resource specified by <em class="parameter"><code>display</code></em>, 60402f4aeb0Sopenharmony_ci <em class="parameter"><code>context</code></em>, <em class="parameter"><code>target</code></em>, 60502f4aeb0Sopenharmony_ci <em class="parameter"><code>buffer</code></em> and 60602f4aeb0Sopenharmony_ci <em class="parameter"><code>attrib_list</code></em> is bound to an off-screen 60702f4aeb0Sopenharmony_ci buffer (e.g., by a previous call to 60802f4aeb0Sopenharmony_ci <code class="function">eglCreatePbufferFromClientBuffer</code>), the 60902f4aeb0Sopenharmony_ci error <code class="constant">EGL_BAD_ACCESS</code> is generated. 61002f4aeb0Sopenharmony_ci </p> 61102f4aeb0Sopenharmony_ci <p> 61202f4aeb0Sopenharmony_ci If the resource specified by <em class="parameter"><code>display</code></em>, 61302f4aeb0Sopenharmony_ci <em class="parameter"><code>context</code></em>, <em class="parameter"><code>target</code></em>, 61402f4aeb0Sopenharmony_ci <em class="parameter"><code>buffer</code></em> and 61502f4aeb0Sopenharmony_ci <em class="parameter"><code>attrib_list</code></em> is itself an 61602f4aeb0Sopenharmony_ci <span class="type">EGLImage</span> sibling, the error 61702f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_ACCESS</code> is generated. 61802f4aeb0Sopenharmony_ci </p> 61902f4aeb0Sopenharmony_ci <p> 62002f4aeb0Sopenharmony_ci If insufficient memory is available to complete the specified 62102f4aeb0Sopenharmony_ci operation, the error <code class="constant">EGL_BAD_ALLOC</code> is 62202f4aeb0Sopenharmony_ci generated. 62302f4aeb0Sopenharmony_ci </p> 62402f4aeb0Sopenharmony_ci <p> 62502f4aeb0Sopenharmony_ci If the value specified in <em class="parameter"><code>attrib_list</code></em> for 62602f4aeb0Sopenharmony_ci <code class="constant">EGL_IMAGE_PRESERVED</code> is 62702f4aeb0Sopenharmony_ci <code class="constant">EGL_TRUE</code>, and an <span class="type">EGLImage</span> 62802f4aeb0Sopenharmony_ci handle cannot be created from the specified resource such that 62902f4aeb0Sopenharmony_ci the pixel data values in <em class="parameter"><code>buffer</code></em> are 63002f4aeb0Sopenharmony_ci preserved, the error <code class="constant">EGL_BAD_ACCESS</code> is 63102f4aeb0Sopenharmony_ci generated. 63202f4aeb0Sopenharmony_ci </p> 63302f4aeb0Sopenharmony_ci <p> 63402f4aeb0Sopenharmony_ci Note that the success or failure of 63502f4aeb0Sopenharmony_ci <code class="function">eglCreateImage</code> should not affect the 63602f4aeb0Sopenharmony_ci ability to use <em class="parameter"><code>buffer</code></em> in its original API 63702f4aeb0Sopenharmony_ci context (or context share group) (although the pixel data values 63802f4aeb0Sopenharmony_ci will be undefined if the command succeeds and the value of 63902f4aeb0Sopenharmony_ci <code class="constant">EGL_IMAGE_PRESERVED</code> is not 64002f4aeb0Sopenharmony_ci <code class="constant">EGL_TRUE</code>). 64102f4aeb0Sopenharmony_ci </p> 64202f4aeb0Sopenharmony_ci </div> 64302f4aeb0Sopenharmony_ci <div class="refsect1" id="lifetime"> 64402f4aeb0Sopenharmony_ci <h2>Lifetime and Usage of <span class="type">EGLImage</span>s</h2> 64502f4aeb0Sopenharmony_ci <p> 64602f4aeb0Sopenharmony_ci Once an <span class="type">EGLImage</span> is created from an 64702f4aeb0Sopenharmony_ci <span class="type">EGLImage</span> source, the memory associated with the 64802f4aeb0Sopenharmony_ci <span class="type">EGLImage</span> source will remain allocated (and all 64902f4aeb0Sopenharmony_ci <span class="type">EGLImage</span> siblings in all client API contexts will 65002f4aeb0Sopenharmony_ci be useable) as long as either of the following conditions is 65102f4aeb0Sopenharmony_ci true: 65202f4aeb0Sopenharmony_ci </p> 65302f4aeb0Sopenharmony_ci <p> 65402f4aeb0Sopenharmony_ci </p> 65502f4aeb0Sopenharmony_ci <div class="itemizedlist"> 65602f4aeb0Sopenharmony_ci <ul class="itemizedlist" style="list-style-type: disc; "> 65702f4aeb0Sopenharmony_ci <li class="listitem"> 65802f4aeb0Sopenharmony_ci <p> 65902f4aeb0Sopenharmony_ci Any <span class="type">EGLImage</span> siblings exist in any client 66002f4aeb0Sopenharmony_ci API context 66102f4aeb0Sopenharmony_ci </p> 66202f4aeb0Sopenharmony_ci </li> 66302f4aeb0Sopenharmony_ci <li class="listitem"> 66402f4aeb0Sopenharmony_ci <p> 66502f4aeb0Sopenharmony_ci The <span class="type">EGLImage</span> object exists inside EGL 66602f4aeb0Sopenharmony_ci </p> 66702f4aeb0Sopenharmony_ci </li> 66802f4aeb0Sopenharmony_ci </ul> 66902f4aeb0Sopenharmony_ci </div> 67002f4aeb0Sopenharmony_ci <p> 67102f4aeb0Sopenharmony_ci </p> 67202f4aeb0Sopenharmony_ci <p> 67302f4aeb0Sopenharmony_ci The semantics for specifying, deleting and using 67402f4aeb0Sopenharmony_ci <span class="type">EGLImage</span> siblings are client API-specific, and are 67502f4aeb0Sopenharmony_ci described in the appropriate API specifications. 67602f4aeb0Sopenharmony_ci </p> 67702f4aeb0Sopenharmony_ci <p> 67802f4aeb0Sopenharmony_ci If an application specifies an <span class="type">EGLImage</span> sibling as 67902f4aeb0Sopenharmony_ci the destination for rendering and/or pixel download operations 68002f4aeb0Sopenharmony_ci (e.g., as an OpenGL or OpenGL ES framebuffer object, 68102f4aeb0Sopenharmony_ci <code class="function">glTexSubImage2D</code>, etc.), the modified image 68202f4aeb0Sopenharmony_ci results will be observed by all <span class="type">EGLImage</span> siblings 68302f4aeb0Sopenharmony_ci in all client API contexts. If multiple client API contexts 68402f4aeb0Sopenharmony_ci access <span class="type">EGLImage</span> sibling resources simultaneously, 68502f4aeb0Sopenharmony_ci with one or more context modifying the image data, rendering 68602f4aeb0Sopenharmony_ci results in all contexts accessing <span class="type">EGLImage</span> siblings 68702f4aeb0Sopenharmony_ci are undefined. 68802f4aeb0Sopenharmony_ci </p> 68902f4aeb0Sopenharmony_ci <p> 69002f4aeb0Sopenharmony_ci Respecification and/or deletion of any <span class="type">EGLImage</span> 69102f4aeb0Sopenharmony_ci sibling (i.e., both <span class="type">EGLImage</span> source and 69202f4aeb0Sopenharmony_ci <span class="type">EGLImage</span> target resources) inside a client API 69302f4aeb0Sopenharmony_ci context (by issuing a subsequent call to commands such as 69402f4aeb0Sopenharmony_ci <code class="function">glTexImage*</code> or 69502f4aeb0Sopenharmony_ci <code class="function">glDeleteTextures</code>, with the 69602f4aeb0Sopenharmony_ci <span class="type">EGLImage</span> sibling resource as the target of the 69702f4aeb0Sopenharmony_ci operation) affects only that client API context and other 69802f4aeb0Sopenharmony_ci contexts within its share group. For an OpenGL or OpenGL ES 69902f4aeb0Sopenharmony_ci context, respecification always results in 70002f4aeb0Sopenharmony_ci <em class="firstterm">orphaning</em> of the <span class="type">EGLImage</span>, 70102f4aeb0Sopenharmony_ci and may also include allocation of additional memory for the 70202f4aeb0Sopenharmony_ci respecified resource and/or copying of the <span class="type">EGLImage</span> 70302f4aeb0Sopenharmony_ci pixel data. 70402f4aeb0Sopenharmony_ci </p> 70502f4aeb0Sopenharmony_ci <p> 70602f4aeb0Sopenharmony_ci Note: Behavior of other types of client APIs generally follows 70702f4aeb0Sopenharmony_ci the OpenGL and OpenGL ES behavior described here, although this 70802f4aeb0Sopenharmony_ci is not mandated yet. 70902f4aeb0Sopenharmony_ci </p> 71002f4aeb0Sopenharmony_ci <p> 71102f4aeb0Sopenharmony_ci Operations inside EGL or any client API context which may affect 71202f4aeb0Sopenharmony_ci the lifetime of an <span class="type">EGLImage</span> (or the memory 71302f4aeb0Sopenharmony_ci allocated for the <span class="type">EGLImage</span>), such as respecifying 71402f4aeb0Sopenharmony_ci and/or deleting an <span class="type">EGLImage</span> sibling inside a client 71502f4aeb0Sopenharmony_ci API context, must be atomic. 71602f4aeb0Sopenharmony_ci </p> 71702f4aeb0Sopenharmony_ci <p> 71802f4aeb0Sopenharmony_ci Applications may create client API resources from an 71902f4aeb0Sopenharmony_ci <span class="type">EGLImage</span> using client API extensions outside the 72002f4aeb0Sopenharmony_ci scope of this document (such as 72102f4aeb0Sopenharmony_ci <code class="constant">GL_OES_EGL_image</code>, which creates OpenGL ES 72202f4aeb0Sopenharmony_ci texture and renderbuffer objects). If the <span class="type">EGLImage</span> 72302f4aeb0Sopenharmony_ci used to create the client resource was created with the 72402f4aeb0Sopenharmony_ci <code class="constant">EGL_IMAGE_PRESERVED</code> attribute set to 72502f4aeb0Sopenharmony_ci <code class="constant">EGL_TRUE</code>, then the pixel data values 72602f4aeb0Sopenharmony_ci associated with the image will be preserved after creating the 72702f4aeb0Sopenharmony_ci client resource; otherwise, the pixel data values will be 72802f4aeb0Sopenharmony_ci undefined. If the <span class="type">EGLImage</span> was created with the 72902f4aeb0Sopenharmony_ci <code class="constant">EGL_IMAGE_PRESERVED</code> attribute set to 73002f4aeb0Sopenharmony_ci <code class="constant">EGL_TRUE</code>, and EGL is unable to create the 73102f4aeb0Sopenharmony_ci client resource without modifying the pixel values, then 73202f4aeb0Sopenharmony_ci creation will fail and the pixel data values will be preserved. 73302f4aeb0Sopenharmony_ci </p> 73402f4aeb0Sopenharmony_ci </div> 73502f4aeb0Sopenharmony_ci <div class="refsect1" id="notes"> 73602f4aeb0Sopenharmony_ci <h2>Notes</h2> 73702f4aeb0Sopenharmony_ci <p> 73802f4aeb0Sopenharmony_ci <code class="function">eglCreateImage</code> is available only if the EGL 73902f4aeb0Sopenharmony_ci version is 1.5 or greater. 74002f4aeb0Sopenharmony_ci </p> 74102f4aeb0Sopenharmony_ci </div> 74202f4aeb0Sopenharmony_ci <div class="refsect1" id="seealso"> 74302f4aeb0Sopenharmony_ci <h2>See Also</h2> 74402f4aeb0Sopenharmony_ci <p> 74502f4aeb0Sopenharmony_ci <a class="citerefentry" href="eglBindTexImage.xhtml"><span class="citerefentry"><span class="refentrytitle">eglBindTexImage</span></span></a>, 74602f4aeb0Sopenharmony_ci <a class="citerefentry" href="eglCreatePbufferFromClientBuffer.xhtml"><span class="citerefentry"><span class="refentrytitle">eglCreatePbufferFromClientBuffer</span></span></a>, 74702f4aeb0Sopenharmony_ci <a class="citerefentry" href="eglDestroyImage.xhtml"><span class="citerefentry"><span class="refentrytitle">eglDestroyImage</span></span></a>, 74802f4aeb0Sopenharmony_ci <code class="function">glDeleteTextures</code>, 74902f4aeb0Sopenharmony_ci <code class="function">glTexImage*</code>, 75002f4aeb0Sopenharmony_ci <code class="function">glTexSubImage2D</code> 75102f4aeb0Sopenharmony_ci </p> 75202f4aeb0Sopenharmony_ci </div> 75302f4aeb0Sopenharmony_ci <p> 75402f4aeb0Sopenharmony_ci </p> 75502f4aeb0Sopenharmony_ci <div class="refsect3" id="copyright"> 75602f4aeb0Sopenharmony_ci <img src="KhronosLogo.jpg"/> 75702f4aeb0Sopenharmony_ci <p> 75802f4aeb0Sopenharmony_ci Copyright © 2003-2014 The Khronos Group Inc. 75902f4aeb0Sopenharmony_ci Permission is hereby granted, free of charge, to any person obtaining a 76002f4aeb0Sopenharmony_ci copy of this software and/or associated documentation files (the 76102f4aeb0Sopenharmony_ci "Materials"), to deal in the Materials without restriction, including 76202f4aeb0Sopenharmony_ci without limitation the rights to use, copy, modify, merge, publish, 76302f4aeb0Sopenharmony_ci distribute, sublicense, and/or sell copies of the Materials, and to 76402f4aeb0Sopenharmony_ci permit persons to whom the Materials are furnished to do so, subject to 76502f4aeb0Sopenharmony_ci the condition that this copyright notice and permission notice shall be included 76602f4aeb0Sopenharmony_ci in all copies or substantial portions of the Materials. 76702f4aeb0Sopenharmony_ci </p> 76802f4aeb0Sopenharmony_ci </div> 76902f4aeb0Sopenharmony_ci <p> 77002f4aeb0Sopenharmony_ci</p> 77102f4aeb0Sopenharmony_ci </div> 77202f4aeb0Sopenharmony_ci <footer/> 77302f4aeb0Sopenharmony_ci </body> 77402f4aeb0Sopenharmony_ci</html> 775