OLD | NEW |
(Empty) | |
| 1 <html> |
| 2 <head> |
| 3 <meta charset="utf-8"> |
| 4 <!-- |
| 5 Tests for the OpenGL ES 2.0 HTML Canvas context |
| 6 |
| 7 Copyright (C) 2011 Ilmari Heikkinen <ilmari.heikkinen@gmail.com> |
| 8 |
| 9 Permission is hereby granted, free of charge, to any person |
| 10 obtaining a copy of this software and associated documentation |
| 11 files (the "Software"), to deal in the Software without |
| 12 restriction, including without limitation the rights to use, |
| 13 copy, modify, merge, publish, distribute, sublicense, and/or sell |
| 14 copies of the Software, and to permit persons to whom the |
| 15 Software is furnished to do so, subject to the following |
| 16 conditions: |
| 17 |
| 18 The above copyright notice and this permission notice shall be |
| 19 included in all copies or substantial portions of the Software. |
| 20 |
| 21 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
| 22 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES |
| 23 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
| 24 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT |
| 25 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, |
| 26 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
| 27 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR |
| 28 OTHER DEALINGS IN THE SOFTWARE. |
| 29 |
| 30 |
| 31 --> |
| 32 <title>OpenGL ES 2.0 <canvas> context tests</title> |
| 33 <style type="text/css"> |
| 34 h2 { display: inline; font-size: 1em; margin-bottom: 0.2em; } |
| 35 iframe { display: inline; border: 1px solid black; overflow: hidden;} |
| 36 </style> |
| 37 <script type="text/javascript"> |
| 38 function loadTest(id, url) { |
| 39 document.getElementById(id).src = url; |
| 40 } |
| 41 function seqLoader() { |
| 42 var iframes = document.getElementsByTagName('iframe'); |
| 43 for (var i=0; i<iframes.length; i++) { |
| 44 iframes[i].addEventListener('load', (function(j) { |
| 45 return function() { |
| 46 var e = document.getElementById((j+1)+'_link'); |
| 47 if (e) loadTest(j+1, e.href); |
| 48 } |
| 49 })(i), false); |
| 50 } |
| 51 var e = document.getElementById('0_link'); |
| 52 if (e) loadTest(0, e.href); |
| 53 } |
| 54 </script> |
| 55 </head> |
| 56 <body onload="seqLoader()"> |
| 57 |
| 58 <div> |
| 59 <iframe id="0" width="110" height="42"></iframe> |
| 60 <h2><a onclick="loadTest(0, 'conformance/badArgsArityLessThanArgc.html');r
eturn false" href="conformance/badArgsArityLessThanArgc.html">conformance/badArg
sArityLessThanArgc.html</a></h2> |
| 61 </div> |
| 62 |
| 63 |
| 64 <div> |
| 65 <iframe id="1" width="110" height="42"></iframe> |
| 66 <h2><a onclick="loadTest(1, 'conformance/constants.html');return false" hr
ef="conformance/constants.html">conformance/constants.html</a></h2> |
| 67 </div> |
| 68 |
| 69 |
| 70 <div> |
| 71 <iframe id="2" width="110" height="42"></iframe> |
| 72 <h2><a onclick="loadTest(2, 'conformance/fuzzTheAPI.html');return false" h
ref="conformance/fuzzTheAPI.html">conformance/fuzzTheAPI.html</a></h2> |
| 73 </div> |
| 74 |
| 75 |
| 76 <div> |
| 77 <iframe id="3" width="110" height="42"></iframe> |
| 78 <h2><a onclick="loadTest(3, 'conformance/getContext.html');return false" h
ref="conformance/getContext.html">conformance/getContext.html</a></h2> |
| 79 </div> |
| 80 |
| 81 |
| 82 <div> |
| 83 <iframe id="4" width="110" height="42"></iframe> |
| 84 <h2><a onclick="loadTest(4, 'conformance/methods.html');return false" href
="conformance/methods.html">conformance/methods.html</a></h2> |
| 85 </div> |
| 86 |
| 87 |
| 88 <div> |
| 89 <iframe id="5" width="110" height="42"></iframe> |
| 90 <h2><a onclick="loadTest(5, 'conformance/quickCheckAPI.html');return false
" href="conformance/quickCheckAPI.html">conformance/quickCheckAPI.html</a></h2> |
| 91 </div> |
| 92 |
| 93 |
| 94 <div> |
| 95 <iframe id="6" width="110" height="42"></iframe> |
| 96 <h2><a onclick="loadTest(6, 'conformance/quickCheckAPIBadArgs.html');retur
n false" href="conformance/quickCheckAPIBadArgs.html">conformance/quickCheckAPIB
adArgs.html</a></h2> |
| 97 </div> |
| 98 |
| 99 |
| 100 <div> |
| 101 <iframe id="7" width="110" height="42"></iframe> |
| 102 <h2><a onclick="loadTest(7, 'conformance/webGLArrays.html');return false"
href="conformance/webGLArrays.html">conformance/webGLArrays.html</a></h2> |
| 103 </div> |
| 104 |
| 105 |
| 106 <div> |
| 107 <iframe id="8" width="110" height="42"></iframe> |
| 108 <h2><a onclick="loadTest(8, 'functions/bindBuffer.html');return false" hre
f="functions/bindBuffer.html">functions/bindBuffer.html</a></h2> |
| 109 </div> |
| 110 |
| 111 |
| 112 <div> |
| 113 <iframe id="9" width="110" height="42"></iframe> |
| 114 <h2><a onclick="loadTest(9, 'functions/bindBufferBadArgs.html');return fal
se" href="functions/bindBufferBadArgs.html">functions/bindBufferBadArgs.html</a>
</h2> |
| 115 </div> |
| 116 |
| 117 |
| 118 <div> |
| 119 <iframe id="10" width="110" height="42"></iframe> |
| 120 <h2><a onclick="loadTest(10, 'functions/bindFramebufferLeaveNonZero.html')
;return false" href="functions/bindFramebufferLeaveNonZero.html">functions/bindF
ramebufferLeaveNonZero.html</a></h2> |
| 121 </div> |
| 122 |
| 123 |
| 124 <div> |
| 125 <iframe id="11" width="110" height="42"></iframe> |
| 126 <h2><a onclick="loadTest(11, 'functions/bufferData.html');return false" hr
ef="functions/bufferData.html">functions/bufferData.html</a></h2> |
| 127 </div> |
| 128 |
| 129 |
| 130 <div> |
| 131 <iframe id="12" width="110" height="42"></iframe> |
| 132 <h2><a onclick="loadTest(12, 'functions/bufferDataBadArgs.html');return fa
lse" href="functions/bufferDataBadArgs.html">functions/bufferDataBadArgs.html</a
></h2> |
| 133 </div> |
| 134 |
| 135 |
| 136 <div> |
| 137 <iframe id="13" width="110" height="42"></iframe> |
| 138 <h2><a onclick="loadTest(13, 'functions/bufferSubData.html');return false"
href="functions/bufferSubData.html">functions/bufferSubData.html</a></h2> |
| 139 </div> |
| 140 |
| 141 |
| 142 <div> |
| 143 <iframe id="14" width="110" height="42"></iframe> |
| 144 <h2><a onclick="loadTest(14, 'functions/bufferSubDataBadArgs.html');return
false" href="functions/bufferSubDataBadArgs.html">functions/bufferSubDataBadArg
s.html</a></h2> |
| 145 </div> |
| 146 |
| 147 |
| 148 <div> |
| 149 <iframe id="15" width="110" height="42"></iframe> |
| 150 <h2><a onclick="loadTest(15, 'functions/copyTexImage2D.html');return false
" href="functions/copyTexImage2D.html">functions/copyTexImage2D.html</a></h2> |
| 151 </div> |
| 152 |
| 153 |
| 154 <div> |
| 155 <iframe id="16" width="110" height="42"></iframe> |
| 156 <h2><a onclick="loadTest(16, 'functions/copyTexImage2DBadArgs.html');retur
n false" href="functions/copyTexImage2DBadArgs.html">functions/copyTexImage2DBad
Args.html</a></h2> |
| 157 </div> |
| 158 |
| 159 |
| 160 <div> |
| 161 <iframe id="17" width="110" height="42"></iframe> |
| 162 <h2><a onclick="loadTest(17, 'functions/copyTexSubImage2D.html');return fa
lse" href="functions/copyTexSubImage2D.html">functions/copyTexSubImage2D.html</a
></h2> |
| 163 </div> |
| 164 |
| 165 |
| 166 <div> |
| 167 <iframe id="18" width="110" height="42"></iframe> |
| 168 <h2><a onclick="loadTest(18, 'functions/copyTexSubImage2DBadArgs.html');re
turn false" href="functions/copyTexSubImage2DBadArgs.html">functions/copyTexSubI
mage2DBadArgs.html</a></h2> |
| 169 </div> |
| 170 |
| 171 |
| 172 <div> |
| 173 <iframe id="19" width="110" height="42"></iframe> |
| 174 <h2><a onclick="loadTest(19, 'functions/deleteBufferBadArgs.html');return
false" href="functions/deleteBufferBadArgs.html">functions/deleteBufferBadArgs.h
tml</a></h2> |
| 175 </div> |
| 176 |
| 177 |
| 178 <div> |
| 179 <iframe id="20" width="110" height="42"></iframe> |
| 180 <h2><a onclick="loadTest(20, 'functions/drawArrays.html');return false" hr
ef="functions/drawArrays.html">functions/drawArrays.html</a></h2> |
| 181 </div> |
| 182 |
| 183 |
| 184 <div> |
| 185 <iframe id="21" width="110" height="42"></iframe> |
| 186 <h2><a onclick="loadTest(21, 'functions/drawArraysOutOfBounds.html');retur
n false" href="functions/drawArraysOutOfBounds.html">functions/drawArraysOutOfBo
unds.html</a></h2> |
| 187 </div> |
| 188 |
| 189 |
| 190 <div> |
| 191 <iframe id="22" width="110" height="42"></iframe> |
| 192 <h2><a onclick="loadTest(22, 'functions/drawElements.html');return false"
href="functions/drawElements.html">functions/drawElements.html</a></h2> |
| 193 </div> |
| 194 |
| 195 |
| 196 <div> |
| 197 <iframe id="23" width="110" height="42"></iframe> |
| 198 <h2><a onclick="loadTest(23, 'functions/drawElementsBadArgs.html');return
false" href="functions/drawElementsBadArgs.html">functions/drawElementsBadArgs.h
tml</a></h2> |
| 199 </div> |
| 200 |
| 201 |
| 202 <div> |
| 203 <iframe id="24" width="110" height="42"></iframe> |
| 204 <h2><a onclick="loadTest(24, 'functions/getImageData.html');return false"
href="functions/getImageData.html">functions/getImageData.html</a></h2> |
| 205 </div> |
| 206 |
| 207 |
| 208 <div> |
| 209 <iframe id="25" width="110" height="42"></iframe> |
| 210 <h2><a onclick="loadTest(25, 'functions/getImageDataBadArgs.html');return
false" href="functions/getImageDataBadArgs.html">functions/getImageDataBadArgs.h
tml</a></h2> |
| 211 </div> |
| 212 |
| 213 |
| 214 <div> |
| 215 <iframe id="26" width="110" height="42"></iframe> |
| 216 <h2><a onclick="loadTest(26, 'functions/isTests.html');return false" href=
"functions/isTests.html">functions/isTests.html</a></h2> |
| 217 </div> |
| 218 |
| 219 |
| 220 <div> |
| 221 <iframe id="27" width="110" height="42"></iframe> |
| 222 <h2><a onclick="loadTest(27, 'functions/linkProgramBadArgs.html');return f
alse" href="functions/linkProgramBadArgs.html">functions/linkProgramBadArgs.html
</a></h2> |
| 223 </div> |
| 224 |
| 225 |
| 226 <div> |
| 227 <iframe id="28" width="110" height="42"></iframe> |
| 228 <h2><a onclick="loadTest(28, 'functions/readPixels.html');return false" hr
ef="functions/readPixels.html">functions/readPixels.html</a></h2> |
| 229 </div> |
| 230 |
| 231 |
| 232 <div> |
| 233 <iframe id="29" width="110" height="42"></iframe> |
| 234 <h2><a onclick="loadTest(29, 'functions/readPixelsBadArgs.html');return fa
lse" href="functions/readPixelsBadArgs.html">functions/readPixelsBadArgs.html</a
></h2> |
| 235 </div> |
| 236 |
| 237 |
| 238 <div> |
| 239 <iframe id="30" width="110" height="42"></iframe> |
| 240 <h2><a onclick="loadTest(30, 'functions/texImage2D.html');return false" hr
ef="functions/texImage2D.html">functions/texImage2D.html</a></h2> |
| 241 </div> |
| 242 |
| 243 |
| 244 <div> |
| 245 <iframe id="31" width="110" height="42"></iframe> |
| 246 <h2><a onclick="loadTest(31, 'functions/texImage2DBadArgs.html');return fa
lse" href="functions/texImage2DBadArgs.html">functions/texImage2DBadArgs.html</a
></h2> |
| 247 </div> |
| 248 |
| 249 |
| 250 <div> |
| 251 <iframe id="32" width="110" height="42"></iframe> |
| 252 <h2><a onclick="loadTest(32, 'functions/texImage2DHTML.html');return false
" href="functions/texImage2DHTML.html">functions/texImage2DHTML.html</a></h2> |
| 253 </div> |
| 254 |
| 255 |
| 256 <div> |
| 257 <iframe id="33" width="110" height="42"></iframe> |
| 258 <h2><a onclick="loadTest(33, 'functions/texImage2DHTMLBadArgs.html');retur
n false" href="functions/texImage2DHTMLBadArgs.html">functions/texImage2DHTMLBad
Args.html</a></h2> |
| 259 </div> |
| 260 |
| 261 |
| 262 <div> |
| 263 <iframe id="34" width="110" height="42"></iframe> |
| 264 <h2><a onclick="loadTest(34, 'functions/texSubImage2D.html');return false"
href="functions/texSubImage2D.html">functions/texSubImage2D.html</a></h2> |
| 265 </div> |
| 266 |
| 267 |
| 268 <div> |
| 269 <iframe id="35" width="110" height="42"></iframe> |
| 270 <h2><a onclick="loadTest(35, 'functions/texSubImage2DBadArgs.html');return
false" href="functions/texSubImage2DBadArgs.html">functions/texSubImage2DBadArg
s.html</a></h2> |
| 271 </div> |
| 272 |
| 273 |
| 274 <div> |
| 275 <iframe id="36" width="110" height="42"></iframe> |
| 276 <h2><a onclick="loadTest(36, 'functions/texSubImage2DHTML.html');return fa
lse" href="functions/texSubImage2DHTML.html">functions/texSubImage2DHTML.html</a
></h2> |
| 277 </div> |
| 278 |
| 279 |
| 280 <div> |
| 281 <iframe id="37" width="110" height="42"></iframe> |
| 282 <h2><a onclick="loadTest(37, 'functions/texSubImage2DHTMLBadArgs.html');re
turn false" href="functions/texSubImage2DHTMLBadArgs.html">functions/texSubImage
2DHTMLBadArgs.html</a></h2> |
| 283 </div> |
| 284 |
| 285 |
| 286 <div> |
| 287 <iframe id="38" width="110" height="42"></iframe> |
| 288 <h2><a onclick="loadTest(38, 'functions/uniformMatrix.html');return false"
href="functions/uniformMatrix.html">functions/uniformMatrix.html</a></h2> |
| 289 </div> |
| 290 |
| 291 |
| 292 <div> |
| 293 <iframe id="39" width="110" height="42"></iframe> |
| 294 <h2><a onclick="loadTest(39, 'functions/uniformMatrixBadArgs.html');return
false" href="functions/uniformMatrixBadArgs.html">functions/uniformMatrixBadArg
s.html</a></h2> |
| 295 </div> |
| 296 |
| 297 |
| 298 <div> |
| 299 <iframe id="40" width="110" height="42"></iframe> |
| 300 <h2><a onclick="loadTest(40, 'functions/uniformf.html');return false" href
="functions/uniformf.html">functions/uniformf.html</a></h2> |
| 301 </div> |
| 302 |
| 303 |
| 304 <div> |
| 305 <iframe id="41" width="110" height="42"></iframe> |
| 306 <h2><a onclick="loadTest(41, 'functions/uniformfBadArgs.html');return fals
e" href="functions/uniformfBadArgs.html">functions/uniformfBadArgs.html</a></h2> |
| 307 </div> |
| 308 |
| 309 |
| 310 <div> |
| 311 <iframe id="42" width="110" height="42"></iframe> |
| 312 <h2><a onclick="loadTest(42, 'functions/uniformi.html');return false" href
="functions/uniformi.html">functions/uniformi.html</a></h2> |
| 313 </div> |
| 314 |
| 315 |
| 316 <div> |
| 317 <iframe id="43" width="110" height="42"></iframe> |
| 318 <h2><a onclick="loadTest(43, 'functions/uniformiBadArgs.html');return fals
e" href="functions/uniformiBadArgs.html">functions/uniformiBadArgs.html</a></h2> |
| 319 </div> |
| 320 |
| 321 |
| 322 <div> |
| 323 <iframe id="44" width="110" height="42"></iframe> |
| 324 <h2><a onclick="loadTest(44, 'functions/vertexAttrib.html');return false"
href="functions/vertexAttrib.html">functions/vertexAttrib.html</a></h2> |
| 325 </div> |
| 326 |
| 327 |
| 328 <div> |
| 329 <iframe id="45" width="110" height="42"></iframe> |
| 330 <h2><a onclick="loadTest(45, 'functions/vertexAttribBadArgs.html');return
false" href="functions/vertexAttribBadArgs.html">functions/vertexAttribBadArgs.h
tml</a></h2> |
| 331 </div> |
| 332 |
| 333 |
| 334 <div> |
| 335 <iframe id="46" width="110" height="42"></iframe> |
| 336 <h2><a onclick="loadTest(46, 'functions/vertexAttribPointer.html');return
false" href="functions/vertexAttribPointer.html">functions/vertexAttribPointer.h
tml</a></h2> |
| 337 </div> |
| 338 |
| 339 |
| 340 <div> |
| 341 <iframe id="47" width="110" height="42"></iframe> |
| 342 <h2><a onclick="loadTest(47, 'functions/vertexAttribPointerBadArgs.html');
return false" href="functions/vertexAttribPointerBadArgs.html">functions/vertexA
ttribPointerBadArgs.html</a></h2> |
| 343 </div> |
| 344 |
| 345 |
| 346 <div> |
| 347 <iframe id="48" width="110" height="42"></iframe> |
| 348 <h2><a onclick="loadTest(48, 'performance/CPUvsGPU.html');return false" hr
ef="performance/CPUvsGPU.html">performance/CPUvsGPU.html</a></h2> |
| 349 </div> |
| 350 |
| 351 |
| 352 <div> |
| 353 <iframe id="49" width="110" height="42"></iframe> |
| 354 <h2><a onclick="loadTest(49, 'performance/bandwidth.html');return false" h
ref="performance/bandwidth.html">performance/bandwidth.html</a></h2> |
| 355 </div> |
| 356 |
| 357 |
| 358 <div> |
| 359 <iframe id="50" width="110" height="42"></iframe> |
| 360 <h2><a onclick="loadTest(50, 'performance/jsGCPause.html');return false" h
ref="performance/jsGCPause.html">performance/jsGCPause.html</a></h2> |
| 361 </div> |
| 362 |
| 363 |
| 364 <div> |
| 365 <iframe id="51" width="110" height="42"></iframe> |
| 366 <h2><a onclick="loadTest(51, 'performance/jsMatrixMult.html');return false
" href="performance/jsMatrixMult.html">performance/jsMatrixMult.html</a></h2> |
| 367 </div> |
| 368 |
| 369 |
| 370 <div> |
| 371 <iframe id="52" width="110" height="42"></iframe> |
| 372 <h2><a onclick="loadTest(52, 'performance/jsToGLOverhead.html');return fal
se" href="performance/jsToGLOverhead.html">performance/jsToGLOverhead.html</a></
h2> |
| 373 </div> |
| 374 |
| 375 |
| 376 <div> |
| 377 <iframe id="53" width="110" height="42"></iframe> |
| 378 <h2><a onclick="loadTest(53, 'glsl/arrayOutOfBounds.html');return false" h
ref="glsl/arrayOutOfBounds.html">glsl/arrayOutOfBounds.html</a></h2> |
| 379 </div> |
| 380 |
| 381 |
| 382 <div> |
| 383 <iframe id="54" width="110" height="42"></iframe> |
| 384 <h2><a onclick="loadTest(54, 'glsl/longLoops.html');return false" href="gl
sl/longLoops.html">glsl/longLoops.html</a></h2> |
| 385 </div> |
| 386 |
| 387 |
| 388 <div> |
| 389 <iframe id="55" width="110" height="42"></iframe> |
| 390 <h2><a onclick="loadTest(55, 'glsl/uniformOutOfBounds.html');return false"
href="glsl/uniformOutOfBounds.html">glsl/uniformOutOfBounds.html</a></h2> |
| 391 </div> |
| 392 |
| 393 |
| 394 <div> |
| 395 <iframe id="56" width="110" height="42"></iframe> |
| 396 <h2><a onclick="loadTest(56, 'glsl/unusedAttribsUniforms.html');return fal
se" href="glsl/unusedAttribsUniforms.html">glsl/unusedAttribsUniforms.html</a></
h2> |
| 397 </div> |
| 398 |
| 399 </body> |
| 400 </html> |
OLD | NEW |