Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(32)

Side by Side Diff: conformance/extensions/ext-texture-filter-anisotropic.html

Issue 41893003: Add ToT WebGL conformance tests : part 12 (last one) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/webgl/sdk/tests/
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « conformance/extensions/ext-frag-depth.html ('k') | conformance/extensions/get-extension.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Property Changes:
Added: svn:eol-style
## -0,0 +1 ##
+LF
\ No newline at end of property
OLDNEW
(Empty)
1 <!--
2
3 /*
4 ** Copyright (c) 2012 Florian Boesch <pyalot@gmail.com>.
5 **
6 ** Permission is hereby granted, free of charge, to any person obtaining a
7 ** copy of this software and/or associated documentation files (the
8 ** "Materials"), to deal in the Materials without restriction, including
9 ** without limitation the rights to use, copy, modify, merge, publish,
10 ** distribute, sublicense, and/or sell copies of the Materials, and to
11 ** permit persons to whom the Materials are furnished to do so, subject to
12 ** the following conditions:
13 **
14 ** The above copyright notice and this permission notice shall be included
15 ** in all copies or substantial portions of the Materials.
16 **
17 ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18 ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19 ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20 ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
21 ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
22 ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23 ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
24 */
25
26 -->
27
28 <!DOCTYPE html>
29 <html>
30 <head>
31 <meta charset="utf-8">
32 <title>WebGL EXT_texture_filter_anisotropic Conformance Tests</title>
33 <link rel="stylesheet" href="../../resources/js-test-style.css"/>
34 <script src="../../resources/desktop-gl-constants.js" type="text/javascript"></s cript>
35 <script src="../../resources/js-test-pre.js"></script>
36 <script src="../resources/webgl-test.js"></script>
37 <script src="../resources/webgl-test-utils.js"></script>
38 </head>
39 <body>
40 <div id="description"></div>
41 <canvas id="canvas" style="width: 50px; height: 50px;"> </canvas>
42 <div id="console"></div>
43
44 <script>
45 "use strict";
46 description("This test verifies the functionality of the EXT_texture_filter_anis otropic extension, if it is available.");
47
48 debug("");
49
50 var wtu = WebGLTestUtils;
51 var canvas = document.getElementById("canvas");
52 var gl = wtu.create3DContext(canvas);
53 var ext = null;
54
55 if (!gl) {
56 testFailed("WebGL context does not exist");
57 } else {
58 testPassed("WebGL context exists");
59
60 // Run tests with extension disabled
61 runHintTestDisabled();
62
63 // Query the extension and store globally so shouldBe can access it
64 ext = wtu.getExtensionWithKnownPrefixes(gl, "EXT_texture_filter_anisotropic" );
65
66 if (!ext) {
67 testPassed("No EXT_texture_filter_anisotropic support -- this is legal") ;
68
69 runSupportedTest(false);
70 } else {
71 testPassed("Successfully enabled EXT_texture_filter_anisotropic extensio n");
72
73 runSupportedTest(true);
74 runHintTestEnabled();
75 }
76 }
77
78 function runSupportedTest(extensionEnabled) {
79 if (wtu.getSupportedExtensionWithKnownPrefixes(gl, "EXT_texture_filter_aniso tropic") !== undefined) {
80 if (extensionEnabled) {
81 testPassed("EXT_texture_filter_anisotropic listed as supported and g etExtension succeeded");
82 } else {
83 testFailed("EXT_texture_filter_anisotropic listed as supported but g etExtension failed");
84 }
85 } else {
86 if (extensionEnabled) {
87 testFailed("EXT_texture_filter_anisotropic not listed as supported b ut getExtension succeeded");
88 } else {
89 testPassed("EXT_texture_filter_anisotropic not listed as supported a nd getExtension failed -- this is legal");
90 }
91 }
92 }
93
94 function runHintTestDisabled() {
95 debug("Testing MAX_TEXTURE_MAX_ANISOTROPY_EXT with extension disabled");
96
97 var MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF;
98 gl.getParameter(MAX_TEXTURE_MAX_ANISOTROPY_EXT);
99 glErrorShouldBe(gl, gl.INVALID_ENUM, "MAX_TEXTURE_MAX_ANISOTROPY_EXT should not be queryable if extension is disabled");
100
101 debug("Testing TEXTURE_MAX_ANISOTROPY_EXT with extension disabled");
102 var TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE;
103 var texture = gl.createTexture();
104 gl.bindTexture(gl.TEXTURE_2D, texture);
105
106 gl.getTexParameter(gl.TEXTURE_2D, TEXTURE_MAX_ANISOTROPY_EXT);
107 glErrorShouldBe(gl, gl.INVALID_ENUM, "TEXTURE_MAX_ANISOTROPY_EXT should not be queryable if extension is disabled");
108
109 gl.texParameterf(gl.TEXTURE_2D, TEXTURE_MAX_ANISOTROPY_EXT, 1);
110 glErrorShouldBe(gl, gl.INVALID_ENUM, "TEXTURE_MAX_ANISOTROPY_EXT should not be settable if extension is disabled");
111
112 gl.texParameteri(gl.TEXTURE_2D, TEXTURE_MAX_ANISOTROPY_EXT, 1);
113 glErrorShouldBe(gl, gl.INVALID_ENUM, "TEXTURE_MAX_ANISOTROPY_EXT should not be settable if extension is disabled");
114
115 gl.deleteTexture(texture);
116 }
117
118 function runHintTestEnabled() {
119 debug("Testing MAX_TEXTURE_MAX_ANISOTROPY_EXT with extension enabled");
120
121 shouldBe("ext.MAX_TEXTURE_MAX_ANISOTROPY_EXT", "0x84FF");
122
123 var max_anisotropy = gl.getParameter(ext.MAX_TEXTURE_MAX_ANISOTROPY_EXT);
124 glErrorShouldBe(gl, gl.NO_ERROR, "MAX_TEXTURE_MAX_ANISOTROPY_EXT query shoul d succeed if extension is enabled");
125
126 if(max_anisotropy >= 2){
127 testPassed("Minimum value of MAX_TEXTURE_MAX_ANISOTROPY_EXT is 2.0");
128 }
129 else{
130 testFailed("Minimum value of MAX_TEXTURE_MAX_ANISOTROPY_EXT is 2.0, retu rned values was: " + max_anisotropy);
131 }
132
133 // TODO make a texture and verify initial value == 1 and setting to less tha n 1 is invalid value
134
135 debug("Testing TEXTURE_MAX_ANISOTROPY_EXT with extension disabled");
136 shouldBe("ext.TEXTURE_MAX_ANISOTROPY_EXT", "0x84FE");
137
138 var texture = gl.createTexture();
139 gl.bindTexture(gl.TEXTURE_2D, texture);
140
141 var queried_value = gl.getTexParameter(gl.TEXTURE_2D, ext.TEXTURE_MAX_ANISOT ROPY_EXT);
142 glErrorShouldBe(gl, gl.NO_ERROR, "TEXTURE_MAX_ANISOTROPY_EXT query should su cceed if extension is enabled");
143
144 if(queried_value == 1){
145 testPassed("Initial value of TEXTURE_MAX_ANISOTROPY_EXT is 1.0");
146 }
147 else{
148 testFailed("Initial value of TEXTURE_MAX_ANISOTROPY_EXT should be 1.0, r eturned value was: " + queried_value);
149 }
150
151 gl.texParameterf(gl.TEXTURE_2D, ext.TEXTURE_MAX_ANISOTROPY_EXT, 0);
152 glErrorShouldBe(gl, gl.INVALID_VALUE, "texParameterf TEXTURE_MAX_ANISOTROPY_ EXT set to < 1 should be an invalid value");
153
154 gl.texParameteri(gl.TEXTURE_2D, ext.TEXTURE_MAX_ANISOTROPY_EXT, 0);
155 glErrorShouldBe(gl, gl.INVALID_VALUE, "texParameteri TEXTURE_MAX_ANISOTROPY_ EXT set to < 1 should be an invalid value");
156
157 gl.texParameterf(gl.TEXTURE_2D, ext.TEXTURE_MAX_ANISOTROPY_EXT, max_anisotro py);
158 glErrorShouldBe(gl, gl.NO_ERROR, "texParameterf TEXTURE_MAX_ANISOTROPY_EXT s et to >= 2 should should succeed");
159
160 gl.texParameteri(gl.TEXTURE_2D, ext.TEXTURE_MAX_ANISOTROPY_EXT, max_anisotro py);
161 glErrorShouldBe(gl, gl.NO_ERROR, "texParameteri TEXTURE_MAX_ANISOTROPY_EXT s et to >= 2 should should succeed");
162
163 var queried_value = gl.getTexParameter(gl.TEXTURE_2D, ext.TEXTURE_MAX_ANISOT ROPY_EXT);
164 if(queried_value == max_anisotropy){
165 testPassed("Set value of TEXTURE_MAX_ANISOTROPY_EXT matches expecation") ;
166 }
167 else{
168 testFailed("Set value of TEXTURE_MAX_ANISOTROPY_EXT should be: " + max_a nisotropy + " , returned value was: " + queried_value);
169 }
170
171 gl.deleteTexture(texture);
172 }
173
174 debug("");
175 var successfullyParsed = true;
176 </script>
177 <script src="../../resources/js-test-post.js"></script>
178
179 </body>
180 </html>
OLDNEW
« no previous file with comments | « conformance/extensions/ext-frag-depth.html ('k') | conformance/extensions/get-extension.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698