1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/content/canvas/test/webgl-conformance/conformance/state/gl-enable-enum-test.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,133 @@ 1.4 +<!-- 1.5 +Copyright (c) 2011 The Chromium Authors. All rights reserved. 1.6 +Use of this source code is governed by a BSD-style license that can be 1.7 +found in the LICENSE file. 1.8 + --> 1.9 +<!DOCTYPE html> 1.10 +<html> 1.11 +<head> 1.12 +<meta charset="utf-8"> 1.13 +<title>WebGL gl.ENABLE enums Conformance Tests</title> 1.14 +<link rel="stylesheet" href="../../resources/js-test-style.css"/> 1.15 +<script src="../../resources/desktop-gl-constants.js" type="text/javascript"></script> 1.16 +<script src="../../resources/js-test-pre.js"></script> 1.17 +<script src="../resources/webgl-test.js"></script> 1.18 +</head> 1.19 +<body> 1.20 +<div id="description"></div> 1.21 +<div id="console"></div> 1.22 +<canvas id="canvas" width="2" height="2"> </canvas> 1.23 +<script> 1.24 +description("This test ensures WebGL implementations allow OpenGL ES 2.0 features to be turned on but not non OpenGL ES 2.0 features."); 1.25 + 1.26 +debug(""); 1.27 +debug("Canvas.getContext"); 1.28 + 1.29 +var gl = create3DContext(document.getElementById("canvas")); 1.30 +if (!gl) { 1.31 + testFailed("context does not exist"); 1.32 +} else { 1.33 + testPassed("context exists"); 1.34 + 1.35 + debug(""); 1.36 + debug("Checking gl.ENABLE enums."); 1.37 + 1.38 + var invalidEnums = [ 1.39 + 'ALPHA_TEST', 1.40 + 'AUTO_NORMAL', 1.41 + 'CLIP_PLANE0', 1.42 + 'CLIP_PLANE1', 1.43 + 'COLOR_LOGIC_OP', 1.44 + 'COLOR_MATERIAL', 1.45 + 'COLOR_SUM', 1.46 + 'COLOR_TABLE', 1.47 + // 'CONVOLUTION_1D', 1.48 + // 'CONVOLUTION_2D', 1.49 + 'FOG', 1.50 + 'HISTOGRAM', 1.51 + 'INDEX_LOGIC_OP', 1.52 + 'LIGHT0', 1.53 + 'LIGHT1', 1.54 + 'LIGHTING', 1.55 + 'LINE_SMOOTH', 1.56 + 'LINE_STIPPLE', 1.57 + 'MAP1_COLOR_4', 1.58 + 'MAP1_INDEX', 1.59 + 'MAP1_NORMAL', 1.60 + 'MAP1_TEXTURE_COORD_1', 1.61 + 'MAP1_TEXTURE_COORD_2', 1.62 + 'MAP1_TEXTURE_COORD_3', 1.63 + 'MAP1_TEXTURE_COORD_4', 1.64 + 'MAP1_VERTEX_3', 1.65 + 'MAP1_VERTEX_4', 1.66 + 'MAP2_COLOR_4', 1.67 + 'MAP2_INDEX', 1.68 + 'MAP2_NORMAL', 1.69 + 'MAP2_TEXTURE_COORD_1', 1.70 + 'MAP2_TEXTURE_COORD_2', 1.71 + 'MAP2_TEXTURE_COORD_3', 1.72 + 'MAP2_TEXTURE_COORD_4', 1.73 + 'MAP2_VERTEX_3', 1.74 + 'MAP2_VERTEX_4', 1.75 + 'MINMAX', 1.76 + 'MULTISAMPLE', 1.77 + 'NORMALIZE', 1.78 + 'POINT_SMOOTH', 1.79 + 'POINT_SPRITE', 1.80 + 'POLYGON_OFFSET_LINE', 1.81 + 'POLYGON_OFFSET_POINT', 1.82 + 'POLYGON_SMOOTH', 1.83 + 'POLYGON_STIPPLE', 1.84 + 'POST_COLOR_MATRIX_COLOR_TABLE', 1.85 + 'POST_CONVOLUTION_COLOR_TABLE', 1.86 + 'RESCALE_NORMAL', 1.87 + 'SAMPLE_ALPHA_TO_ONE', 1.88 + // 'SEPARABLE_2D', 1.89 + 'TEXTURE_1D', 1.90 + 'TEXTURE_2D', 1.91 + 'TEXTURE_3D', 1.92 + 'TEXTURE_CUBE_MAP', 1.93 + 'TEXTURE_GEN_Q', 1.94 + 'TEXTURE_GEN_R', 1.95 + 'TEXTURE_GEN_S', 1.96 + 'TEXTURE_GEN_T', 1.97 + 'VERTEX_PROGRAM_POINT_SIZE', 1.98 + 'VERTEX_PROGRAM_TWO_SIDE' 1.99 + ]; 1.100 + 1.101 + for (var ii = 0; ii < invalidEnums.length; ++ii) { 1.102 + var name = invalidEnums[ii]; 1.103 + gl.enable(desktopGL[name]); 1.104 + glErrorShouldBe(gl, gl.INVALID_ENUM, 1.105 + "gl.enable must set INVALID_ENUM when passed GL_" + name ); 1.106 + } 1.107 + 1.108 + var validEnums = [ 1.109 + 'BLEND', 1.110 + 'CULL_FACE', 1.111 + 'DEPTH_TEST', 1.112 + 'DITHER', 1.113 + 'POLYGON_OFFSET_FILL', 1.114 + 'SAMPLE_ALPHA_TO_COVERAGE', 1.115 + 'SAMPLE_COVERAGE', 1.116 + 'SCISSOR_TEST', 1.117 + 'STENCIL_TEST' 1.118 + ]; 1.119 + 1.120 + for (var ii = 0; ii < validEnums.length; ++ii) { 1.121 + var name = validEnums[ii]; 1.122 + gl.enable(gl[name]); 1.123 + glErrorShouldBe(gl, gl.NO_ERROR, 1.124 + "gl.enable must succeed when passed gl." + name ); 1.125 + } 1.126 + 1.127 +} 1.128 + 1.129 +debug(""); 1.130 +successfullyParsed = true; 1.131 + 1.132 +</script> 1.133 +<script>finishTest();</script> 1.134 + 1.135 +</body> 1.136 +</html>