mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
203 lines
3.9 KiB
HTML
203 lines
3.9 KiB
HTML
<html>
|
|
<head>
|
|
<!--
|
|
Copyright (c) 2009 Ilmari Heikkinen. All rights reserved.
|
|
Use of this source code is governed by a BSD-style license that can be
|
|
found in the LICENSE file.
|
|
-->
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<title>WebGL Methods Test</title>
|
|
<link rel="stylesheet" href="../resources/js-test-style.css"/>
|
|
<script src="../resources/desktop-gl-constants.js" type="text/javascript"></script>
|
|
<script src="../resources/js-test-pre.js"></script>
|
|
<script src="resources/webgl-test.js"></script>
|
|
</head>
|
|
<body>
|
|
<div id="description"></div>
|
|
<div id="console"></div>
|
|
<canvas id="canvas" style="width: 50px; height: 50px;"> </canvas>
|
|
<script>
|
|
description("This test ensures that the WebGL context has all the methods in the specification.");
|
|
|
|
var methods = [
|
|
"canvas",
|
|
"getContextAttributes",
|
|
"activeTexture",
|
|
"attachShader",
|
|
"bindAttribLocation",
|
|
"bindBuffer",
|
|
"bindFramebuffer",
|
|
"bindRenderbuffer",
|
|
"bindTexture",
|
|
"blendColor",
|
|
"blendEquation",
|
|
"blendEquationSeparate",
|
|
"blendFunc",
|
|
"blendFuncSeparate",
|
|
"bufferData",
|
|
"bufferSubData",
|
|
"checkFramebufferStatus",
|
|
"clear",
|
|
"clearColor",
|
|
"clearDepth",
|
|
"clearStencil",
|
|
"colorMask",
|
|
"compileShader",
|
|
"copyTexImage2D",
|
|
"copyTexSubImage2D",
|
|
"createBuffer",
|
|
"createFramebuffer",
|
|
"createProgram",
|
|
"createRenderbuffer",
|
|
"createShader",
|
|
"createTexture",
|
|
"cullFace",
|
|
"deleteBuffer",
|
|
"deleteFramebuffer",
|
|
"deleteProgram",
|
|
"deleteRenderbuffer",
|
|
"deleteShader",
|
|
"deleteTexture",
|
|
"depthFunc",
|
|
"depthMask",
|
|
"depthRange",
|
|
"detachShader",
|
|
"disable",
|
|
"disableVertexAttribArray",
|
|
"drawArrays",
|
|
"drawElements",
|
|
"enable",
|
|
"enableVertexAttribArray",
|
|
"finish",
|
|
"flush",
|
|
"framebufferRenderbuffer",
|
|
"framebufferTexture2D",
|
|
"frontFace",
|
|
"generateMipmap",
|
|
"getActiveAttrib",
|
|
"getActiveUniform",
|
|
"getAttachedShaders",
|
|
"getAttribLocation",
|
|
"getParameter",
|
|
"getBufferParameter",
|
|
"getError",
|
|
"getFramebufferAttachmentParameter",
|
|
"getProgramParameter",
|
|
"getProgramInfoLog",
|
|
"getRenderbufferParameter",
|
|
"getShaderParameter",
|
|
"getShaderInfoLog",
|
|
"getShaderSource",
|
|
"getString",
|
|
"getTexParameter",
|
|
"getUniform",
|
|
"getUniformLocation",
|
|
"getVertexAttrib",
|
|
"getVertexAttribOffset",
|
|
"hint",
|
|
"isBuffer",
|
|
"isEnabled",
|
|
"isFramebuffer",
|
|
"isProgram",
|
|
"isRenderbuffer",
|
|
"isShader",
|
|
"isTexture",
|
|
"lineWidth",
|
|
"linkProgram",
|
|
"pixelStorei",
|
|
"polygonOffset",
|
|
"readPixels",
|
|
"renderbufferStorage",
|
|
"sampleCoverage",
|
|
"scissor",
|
|
"shaderSource",
|
|
"stencilFunc",
|
|
"stencilFuncSeparate",
|
|
"stencilMask",
|
|
"stencilMaskSeparate",
|
|
"stencilOp",
|
|
"stencilOpSeparate",
|
|
"texImage2D",
|
|
"texParameterf",
|
|
"texParameteri",
|
|
"texSubImage2D",
|
|
"uniform1f",
|
|
"uniform1fv",
|
|
"uniform1i",
|
|
"uniform1iv",
|
|
"uniform2f",
|
|
"uniform2fv",
|
|
"uniform2i",
|
|
"uniform2iv",
|
|
"uniform3f",
|
|
"uniform3fv",
|
|
"uniform3i",
|
|
"uniform3iv",
|
|
"uniform4f",
|
|
"uniform4fv",
|
|
"uniform4i",
|
|
"uniform4iv",
|
|
"uniformMatrix2fv",
|
|
"uniformMatrix3fv",
|
|
"uniformMatrix4fv",
|
|
"useProgram",
|
|
"validateProgram",
|
|
"vertexAttrib1f",
|
|
"vertexAttrib1fv",
|
|
"vertexAttrib2f",
|
|
"vertexAttrib2fv",
|
|
"vertexAttrib3f",
|
|
"vertexAttrib3fv",
|
|
"vertexAttrib4f",
|
|
"vertexAttrib4fv",
|
|
"vertexAttribPointer",
|
|
"viewport"
|
|
]
|
|
|
|
function assertProperty(v, p) {
|
|
try {
|
|
if (v[p] == null) {
|
|
testFailed("Property does not exist: " + p)
|
|
return false;
|
|
} else {
|
|
return true;
|
|
}
|
|
} catch(e) {
|
|
testFailed("Trying to access the property '"+p+"' threw an error: "+e.toString());
|
|
}
|
|
}
|
|
|
|
debug("");
|
|
debug("Canvas.getContext");
|
|
|
|
var canvas = document.getElementById("canvas");
|
|
var gl = create3DContext(canvas);
|
|
var passed = true;
|
|
for (var i=0; i<methods.length; i++) {
|
|
var r = assertProperty(gl, methods[i]);
|
|
passed = passed && r;
|
|
}
|
|
if (passed) {
|
|
testPassed("All WebGL methods found.");
|
|
}
|
|
var extended = false;
|
|
for (var i in gl) {
|
|
if (i.match(/^[a-z]/) && methods.indexOf(i) == -1) {
|
|
if (!extended) {
|
|
extended = true;
|
|
debug("Also found the following extra methods:");
|
|
}
|
|
debug(i);
|
|
}
|
|
}
|
|
|
|
debug("");
|
|
successfullyParsed = true;
|
|
</script>
|
|
<script src="../resources/js-test-post.js"></script>
|
|
<script>
|
|
</script>
|
|
|
|
</body>
|
|
</html>
|