|  | 
 |     <bridgehead>OpenGL and Corresponding OpenCL Image Formats</bridgehead> | 
 |  | 
 |     <para> | 
 |       <!-- Table 9.4 --> The table below (Table 9.4) describes | 
 |       the list of GL texture internal formats and the corresponding CL image formats. If a GL | 
 |       texture object with an internal format from the table below is successfully created by | 
 |       OpenGL, then there is guaranteed to be a mapping to one of the corresponding CL image | 
 |       format(s) in that table. Texture objects created with other OpenGL internal formats may | 
 |       (but are not guaranteed to) have a mapping to a CL image format; if such mappings exist, | 
 |       they are guaranteed to preserve all color components, data types, and at least the number | 
 |       of bits/component actually allocated by OpenGL for that format. | 
 |     </para> | 
 |  | 
 |     <informaltable frame="all"> | 
 |         <tgroup cols="2" align="center" colsep="1" rowsep="1"> | 
 |             <colspec colname="col1" colnum="1" /> | 
 |             <colspec colname="col2" colnum="2" /> | 
 |             <thead> | 
 |                 <row> | 
 |                     <entry>GL internal format</entry> | 
 |                     <entry>CL image format (channel order, channel data type)</entry> | 
 |                 </row> | 
 |             </thead> | 
 |  | 
 |             <tbody> | 
 |                 <row> | 
 |                     <entry><constant>GL_RGBA8</constant></entry> | 
 |                     <entry><constant>CL_RGBA, CL_UNORM_INT8 or CL_BGRA, CL_UNORM_INT8</constant></entry> | 
 |                 </row> | 
 |  | 
 |                 <row> | 
 |                     <entry><constant>GL_SRGBA8_ALPHA8</constant></entry> | 
 |                     <entry><constant>CL_sRGBA, CL_UNORM_INT8</constant></entry> | 
 |                 </row> | 
 |  | 
 |                 <row> | 
 |                     <entry><constant>GL_RGBA</constant>, <constant>GL_UNSIGNED_INT_8_8_8_8_REV</constant></entry> | 
 |                     <entry><constant>CL_RGBA, CL_UNORM_INT8</constant></entry> | 
 |                 </row> | 
 |  | 
 |                 <row> | 
 |                     <entry><constant>GL_BGRA</constant>, <constant>GL_UNSIGNED_INT_8_8_8_8_REV</constant></entry> | 
 |                     <entry><constant>CL_BGRA, CL_UNORM_INT8</constant></entry> | 
 |                 </row> | 
 |  | 
 |                 <row> | 
 |                     <entry><constant>GL_RGBA8I, GL_RGBA8I_EXT</constant></entry> | 
 |                     <entry><constant>CL_RGBA, CL_SIGNED_INT8</constant></entry> | 
 |                 </row> | 
 |  | 
 |                 <row> | 
 |                     <entry><constant>GL_RGBA16I, GL_RGBA16I_EXT</constant></entry> | 
 |                     <entry><constant>CL_RGBA, CL_SIGNED_INT16</constant></entry> | 
 |                 </row> | 
 |  | 
 |                 <row> | 
 |                     <entry><constant>GL_RGBA32I, GL_RGBA32I_EXT</constant></entry> | 
 |                     <entry><constant>CL_RGBA, CL_SIGNED_INT32</constant></entry> | 
 |                 </row> | 
 |  | 
 |                 <row> | 
 |                     <entry><constant>GL_RGBA8UI, GL_RGBA8UI_EXT</constant></entry> | 
 |                     <entry><constant>CL_RGBA, CL_UNSIGNED_INT8</constant></entry> | 
 |                 </row> | 
 |  | 
 |                 <row> | 
 |                     <entry><constant>GL_RGBA16UI, GL_RGBA16UI_EXT</constant></entry> | 
 |                     <entry><constant>CL_RGBA, CL_UNSIGNED_INT16</constant></entry> | 
 |                 </row> | 
 |  | 
 |                 <row> | 
 |                     <entry><constant>GL_RGBA32UI, GL_RGBA32UI_EXT</constant></entry> | 
 |                     <entry><constant>CL_RGBA, CL_UNSIGNED_INT32</constant></entry> | 
 |                 </row> | 
 |  | 
 |                 <row> | 
 |                     <entry><constant>GL_RGBA8_SNORM</constant></entry> | 
 |                     <entry><constant>CL_RGBA, CL_SNORM_INT8</constant></entry> | 
 |                 </row> | 
 |  | 
 |                 <row> | 
 |                     <entry><constant>GL_RGBA16</constant></entry> | 
 |                     <entry><constant>CL_RGBA, CL_UNORM_INT16</constant></entry> | 
 |                 </row> | 
 |  | 
 |                 <row> | 
 |                     <entry><constant>GL_RGBA16_SNORM</constant></entry> | 
 |                     <entry><constant>CL_RGBA, CL_SNORM_INT166</constant></entry> | 
 |                 </row> | 
 |  | 
 |                 <row> | 
 |                     <entry><constant>GL_RGBA16F, GL_RGBA16F_ARB</constant></entry> | 
 |                     <entry><constant>CL_RGBA, CL_HALF_FLOAT</constant></entry> | 
 |                 </row> | 
 |  | 
 |                 <row> | 
 |                     <entry><constant>GL_RGBA32F, GL_RGBA32F_ARB</constant></entry> | 
 |                     <entry><constant>CL_RGBA, CL_FLOAT</constant></entry> | 
 |                 </row> | 
 |  | 
 |                 <row> | 
 |                     <entry><constant>GL_R8</constant></entry> | 
 |                     <entry><constant>CL_R, CL_UNORM_INT8 </constant></entry> | 
 |                 </row> | 
 |                 <row> | 
 |                     <entry><constant>GL_R8_SNORM</constant></entry> | 
 |                     <entry><constant>CL_R, CL_SNORM_INT8 </constant></entry> | 
 |                 </row> | 
 |                 <row> | 
 |                     <entry><constant>GL_R16</constant></entry> | 
 |                     <entry><constant>CL_R, CL_UNORM_INT16 </constant></entry> | 
 |                 </row> | 
 |                 <row> | 
 |                     <entry><constant>GL_R16_SNORM</constant></entry> | 
 |                     <entry><constant>CL_R, CL_SNORM_INT16 </constant></entry> | 
 |                 </row> | 
 |                 <row> | 
 |                     <entry><constant>GL_R16F</constant></entry> | 
 |                     <entry><constant>CL_R, CL_HALF_FLOAT </constant></entry> | 
 |                 </row> | 
 |                 <row> | 
 |                     <entry><constant>GL_R32F</constant></entry> | 
 |                     <entry><constant>CL_R, CL_FLOAT </constant></entry> | 
 |                 </row> | 
 |                 <row> | 
 |                     <entry><constant>GL_R8I</constant></entry> | 
 |                     <entry><constant>CL_R, CL_SIGNED_INT8</constant></entry> | 
 |                 </row> | 
 |                 <row> | 
 |                     <entry><constant>GL_R16I</constant></entry> | 
 |                     <entry><constant>CL_R, CL_SIGNED_INT16</constant></entry> | 
 |                 </row> | 
 |                 <row> | 
 |                     <entry><constant>GL_R32I</constant></entry> | 
 |                     <entry><constant>CL_R, CL_SIGNED_INT32</constant></entry> | 
 |                 </row> | 
 |                 <row> | 
 |                     <entry><constant>GL_R8UI</constant></entry> | 
 |                     <entry><constant>CL_R, CL_UNSIGNED_INT8</constant></entry> | 
 |                 </row> | 
 |                 <row> | 
 |                     <entry><constant>GL_R16UI</constant></entry> | 
 |                     <entry><constant>CL_R, CL_UNSIGNED_INT16</constant></entry> | 
 |                 </row> | 
 |                 <row> | 
 |                     <entry><constant>GL_R32UI</constant></entry> | 
 |                     <entry><constant>CL_R, CL_UNSIGNED_INT32</constant></entry> | 
 |                 </row> | 
 |                 <row> | 
 |                     <entry><constant>GL_RG8</constant></entry> | 
 |                     <entry><constant>CL_RG, CL_UNORM_INT8 </constant></entry> | 
 |                 </row> | 
 |                 <row> | 
 |                     <entry><constant>GL_RG8_SNORM</constant></entry> | 
 |                     <entry><constant>CL_RG, CL_SNORM_INT8</constant></entry> | 
 |                 </row> | 
 |                 <row> | 
 |                     <entry><constant>GL_RG16</constant></entry> | 
 |                     <entry><constant>CL_RG, CL_UNORM_INT16</constant></entry> | 
 |                 </row> | 
 |                 <row> | 
 |                     <entry><constant>GL_RG16_SNORM</constant></entry> | 
 |                     <entry><constant>CL_RG, CL_SNORM_INT16 </constant></entry> | 
 |                 </row> | 
 |                 <row> | 
 |                     <entry><constant>GL_RG16F</constant></entry> | 
 |                     <entry><constant>CL_RG, CL_HALF_FLOAT </constant></entry> | 
 |                 </row> | 
 |                 <row> | 
 |                     <entry><constant>GL_RG32F</constant></entry> | 
 |                     <entry><constant>CL_RG, CL_FLOAT</constant></entry> | 
 |                 </row> | 
 |                 <row> | 
 |                     <entry><constant>GL_RG8I</constant></entry> | 
 |                     <entry><constant>CL_RG, CL_SIGNED_INT8</constant></entry> | 
 |                 </row> | 
 |                 <row> | 
 |                     <entry><constant>GL_RG16I</constant></entry> | 
 |                     <entry><constant>CL_RG, CL_SIGNED_INT16</constant></entry> | 
 |                 </row> | 
 |                 <row> | 
 |                     <entry><constant>GL_RG32I</constant></entry> | 
 |                     <entry><constant>CL_RG, CL_SIGNED_INT32</constant></entry> | 
 |                 </row> | 
 |                 <row> | 
 |                     <entry><constant>GL_RG8UI</constant></entry> | 
 |                     <entry><constant>CL_RG, CL_UNSIGNED_INT8</constant></entry> | 
 |                 </row> | 
 |                 <row> | 
 |                     <entry><constant>GL_RG16UI</constant></entry> | 
 |                     <entry><constant>CL_RG, CL_UNSIGNED_INT16</constant></entry> | 
 |                 </row> | 
 |                 <row> | 
 |                     <entry><constant>GL_RG32UI</constant></entry> | 
 |                     <entry><constant>CL_RG, CL_UNSIGNED_INT32</constant></entry> | 
 |                 </row> | 
 |             </tbody> | 
 |         </tgroup> | 
 |     </informaltable> | 
 |  | 
 |     <para> | 
 |         If the <citerefentry><refentrytitle>cl_khr_gl_depth_images</refentrytitle></citerefentry>  | 
 |         extension is enabled, the  | 
 |         following new image formats are added to table 9.4 in section 9.6.3.1 of the OpenCL 2.0 | 
 |         extension specification. If a GL texture object with an internal format from table 9.4 is  | 
 |         successfully created by OpenGL, then there is guaranteed to be a mapping to one of the  | 
 |         corresponding CL image format(s) in that table. | 
 |     </para> | 
 |  | 
 |     <informaltable frame="all"> | 
 |         <tgroup cols="2" align="center" colsep="1" rowsep="1"> | 
 |             <colspec colname="col1" colnum="1" /> | 
 |             <colspec colname="col2" colnum="2" /> | 
 |             <thead> | 
 |                 <row> | 
 |                     <entry>GL internal format</entry> | 
 |                     <entry>CL image format (channel order, channel data type)</entry> | 
 |                 </row> | 
 |             </thead> | 
 |  | 
 |             <tbody> | 
 |                 <row> | 
 |                     <entry><constant>GL_DEPTH_COMPONENT32F</constant></entry> | 
 |                     <entry><constant>CL_DEPTH, CL_FLOAT</constant></entry> | 
 |                 </row> | 
 |  | 
 |                 <row> | 
 |                     <entry><constant>GL_DEPTH_COMPONENT16</constant></entry> | 
 |                     <entry><constant>CL_DEPTH, CL_UNORM_INT16</constant></entry> | 
 |                 </row> | 
 |  | 
 |                 <row> | 
 |                     <entry><constant>GL_DEPTH24_STENCIL8</constant></entry> | 
 |                     <entry><constant>CL_DEPTH_STENCIL, CL_UNORM_INT24</constant></entry> | 
 |                 </row> | 
 |  | 
 |                 <row> | 
 |                     <entry><constant>GL_DEPTH32F_STENCIL8</constant></entry> | 
 |                     <entry><constant>CL_DEPTH_STENCIL, CL_FLOAT</constant></entry> | 
 |                 </row> | 
 |  | 
 |             </tbody> | 
 |         </tgroup> | 
 |     </informaltable> | 
 |  | 
 | <!-- 22-Dec-2013, rev. 19 --> | 
 |  |