Bumping manifests a=b2g-bump
[gecko.git] / dom / webidl / WebGL2RenderingContext.webidl
blob75246b637fd5a410ee8fc9bb36f55d27a7e8ce3d
1 /* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
4  * You can obtain one at http://mozilla.org/MPL/2.0/.
5  *
6  * This IDL depends on WebGLRenderingContext.webidl
7  */
9 [Pref="webgl.enable-prototype-webgl2"]
10 interface WebGLQuery {
13 [Pref="webgl.enable-prototype-webgl2"]
14 interface WebGL2RenderingContext : WebGLRenderingContext {
16     /* depth textures */
17     const GLenum UNSIGNED_INT_24_8                           = 0x84FA;
20     /* draw buffers */
21     const GLenum COLOR_ATTACHMENT1                           = 0x8CE1;
22     const GLenum COLOR_ATTACHMENT2                           = 0x8CE2;
23     const GLenum COLOR_ATTACHMENT3                           = 0x8CE3;
24     const GLenum COLOR_ATTACHMENT4                           = 0x8CE4;
25     const GLenum COLOR_ATTACHMENT5                           = 0x8CE5;
26     const GLenum COLOR_ATTACHMENT6                           = 0x8CE6;
27     const GLenum COLOR_ATTACHMENT7                           = 0x8CE7;
28     const GLenum COLOR_ATTACHMENT8                           = 0x8CE8;
29     const GLenum COLOR_ATTACHMENT9                           = 0x8CE9;
30     const GLenum COLOR_ATTACHMENT10                          = 0x8CEA;
31     const GLenum COLOR_ATTACHMENT11                          = 0x8CEB;
32     const GLenum COLOR_ATTACHMENT12                          = 0x8CEC;
33     const GLenum COLOR_ATTACHMENT13                          = 0x8CED;
34     const GLenum COLOR_ATTACHMENT14                          = 0x8CEE;
35     const GLenum COLOR_ATTACHMENT15                          = 0x8CEF;
37     const GLenum DRAW_BUFFER0                                = 0x8825;
38     const GLenum DRAW_BUFFER1                                = 0x8826;
39     const GLenum DRAW_BUFFER2                                = 0x8827;
40     const GLenum DRAW_BUFFER3                                = 0x8828;
41     const GLenum DRAW_BUFFER4                                = 0x8829;
42     const GLenum DRAW_BUFFER5                                = 0x882A;
43     const GLenum DRAW_BUFFER6                                = 0x882B;
44     const GLenum DRAW_BUFFER7                                = 0x882C;
45     const GLenum DRAW_BUFFER8                                = 0x882D;
46     const GLenum DRAW_BUFFER9                                = 0x882E;
47     const GLenum DRAW_BUFFER10                               = 0x882F;
48     const GLenum DRAW_BUFFER11                               = 0x8830;
49     const GLenum DRAW_BUFFER12                               = 0x8831;
50     const GLenum DRAW_BUFFER13                               = 0x8832;
51     const GLenum DRAW_BUFFER14                               = 0x8833;
52     const GLenum DRAW_BUFFER15                               = 0x8834;
54     const GLenum MAX_COLOR_ATTACHMENTS                       = 0x8CDF;
55     const GLenum MAX_DRAW_BUFFERS                            = 0x8824;
57     void drawBuffers(sequence<GLenum> buffers);
60     /* draw instanced */
61     void drawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei primcount);
62     void drawElementsInstanced(GLenum mode, GLsizei count, GLenum type, GLintptr offset, GLsizei primcount);
65     /* instanced array */
66     const GLenum VERTEX_ATTRIB_ARRAY_DIVISOR                 = 0x88FE;
68     void vertexAttribDivisor(GLuint index, GLuint divisor);
71     /* blend equations */
72     const GLenum MIN                                         = 0x8007;
73     const GLenum MAX                                         = 0x8008;
76     /* transform feedback */
77     const GLenum RASTERIZER_DISCARD                          = 0x8C89;
78     const GLenum TRANSFORM_FEEDBACK_BUFFER                   = 0x8C8E;
79     const GLenum TRANSFORM_FEEDBACK_BUFFER_BINDING           = 0x8C8F;
80     const GLenum TRANSFORM_FEEDBACK_BUFFER_START             = 0x8C84;
81     const GLenum TRANSFORM_FEEDBACK_BUFFER_SIZE              = 0x8C85;
82     const GLenum MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS     = 0x8C8B;
85     /* query objects */
86     const GLenum CURRENT_QUERY                               = 0x8865;
87     const GLenum QUERY_RESULT                                = 0x8866;
88     const GLenum QUERY_RESULT_AVAILABLE                      = 0x8867;
90     void beginQuery(GLenum target, WebGLQuery? queryObject);
91     WebGLQuery? createQuery();
92     void deleteQuery(WebGLQuery? queryObject);
93     void endQuery(GLenum target);
94     WebGLQuery? getQuery(GLenum target, GLenum pname);
95     any getQueryObject(WebGLQuery? queryObject, GLenum pname);
96     [WebGLHandlesContextLoss] GLboolean isQuery(WebGLQuery? queryObject);
99     /* occlusion queries */
100     const GLenum ANY_SAMPLES_PASSED                          = 0x8C2F;
101     const GLenum ANY_SAMPLES_PASSED_CONSERVATIVE             = 0x8D6A;
104     /* transform feedback queries */
105     const GLenum TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN       = 0x8C88;
108     /* buffer objects */
109     void bindBufferBase(GLenum target, GLuint index, WebGLBuffer? buffer);
110     void bindBufferRange(GLenum target, GLuint index, WebGLBuffer? buffer,
111                          GLintptr offset, GLsizeiptr size);
114     /* standart derivatives */
115     const GLenum FRAGMENT_SHADER_DERIVATIVE_HINT             = 0x8B8B;
118     /* state requests */
119     any getParameterIndexed(GLenum pname, GLuint index);
122     /* vertex array objects */
123     const GLenum VERTEX_ARRAY_BINDING                        = 0x85B5;
125     void bindVertexArray(WebGLVertexArray? arrayObject);
126     WebGLVertexArray? createVertexArray();
127     void deleteVertexArray(WebGLVertexArray? arrayObject);
128     [WebGLHandlesContextLoss] GLboolean isVertexArray(WebGLVertexArray? arrayObject);