OLD | NEW |
| (Empty) |
1 <html> | |
2 <head> | |
3 <!-- | |
4 Copyright (c) 2009 Ilmari Heikkinen. All rights reserved. | |
5 Use of this source code is governed by a BSD-style license that can be | |
6 found in the LICENSE file. | |
7 --> | |
8 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | |
9 <title>WebGL Constants Test</title> | |
10 <link rel="stylesheet" href="../resources/js-test-style.css"/> | |
11 <script src="../resources/desktop-gl-constants.js" type="text/javascript"></scri
pt> | |
12 <script src="../resources/js-test-pre.js"></script> | |
13 <script src="resources/webgl-test.js"></script> | |
14 </head> | |
15 <body> | |
16 <div id="description"></div> | |
17 <div id="console"></div> | |
18 <canvas id="canvas" style="width: 50px; height: 50px;"> </canvas> | |
19 <script> | |
20 description("This test ensures that the WebGL context has all the constants in t
he specification."); | |
21 | |
22 var constants = { | |
23 /* ClearBufferMask */ | |
24 DEPTH_BUFFER_BIT : 0x00000100, | |
25 STENCIL_BUFFER_BIT : 0x00000400, | |
26 COLOR_BUFFER_BIT : 0x00004000, | |
27 | |
28 /* BeginMode */ | |
29 POINTS : 0x0000, | |
30 LINES : 0x0001, | |
31 LINE_LOOP : 0x0002, | |
32 LINE_STRIP : 0x0003, | |
33 TRIANGLES : 0x0004, | |
34 TRIANGLE_STRIP : 0x0005, | |
35 TRIANGLE_FAN : 0x0006, | |
36 | |
37 /* AlphaFunction (not supported in ES20) */ | |
38 /* NEVER */ | |
39 /* LESS */ | |
40 /* EQUAL */ | |
41 /* LEQUAL */ | |
42 /* GREATER */ | |
43 /* NOTEQUAL */ | |
44 /* GEQUAL */ | |
45 /* ALWAYS */ | |
46 | |
47 /* BlendingFactorDest */ | |
48 ZERO : 0, | |
49 ONE : 1, | |
50 SRC_COLOR : 0x0300, | |
51 ONE_MINUS_SRC_COLOR : 0x0301, | |
52 SRC_ALPHA : 0x0302, | |
53 ONE_MINUS_SRC_ALPHA : 0x0303, | |
54 DST_ALPHA : 0x0304, | |
55 ONE_MINUS_DST_ALPHA : 0x0305, | |
56 | |
57 /* BlendingFactorSrc */ | |
58 /* ZERO */ | |
59 /* ONE */ | |
60 DST_COLOR : 0x0306, | |
61 ONE_MINUS_DST_COLOR : 0x0307, | |
62 SRC_ALPHA_SATURATE : 0x0308, | |
63 /* SRC_ALPHA */ | |
64 /* ONE_MINUS_SRC_ALPHA */ | |
65 /* DST_ALPHA */ | |
66 /* ONE_MINUS_DST_ALPHA */ | |
67 | |
68 /* BlendEquationSeparate */ | |
69 FUNC_ADD : 0x8006, | |
70 BLEND_EQUATION : 0x8009, | |
71 BLEND_EQUATION_RGB : 0x8009, /* same as BLEND_EQUATION */ | |
72 BLEND_EQUATION_ALPHA : 0x883D, | |
73 | |
74 /* BlendSubtract */ | |
75 FUNC_SUBTRACT : 0x800A, | |
76 FUNC_REVERSE_SUBTRACT : 0x800B, | |
77 | |
78 /* Separate Blend Functions */ | |
79 BLEND_DST_RGB : 0x80C8, | |
80 BLEND_SRC_RGB : 0x80C9, | |
81 BLEND_DST_ALPHA : 0x80CA, | |
82 BLEND_SRC_ALPHA : 0x80CB, | |
83 CONSTANT_COLOR : 0x8001, | |
84 ONE_MINUS_CONSTANT_COLOR : 0x8002, | |
85 CONSTANT_ALPHA : 0x8003, | |
86 ONE_MINUS_CONSTANT_ALPHA : 0x8004, | |
87 BLEND_COLOR : 0x8005, | |
88 | |
89 /* Buffer Objects */ | |
90 ARRAY_BUFFER : 0x8892, | |
91 ELEMENT_ARRAY_BUFFER : 0x8893, | |
92 ARRAY_BUFFER_BINDING : 0x8894, | |
93 ELEMENT_ARRAY_BUFFER_BINDING : 0x8895, | |
94 | |
95 STREAM_DRAW : 0x88E0, | |
96 STATIC_DRAW : 0x88E4, | |
97 DYNAMIC_DRAW : 0x88E8, | |
98 | |
99 BUFFER_SIZE : 0x8764, | |
100 BUFFER_USAGE : 0x8765, | |
101 | |
102 CURRENT_VERTEX_ATTRIB : 0x8626, | |
103 | |
104 /* CullFaceMode */ | |
105 FRONT : 0x0404, | |
106 BACK : 0x0405, | |
107 FRONT_AND_BACK : 0x0408, | |
108 | |
109 /* DepthFunction */ | |
110 /* NEVER */ | |
111 /* LESS */ | |
112 /* EQUAL */ | |
113 /* LEQUAL */ | |
114 /* GREATER */ | |
115 /* NOTEQUAL */ | |
116 /* GEQUAL */ | |
117 /* ALWAYS */ | |
118 | |
119 /* EnableCap */ | |
120 /* TEXTURE_2D */ | |
121 CULL_FACE : 0x0B44, | |
122 BLEND : 0x0BE2, | |
123 DITHER : 0x0BD0, | |
124 STENCIL_TEST : 0x0B90, | |
125 DEPTH_TEST : 0x0B71, | |
126 SCISSOR_TEST : 0x0C11, | |
127 POLYGON_OFFSET_FILL : 0x8037, | |
128 SAMPLE_ALPHA_TO_COVERAGE : 0x809E, | |
129 SAMPLE_COVERAGE : 0x80A0, | |
130 | |
131 /* ErrorCode */ | |
132 NO_ERROR : 0, | |
133 INVALID_ENUM : 0x0500, | |
134 INVALID_VALUE : 0x0501, | |
135 INVALID_OPERATION : 0x0502, | |
136 OUT_OF_MEMORY : 0x0505, | |
137 | |
138 /* FrontFaceDirection */ | |
139 CW : 0x0900, | |
140 CCW : 0x0901, | |
141 | |
142 /* GetPName */ | |
143 LINE_WIDTH : 0x0B21, | |
144 ALIASED_POINT_SIZE_RANGE : 0x846D, | |
145 ALIASED_LINE_WIDTH_RANGE : 0x846E, | |
146 CULL_FACE_MODE : 0x0B45, | |
147 FRONT_FACE : 0x0B46, | |
148 DEPTH_RANGE : 0x0B70, | |
149 DEPTH_WRITEMASK : 0x0B72, | |
150 DEPTH_CLEAR_VALUE : 0x0B73, | |
151 DEPTH_FUNC : 0x0B74, | |
152 STENCIL_CLEAR_VALUE : 0x0B91, | |
153 STENCIL_FUNC : 0x0B92, | |
154 STENCIL_FAIL : 0x0B94, | |
155 STENCIL_PASS_DEPTH_FAIL : 0x0B95, | |
156 STENCIL_PASS_DEPTH_PASS : 0x0B96, | |
157 STENCIL_REF : 0x0B97, | |
158 STENCIL_VALUE_MASK : 0x0B93, | |
159 STENCIL_WRITEMASK : 0x0B98, | |
160 STENCIL_BACK_FUNC : 0x8800, | |
161 STENCIL_BACK_FAIL : 0x8801, | |
162 STENCIL_BACK_PASS_DEPTH_FAIL : 0x8802, | |
163 STENCIL_BACK_PASS_DEPTH_PASS : 0x8803, | |
164 STENCIL_BACK_REF : 0x8CA3, | |
165 STENCIL_BACK_VALUE_MASK : 0x8CA4, | |
166 STENCIL_BACK_WRITEMASK : 0x8CA5, | |
167 VIEWPORT : 0x0BA2, | |
168 SCISSOR_BOX : 0x0C10, | |
169 /* SCISSOR_TEST */ | |
170 COLOR_CLEAR_VALUE : 0x0C22, | |
171 COLOR_WRITEMASK : 0x0C23, | |
172 UNPACK_ALIGNMENT : 0x0CF5, | |
173 PACK_ALIGNMENT : 0x0D05, | |
174 MAX_TEXTURE_SIZE : 0x0D33, | |
175 MAX_VIEWPORT_DIMS : 0x0D3A, | |
176 SUBPIXEL_BITS : 0x0D50, | |
177 RED_BITS : 0x0D52, | |
178 GREEN_BITS : 0x0D53, | |
179 BLUE_BITS : 0x0D54, | |
180 ALPHA_BITS : 0x0D55, | |
181 DEPTH_BITS : 0x0D56, | |
182 STENCIL_BITS : 0x0D57, | |
183 POLYGON_OFFSET_UNITS : 0x2A00, | |
184 /* POLYGON_OFFSET_FILL */ | |
185 POLYGON_OFFSET_FACTOR : 0x8038, | |
186 TEXTURE_BINDING_2D : 0x8069, | |
187 SAMPLE_BUFFERS : 0x80A8, | |
188 SAMPLES : 0x80A9, | |
189 SAMPLE_COVERAGE_VALUE : 0x80AA, | |
190 SAMPLE_COVERAGE_INVERT : 0x80AB, | |
191 | |
192 /* GetTextureParameter */ | |
193 /* TEXTURE_MAG_FILTER */ | |
194 /* TEXTURE_MIN_FILTER */ | |
195 /* TEXTURE_WRAP_S */ | |
196 /* TEXTURE_WRAP_T */ | |
197 | |
198 NUM_COMPRESSED_TEXTURE_FORMATS : 0x86A2, | |
199 COMPRESSED_TEXTURE_FORMATS : 0x86A3, | |
200 | |
201 /* HintMode */ | |
202 DONT_CARE : 0x1100, | |
203 FASTEST : 0x1101, | |
204 NICEST : 0x1102, | |
205 | |
206 /* HintTarget */ | |
207 GENERATE_MIPMAP_HINT : 0x8192, | |
208 | |
209 /* DataType */ | |
210 BYTE : 0x1400, | |
211 UNSIGNED_BYTE : 0x1401, | |
212 SHORT : 0x1402, | |
213 UNSIGNED_SHORT : 0x1403, | |
214 INT : 0x1404, | |
215 UNSIGNED_INT : 0x1405, | |
216 FLOAT : 0x1406, | |
217 | |
218 /* PixelFormat */ | |
219 DEPTH_COMPONENT : 0x1902, | |
220 ALPHA : 0x1906, | |
221 RGB : 0x1907, | |
222 RGBA : 0x1908, | |
223 LUMINANCE : 0x1909, | |
224 LUMINANCE_ALPHA : 0x190A, | |
225 | |
226 /* PixelType */ | |
227 /* UNSIGNED_BYTE */ | |
228 UNSIGNED_SHORT_4_4_4_4 : 0x8033, | |
229 UNSIGNED_SHORT_5_5_5_1 : 0x8034, | |
230 UNSIGNED_SHORT_5_6_5 : 0x8363, | |
231 | |
232 /* Shaders */ | |
233 FRAGMENT_SHADER : 0x8B30, | |
234 VERTEX_SHADER : 0x8B31, | |
235 MAX_VERTEX_ATTRIBS : 0x8869, | |
236 MAX_VERTEX_UNIFORM_VECTORS : 0x8DFB, | |
237 MAX_VARYING_VECTORS : 0x8DFC, | |
238 MAX_COMBINED_TEXTURE_IMAGE_UNITS : 0x8B4D, | |
239 MAX_VERTEX_TEXTURE_IMAGE_UNITS : 0x8B4C, | |
240 MAX_TEXTURE_IMAGE_UNITS : 0x8872, | |
241 MAX_FRAGMENT_UNIFORM_VECTORS : 0x8DFD, | |
242 SHADER_TYPE : 0x8B4F, | |
243 DELETE_STATUS : 0x8B80, | |
244 LINK_STATUS : 0x8B82, | |
245 VALIDATE_STATUS : 0x8B83, | |
246 ATTACHED_SHADERS : 0x8B85, | |
247 ACTIVE_UNIFORMS : 0x8B86, | |
248 ACTIVE_ATTRIBUTES : 0x8B89, | |
249 SHADING_LANGUAGE_VERSION : 0x8B8C, | |
250 CURRENT_PROGRAM : 0x8B8D, | |
251 | |
252 /* StencilFunction */ | |
253 NEVER : 0x0200, | |
254 LESS : 0x0201, | |
255 EQUAL : 0x0202, | |
256 LEQUAL : 0x0203, | |
257 GREATER : 0x0204, | |
258 NOTEQUAL : 0x0205, | |
259 GEQUAL : 0x0206, | |
260 ALWAYS : 0x0207, | |
261 | |
262 /* StencilOp */ | |
263 /* ZERO */ | |
264 KEEP : 0x1E00, | |
265 REPLACE : 0x1E01, | |
266 INCR : 0x1E02, | |
267 DECR : 0x1E03, | |
268 INVERT : 0x150A, | |
269 INCR_WRAP : 0x8507, | |
270 DECR_WRAP : 0x8508, | |
271 | |
272 /* StringName */ | |
273 VENDOR : 0x1F00, | |
274 RENDERER : 0x1F01, | |
275 VERSION : 0x1F02, | |
276 | |
277 /* TextureMagFilter */ | |
278 NEAREST : 0x2600, | |
279 LINEAR : 0x2601, | |
280 | |
281 /* TextureMinFilter */ | |
282 /* NEAREST */ | |
283 /* LINEAR */ | |
284 NEAREST_MIPMAP_NEAREST : 0x2700, | |
285 LINEAR_MIPMAP_NEAREST : 0x2701, | |
286 NEAREST_MIPMAP_LINEAR : 0x2702, | |
287 LINEAR_MIPMAP_LINEAR : 0x2703, | |
288 | |
289 /* TextureParameterName */ | |
290 TEXTURE_MAG_FILTER : 0x2800, | |
291 TEXTURE_MIN_FILTER : 0x2801, | |
292 TEXTURE_WRAP_S : 0x2802, | |
293 TEXTURE_WRAP_T : 0x2803, | |
294 | |
295 /* TextureTarget */ | |
296 TEXTURE_2D : 0x0DE1, | |
297 TEXTURE : 0x1702, | |
298 | |
299 TEXTURE_CUBE_MAP : 0x8513, | |
300 TEXTURE_BINDING_CUBE_MAP : 0x8514, | |
301 TEXTURE_CUBE_MAP_POSITIVE_X : 0x8515, | |
302 TEXTURE_CUBE_MAP_NEGATIVE_X : 0x8516, | |
303 TEXTURE_CUBE_MAP_POSITIVE_Y : 0x8517, | |
304 TEXTURE_CUBE_MAP_NEGATIVE_Y : 0x8518, | |
305 TEXTURE_CUBE_MAP_POSITIVE_Z : 0x8519, | |
306 TEXTURE_CUBE_MAP_NEGATIVE_Z : 0x851A, | |
307 MAX_CUBE_MAP_TEXTURE_SIZE : 0x851C, | |
308 | |
309 /* TextureUnit */ | |
310 TEXTURE0 : 0x84C0, | |
311 TEXTURE1 : 0x84C1, | |
312 TEXTURE2 : 0x84C2, | |
313 TEXTURE3 : 0x84C3, | |
314 TEXTURE4 : 0x84C4, | |
315 TEXTURE5 : 0x84C5, | |
316 TEXTURE6 : 0x84C6, | |
317 TEXTURE7 : 0x84C7, | |
318 TEXTURE8 : 0x84C8, | |
319 TEXTURE9 : 0x84C9, | |
320 TEXTURE10 : 0x84CA, | |
321 TEXTURE11 : 0x84CB, | |
322 TEXTURE12 : 0x84CC, | |
323 TEXTURE13 : 0x84CD, | |
324 TEXTURE14 : 0x84CE, | |
325 TEXTURE15 : 0x84CF, | |
326 TEXTURE16 : 0x84D0, | |
327 TEXTURE17 : 0x84D1, | |
328 TEXTURE18 : 0x84D2, | |
329 TEXTURE19 : 0x84D3, | |
330 TEXTURE20 : 0x84D4, | |
331 TEXTURE21 : 0x84D5, | |
332 TEXTURE22 : 0x84D6, | |
333 TEXTURE23 : 0x84D7, | |
334 TEXTURE24 : 0x84D8, | |
335 TEXTURE25 : 0x84D9, | |
336 TEXTURE26 : 0x84DA, | |
337 TEXTURE27 : 0x84DB, | |
338 TEXTURE28 : 0x84DC, | |
339 TEXTURE29 : 0x84DD, | |
340 TEXTURE30 : 0x84DE, | |
341 TEXTURE31 : 0x84DF, | |
342 ACTIVE_TEXTURE : 0x84E0, | |
343 | |
344 /* TextureWrapMode */ | |
345 REPEAT : 0x2901, | |
346 CLAMP_TO_EDGE : 0x812F, | |
347 MIRRORED_REPEAT : 0x8370, | |
348 | |
349 /* Uniform Types */ | |
350 FLOAT_VEC2 : 0x8B50, | |
351 FLOAT_VEC3 : 0x8B51, | |
352 FLOAT_VEC4 : 0x8B52, | |
353 INT_VEC2 : 0x8B53, | |
354 INT_VEC3 : 0x8B54, | |
355 INT_VEC4 : 0x8B55, | |
356 BOOL : 0x8B56, | |
357 BOOL_VEC2 : 0x8B57, | |
358 BOOL_VEC3 : 0x8B58, | |
359 BOOL_VEC4 : 0x8B59, | |
360 FLOAT_MAT2 : 0x8B5A, | |
361 FLOAT_MAT3 : 0x8B5B, | |
362 FLOAT_MAT4 : 0x8B5C, | |
363 SAMPLER_2D : 0x8B5E, | |
364 SAMPLER_CUBE : 0x8B60, | |
365 | |
366 /* Vertex Arrays */ | |
367 VERTEX_ATTRIB_ARRAY_ENABLED : 0x8622, | |
368 VERTEX_ATTRIB_ARRAY_SIZE : 0x8623, | |
369 VERTEX_ATTRIB_ARRAY_STRIDE : 0x8624, | |
370 VERTEX_ATTRIB_ARRAY_TYPE : 0x8625, | |
371 VERTEX_ATTRIB_ARRAY_NORMALIZED : 0x886A, | |
372 VERTEX_ATTRIB_ARRAY_POINTER : 0x8645, | |
373 VERTEX_ATTRIB_ARRAY_BUFFER_BINDING : 0x889F, | |
374 | |
375 /* Shader Source */ | |
376 COMPILE_STATUS : 0x8B81, | |
377 SHADER_COMPILER : 0x8DFA, | |
378 | |
379 /* Shader Precision-Specified Types */ | |
380 LOW_FLOAT : 0x8DF0, | |
381 MEDIUM_FLOAT : 0x8DF1, | |
382 HIGH_FLOAT : 0x8DF2, | |
383 LOW_INT : 0x8DF3, | |
384 MEDIUM_INT : 0x8DF4, | |
385 HIGH_INT : 0x8DF5, | |
386 | |
387 /* Framebuffer Object. */ | |
388 FRAMEBUFFER : 0x8D40, | |
389 RENDERBUFFER : 0x8D41, | |
390 | |
391 RGBA4 : 0x8056, | |
392 RGB5_A1 : 0x8057, | |
393 RGB565 : 0x8D62, | |
394 DEPTH_COMPONENT16 : 0x81A5, | |
395 STENCIL_INDEX : 0x1901, | |
396 STENCIL_INDEX8 : 0x8D48, | |
397 DEPTH_STENCIL : 0x84F9, | |
398 | |
399 RENDERBUFFER_WIDTH : 0x8D42, | |
400 RENDERBUFFER_HEIGHT : 0x8D43, | |
401 RENDERBUFFER_INTERNAL_FORMAT : 0x8D44, | |
402 RENDERBUFFER_RED_SIZE : 0x8D50, | |
403 RENDERBUFFER_GREEN_SIZE : 0x8D51, | |
404 RENDERBUFFER_BLUE_SIZE : 0x8D52, | |
405 RENDERBUFFER_ALPHA_SIZE : 0x8D53, | |
406 RENDERBUFFER_DEPTH_SIZE : 0x8D54, | |
407 RENDERBUFFER_STENCIL_SIZE : 0x8D55, | |
408 | |
409 FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE : 0x8CD0, | |
410 FRAMEBUFFER_ATTACHMENT_OBJECT_NAME : 0x8CD1, | |
411 FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL : 0x8CD2, | |
412 FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE : 0x8CD3, | |
413 | |
414 COLOR_ATTACHMENT0 : 0x8CE0, | |
415 DEPTH_ATTACHMENT : 0x8D00, | |
416 STENCIL_ATTACHMENT : 0x8D20, | |
417 DEPTH_STENCIL_ATTACHMENT : 0x821A, | |
418 | |
419 NONE : 0, | |
420 | |
421 FRAMEBUFFER_COMPLETE : 0x8CD5, | |
422 FRAMEBUFFER_INCOMPLETE_ATTACHMENT : 0x8CD6, | |
423 FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT : 0x8CD7, | |
424 FRAMEBUFFER_INCOMPLETE_DIMENSIONS : 0x8CD9, | |
425 FRAMEBUFFER_UNSUPPORTED : 0x8CDD, | |
426 | |
427 FRAMEBUFFER_BINDING : 0x8CA6, | |
428 RENDERBUFFER_BINDING : 0x8CA7, | |
429 MAX_RENDERBUFFER_SIZE : 0x84E8, | |
430 | |
431 INVALID_FRAMEBUFFER_OPERATION : 0x0506, | |
432 | |
433 /* WebGL-specific enums */ | |
434 UNPACK_FLIP_Y_WEBGL : 0x9240, | |
435 UNPACK_PREMULTIPLY_ALPHA_WEBGL : 0x9241, | |
436 CONTEXT_LOST_WEBGL : 0x9242, | |
437 UNPACK_COLORSPACE_CONVERSION_WEBGL : 0x9243, | |
438 BROWSER_DEFAULT_WEBGL : 0x9244 | |
439 }; | |
440 | |
441 function assertProperty(v, p) { | |
442 if (v[p] == null) { | |
443 testFailed("Property does not exist: " + p) | |
444 return false; | |
445 } else { | |
446 return true; | |
447 } | |
448 } | |
449 | |
450 function assertMsg_(bool, msg) { | |
451 if (!bool) // show only failures to avoid spamming result list | |
452 assertMsg(bool, msg); | |
453 return bool; | |
454 } | |
455 | |
456 debug(""); | |
457 debug("Canvas.getContext"); | |
458 | |
459 var canvas = document.getElementById("canvas"); | |
460 var gl = create3DContext(canvas); | |
461 var passed = true; | |
462 for (var i in constants) { | |
463 var r = assertProperty(gl, i) && assertMsg_(gl[i] == constants[i], "Property "
+i+" value test "+gl[i]+" == "+constants[i]); | |
464 passed = passed && r; | |
465 } | |
466 if (passed) { | |
467 testPassed("All WebGL constants found to have correct values."); | |
468 } | |
469 var extended = false; | |
470 for (var i in gl) { | |
471 if (i.match(/^[^a-z]/) && constants[i] == null) { | |
472 if (!extended) { | |
473 extended = true; | |
474 debug("Also found the following extra constants:"); | |
475 } | |
476 debug(i); | |
477 } | |
478 } | |
479 | |
480 debug(""); | |
481 successfullyParsed = true; | |
482 </script> | |
483 <script src="../resources/js-test-post.js"></script> | |
484 <script> | |
485 </script> | |
486 | |
487 </body> | |
488 </html> | |
OLD | NEW |