Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / webgl / src / extensions / template / extension.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- The root element should be <draft href="~~"> for draft extensions -->
3 <!-- The root element should be <proposal href="~~"> for proposed extensions -->
4 <!-- The root element should be <ratified href="~~"> for ratified extensions -->
5 <!-- @href should be a URI relative to the WebGL extension registry at
6 http://www.khronos.org/registry/webgl/extensions/
7 -->
8 <extension href="template/">
9   <!-- The name of the extension. This is also the string which is passed to the 
10        WebGLRenderingContext getExtension API to enable the extension. For example, if
11        the extension were OES_texture_float, then the extension would be fetched and
12        enabled with a call to getExtension("OES_texture_float")
13
14        Per WebGL convention, the 'GL_' prefix is dropped from all extension and enum
15        names, and the 'gl' prefix dropped from, and capitalization adjusted of, all
16        function names.
17   -->
18
19   <name>template</name>
20
21   <!-- The optional alternate name strings of the extension for draft exts -->
22
23   <aliases>
24     <alias>VENDOR_EXT_NAME</alias>
25
26     <alias>VENDOR_EXT_NAME</alias>
27   </aliases>
28
29   <!-- the email address of the contact of the specification -->
30
31   <!-- prefer to 'at' instead of the '@' character to reduce spam -->
32
33   <contact> <a href="https://www.khronos.org/webgl/public-mailing-list/">WebGL
34   working group</a> (public_webgl 'at' khronos.org) </contact>
35
36   <!-- Names and email addresses of individuals who contributed to the development of
37        the specification
38   -->
39
40   <contributors>
41     <contributor>Members of the WebGL working group</contributor>
42   </contributors>
43
44   <number>k <!-- extension number in registry --></number>
45
46   <depends>
47     <api version="1.0"/>
48
49     <core version="2.0"/>
50
51     <!-- Version in which the extension functionality was integrated into the core spec -->
52
53     <core version="2.0">
54       <glsl version="300 es"/>
55
56       <!-- GLSL #version required to use the feature, if any -->
57
58       <addendum> Difference in core spec from extension. </addendum>
59     </core>
60
61     <removed version="2.0"/>
62
63     <!-- Version as of which extension is no longer supported -->
64
65     <ext name="WEBGL_required_ext" require="true"/>
66
67     <ext name="WEBGL_base_ext"/>
68
69     <!-- api/extension with hyperlink -->
70   </depends>
71
72   <overview>
73     <!-- use mirrors if this extension wraps another -->
74
75     <mirrors href="http://www.khronos.org/registry/gles/extensions/OES/OES_texture_float.txt"
76              name="OES_texture_float">
77       <!-- list the deviations here if there are any -->
78
79       <addendum>Optional support for <code>FLOAT</code> textures as FBO
80       attachments.</addendum>
81
82       <!-- Tags not 'addendum' replace the default text that says
83            "Consult the above extension for documentation, issues and new functions and enumerants."
84       -->
85     </mirrors>
86
87     <!-- normal free-form XHTML is allowed here -->
88
89     <div class="nonnormative">
90       <p> This template for WebGL extensions is derived from the <a
91       href="http://www.opengl.org/registry/doc/template/txt">OpenGL extension
92       template</a>. Refer to the OpenGL extension template for full
93       documentation of the content that should be contained in the sections
94       below. Because WebGL is fundamentally a Web API, its extensions are
95       specified in XML transformed with XSLT into HTML for easier
96       hyperlinking. </p>
97
98       <p> Because most WebGL extensions are expected to simply mirror existing
99       OpenGL and OpenGL ES extensions, it is desirable to keep the WebGL
100       extension specifications as small as possible and simply refer to the
101       other specifications for the behavioral definitions. </p>
102     </div>
103
104     <features>
105       <!-- a list of features in XHTML -->
106
107       <feature>Frobs the <b>baz</b></feature>
108
109       <!-- can also specify glsl built-ins in structured format -->
110
111       <glsl extname="GL_OES_foo_bar">
112         <alias extname="GL_NV_foo_bar"/>
113
114         <alias extname="GL_ATI_foo_bar"/>
115
116         <stage type="fragment"/>
117
118         <stage type="vertex"/>
119
120         <function name="myfun" type="vec4">
121           <param type="vec4"/>
122         </function>
123       </glsl>
124     </features>
125   </overview>
126
127   <idl xml:space="preserve"> <!-- copied literally into a <pre> -->
128     <!-- Enums and functions introduced by the extension should be specified as
129          'const GLenum' and methods on the extension object. The extension IDL should
130          be written assuming that the typedefs in
131          <a href="../../specs/latest/webgl.idl">webgl.idl</a> and
132          <a href="../../typedarray/specs/latest/typedarrays.idl">typedarrays.idl</a>
133          have already been defined, and may implicitly reference other web platform
134          specifications.
135     -->
136 module webgl {
137
138 interface OES_foo_bar {
139   const GLenum NEW_ENUM = 0xF00;
140
141   void doSomethingNew(GLenum state, GLuint value);
142 }; // interface OES_foo_bar
143
144 }; // module webgl
145   </idl>
146
147   <!-- new functions -->
148
149   <newfun>
150     <function name="loseContext" type="void"> XHTML description </function>
151   </newfun>
152
153   <!-- new types -->
154
155   <newtypes>
156     <typedef name="in_pipe"> <type>unsigned long long</type> XHTML </typedef>
157
158     <typedef name="out_pipe"> <type>unsigned long long</type> XHTML </typedef>
159
160     <interface name="Plumber">
161       <member>Plumber work(in_pipe,out_pipe);</member>
162
163       <p>After attempting a connection, the plumber is no longer the same.</p>
164     </interface>
165
166     <interface name="Agency" noobject="true"> <member>void
167     register(Plumber);</member> <member>Plumber find();</member> XHTML
168     </interface>
169   </newtypes>
170
171   <!-- new tokens -->
172
173   <newtok>
174     <function name="getParameter" type="any"> <param name="pname"
175     type="GLenum"/> XHTML </function>
176   </newtok>
177
178   <!-- Refer to the <http://www.opengl.org/registry/doc/template.txt> OpenGL
179        extension template for a description of these sections. These sections
180        should be eliminated for WebGL extensions simply mirroring OpenGL or
181        OpenGL ES extensions.
182   -->
183
184   <!-- these take XHTML markup as contents -->
185
186   <security/>
187
188   <ipstatus/>
189
190   <additions/>
191
192   <!-- Additions to the WebGL Specification -->
193
194   <errors/>
195
196   <newstate/>
197
198   <newimplstate/>
199
200   <!-- New Implementation-Dependent State -->
201
202   <samplecode/>
203
204   <tests/>
205
206   <issues/>
207
208   <history>
209     <!-- a list of revisions in any order -->
210
211     <!-- Include important changes in the evolution of the extension. It's
212          especially important to include this section if the extension is modified
213          after a version has been shipped. Consult the
214          <http://www.opengl.org/registry/doc/template.txt> OpenGL extension template
215          for an example.
216     -->
217
218     <revision date="YYYY/MM/DD">
219       <!-- a list of changes -->
220
221       <change>Quuxed the bar</change>
222
223       <change>Fooed the frob</change>
224     </revision>
225   </history>
226 </extension>