Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / webgl / src / extensions / WEBGL_compressed_texture_atc / extension.xml
1 <?xml version="1.0"?>
2
3 <extension href="WEBGL_compressed_texture_atc/">
4   <name>WEBGL_compressed_texture_atc</name>
5   <contact>
6     <a href="https://www.khronos.org/webgl/public-mailing-list/">WebGL working group</a> (public_webgl 'at' khronos.org)
7   </contact>
8   <contributors>
9     <contributor>Members of the WebGL working group</contributor>
10   </contributors>
11   <number>12</number>
12   <depends>
13     <api version="1.0"/>
14   </depends>
15   <overview>
16     <p>
17       This extension exposes the compressed texture formats defined in the 
18       <a href="http://www.khronos.org/registry/gles/extensions/AMD/AMD_compressed_ATC_texture.txt">
19       AMD_compressed_ATC_texture</a> OpenGL extension to WebGL.
20     </p>
21     <features>
22       <feature>
23         Compression formats <code>COMPRESSED_RGB_ATC_WEBGL</code>,
24         <code>COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL</code>, and
25         <code>COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL</code> may be passed to
26         the <code>compressedTexImage2D</code> and <code>compressedTexSubImage2D</code> entry points.
27
28         These formats correspond to the 3 formats defined in the AMD_compressed_ATC_texture OpenGL
29         extension. Although the enum names are changed, their numeric values are the same. The correspondence
30         is given by this table:
31         <table>
32           <tr>
33             <th>WebGL format enum</th>
34             <th>OpenGL format enum</th>
35             <th>Numeric value</th>
36           </tr>
37           <tr>
38             <td>COMPRESSED_RGB_ATC_WEBGL</td>
39             <td>ATC_RGB_AMD</td>
40             <td>0x8C92</td>
41           </tr>
42           <tr>
43             <td>COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL</td>
44             <td>ATC_RGBA_EXPLICIT_ALPHA_AMD</td>
45             <td>0x8C93</td>
46           </tr>
47           <tr>
48             <td>COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL</td>
49             <td>ATC_RGBA_INTERPOLATED_ALPHA_AMD</td>
50             <td>0x87EE</td>
51           </tr>
52         </table>
53       </feature>
54       <feature>
55         Calling <code>getParameter</code> with the argument <code>COMPRESSED_TEXTURE_FORMATS</code>
56         will include the 3 formats from this specification.
57       </feature>
58       <feature>
59         <p>The following format-specific restrictions must be enforced:</p>
60         <dl>
61           <dt>COMPRESSED_RGB_ATC_WEBGL</dt>
62           <dd><p>The <code>byteLength</code> of the ArrayBufferView, <code>pixels</code>, passed to
63           <code>compressedTexImage2D</code>, must be equal to the following number of bytes:</p>
64           <blockquote><code>
65             floor((width + 3) / 4) * floor((height + 3) / 4) * 8
66           </code></blockquote>
67           <p>If it is not, an <code>INVALID_VALUE</code> error is generated.</p>
68           </dd>
69
70           <dt>COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL</dt>
71           <dt>COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL</dt>
72           <dd><p>The <code>byteLength</code> of the ArrayBufferView, <code>pixels</code>, passed to
73           <code>compressedTexImage2D</code>, must be equal to the following number of bytes:</p>
74           <blockquote><code>
75             floor((width + 3) / 4) * floor((height + 3) / 4) * 16
76           </code></blockquote>
77           <p>If it is not, an <code>INVALID_VALUE</code> error is generated.</p>
78           </dd>
79         </dl>
80       </feature>
81     </features>
82   </overview>
83   <idl xml:space="preserve">
84 [NoInterfaceObject]
85 interface WEBGL_compressed_texture_atc {
86     /* Compressed Texture Formats */
87     const GLenum COMPRESSED_RGB_ATC_WEBGL                     = 0x8C92;
88     const GLenum COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL     = 0x8C93;
89     const GLenum COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL = 0x87EE;
90 };
91   </idl>
92   <history>
93     <revision date="2012/09/11">
94       <change>Initial revision.</change>
95     </revision>
96     <revision date="2013/07/03">
97       <change>Clarified that length of ArrayBufferView is actually byteLength.</change>
98     </revision>
99     <revision date="2014/04/17">
100       <change>Removed reference to compressedTexSubImage2D. This format can only be used with compressedTexImage2D.</change>
101     </revision>
102     <revision date="2014/06/27">
103       <change>Moved to community approved after discussion on public_webgl list.</change>
104     </revision>
105     <revision date="2014/07/15">
106       <change>Added NoInterfaceObject extended attribute.</change>
107     </revision>
108   </history>
109 </extension>