|
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 */ |
|
8 |
|
9 [Pref="webgl.enable-prototype-webgl2"] |
|
10 interface WebGLQuery { |
|
11 }; |
|
12 |
|
13 [Pref="webgl.enable-prototype-webgl2"] |
|
14 interface WebGL2RenderingContext : WebGLRenderingContext { |
|
15 |
|
16 /* depth textures */ |
|
17 const GLenum UNSIGNED_INT_24_8 = 0x84FA; |
|
18 |
|
19 |
|
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; |
|
36 |
|
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; |
|
53 |
|
54 const GLenum MAX_COLOR_ATTACHMENTS = 0x8CDF; |
|
55 const GLenum MAX_DRAW_BUFFERS = 0x8824; |
|
56 |
|
57 void drawBuffers(sequence<GLenum> buffers); |
|
58 |
|
59 |
|
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); |
|
63 |
|
64 |
|
65 /* instanced array */ |
|
66 const GLenum VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88FE; |
|
67 |
|
68 void vertexAttribDivisor(GLuint index, GLuint divisor); |
|
69 |
|
70 |
|
71 /* blend equations */ |
|
72 const GLenum MIN = 0x8007; |
|
73 const GLenum MAX = 0x8008; |
|
74 |
|
75 |
|
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; |
|
83 |
|
84 |
|
85 /* query objects */ |
|
86 const GLenum CURRENT_QUERY = 0x8865; |
|
87 const GLenum QUERY_RESULT = 0x8866; |
|
88 const GLenum QUERY_RESULT_AVAILABLE = 0x8867; |
|
89 |
|
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); |
|
97 |
|
98 |
|
99 /* occlusion queries */ |
|
100 const GLenum ANY_SAMPLES_PASSED = 0x8C2F; |
|
101 const GLenum ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A; |
|
102 |
|
103 |
|
104 /* transform feedback queries */ |
|
105 const GLenum TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88; |
|
106 |
|
107 |
|
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); |
|
112 |
|
113 |
|
114 /* standart derivatives */ |
|
115 const GLenum FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B; |
|
116 |
|
117 |
|
118 /* state requests */ |
|
119 any getParameterIndexed(GLenum pname, GLuint index); |
|
120 |
|
121 |
|
122 /* vertex array objects */ |
|
123 const GLenum VERTEX_ARRAY_BINDING = 0x85B5; |
|
124 |
|
125 void bindVertexArray(WebGLVertexArray? arrayObject); |
|
126 WebGLVertexArray? createVertexArray(); |
|
127 void deleteVertexArray(WebGLVertexArray? arrayObject); |
|
128 [WebGLHandlesContextLoss] GLboolean isVertexArray(WebGLVertexArray? arrayObject); |
|
129 |
|
130 }; |
|
131 |