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

Unified Diff: third_party/webgl/sdk/tests/conformance/resources/glsl-conformance-test.js

Issue 9360034: Remove everthing except conformance tests in the deps/third_party/webgl (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/
Patch Set: Created 8 years, 10 months 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 side-by-side diff with in-line comments
Download patch
Index: third_party/webgl/sdk/tests/conformance/resources/glsl-conformance-test.js
===================================================================
--- third_party/webgl/sdk/tests/conformance/resources/glsl-conformance-test.js (revision 121077)
+++ third_party/webgl/sdk/tests/conformance/resources/glsl-conformance-test.js (working copy)
@@ -1,269 +0,0 @@
-GLSLConformanceTester = (function(){
-
-var wtu = WebGLTestUtils;
-var defaultVertexShader = [
- "attribute vec4 vPosition;",
- "void main()",
- "{",
- " gl_Position = vPosition;",
- "}"
-].join('\n');
-
-var defaultFragmentShader = [
- "precision mediump float;",
- "void main()",
- "{",
- " gl_FragColor = vec4(1.0,0.0,0.0,1.0);",
- "}"
-].join('\n');
-
-function log(msg) {
- if (window.console && window.console.log) {
- window.console.log(msg);
- }
-}
-
-var vShaderDB = {};
-var fShaderDB = {};
-
-/**
- * vShaderSource: the source code for vertex shader
- * vShaderSuccess: true if vertex shader compiliation should
- * succeed.
- * fShaderSource: the source code for fragment shader
- * fShaderSuccess: true if fragment shader compiliation should
- * succeed.
- * linkSuccess: true of link should succeed
- * passMsg: msg to describe success condition.
- *
- */
-function runOneTest(gl, info) {
- var passMsg = info.passMsg
- log(passMsg);
-
- if (info.vShaderSource === undefined) {
- if (info.vShaderId) {
- info.vShaderSource = document.getElementById(info.vShaderId).text;
- } else {
- info.vShader = 'defaultVertexShader';
- info.vShaderSource = defaultVertexShader;
- }
- }
- if (info.fShaderSource === undefined) {
- if (info.fShaderId) {
- info.fShaderSource = document.getElementById(info.fShaderId).text;
- } else {
- info.fShader = 'defaultFragmentShader';
- info.fShaderSource = defaultFragmentShader;
- }
- }
-
- var vSource = info.vShaderPrep ? info.vShaderPrep(info.vShaderSource) :
- info.vShaderSource;
-
- // Reuse identical shaders so we test shared shader.
- var vShader = vShaderDB[vSource];
- if (!vShader) {
- vShader = wtu.loadShader(gl, vSource, gl.VERTEX_SHADER);
- if (info.vShaderTest) {
- if (!info.vShaderTest(vShader)) {
- testFailed("[vertex shader test] " + passMsg);
- return;
- }
- }
- if ((vShader != null) != info.vShaderSuccess) {
- testFailed("[unexpected vertex shader compile status] (expected: " +
- info.vShaderSuccess + ") " + passMsg);
- return;
- }
- // Save the shaders so we test shared shader.
- if (vShader) {
- vShaderDB[vSource] = vShader;
- }
- }
-
- var fSource = info.fShaderPrep ? info.fShaderPrep(info.fShaderSource) :
- info.fShaderSource;
-
- // Reuse identical shaders so we test shared shader.
- var fShader = fShaderDB[fSource];
- if (!fShader) {
- fShader = wtu.loadShader(gl, fSource, gl.FRAGMENT_SHADER);
- if (info.fShaderTest) {
- if (!info.fShaderTest(fShader)) {
- testFailed("[fragment shdaer test] " + passMsg);
- return;
- }
- }
- //debug(fShader == null ? "fail" : "succeed");
- if ((fShader != null) != info.fShaderSuccess) {
- testFailed("[unexpected fragment shader compile status] (expected: " +
- info.fShaderSuccess + ") " + passMsg);
- return;
- }
- // Safe the shaders so we test shared shader.
- if (fShader) {
- fShaderDB[fSource] = fShader;
- }
- }
-
- if (vShader && fShader) {
- var program = gl.createProgram();
- gl.attachShader(program, vShader);
- gl.attachShader(program, fShader);
- gl.linkProgram(program);
- var linked = (gl.getProgramParameter(program, gl.LINK_STATUS) != 0);
- if (!linked) {
- var error = gl.getProgramInfoLog(program);
- log("*** Error linking program '"+program+"':"+error);
- }
- if (linked != info.linkSuccess) {
- testFailed("[unexpected link status] " + passMsg);
- return;
- }
- } else {
- if (info.linkSuccess) {
- testFailed("[link failed] " + passMsg);
- return;
- }
- }
- testPassed(passMsg);
-}
-
-function runTests(shaderInfos) {
- var wtu = WebGLTestUtils;
- var canvas = document.createElement('canvas');
- var gl = wtu.create3DContext();
- if (!gl) {
- testFailed("context does not exist");
- finishTest();
- return;
- }
-
- for (var ii = 0; ii < shaderInfos.length; ++ii) {
- runOneTest(gl, shaderInfos[ii]);
- }
-
- finishTest();
-};
-
-function loadExternalShaders(filename, passMsg) {
- var shaderInfos = [];
- var lines = wtu.readFileList(filename);
- for (var ii = 0; ii < lines.length; ++ii) {
- var info = {
- vShaderSource: defaultVertexShader,
- vShaderSuccess: true,
- fShaderSource: defaultFragmentShader,
- fShaderSuccess: true,
- linkSuccess: true,
- };
-
- var line = lines[ii];
- var files = line.split(/ +/);
- var passMsg = "";
- for (var jj = 0; jj < files.length; ++jj) {
- var file = files[jj];
- var shaderSource = wtu.readFile(file);
- var firstLine = shaderSource.split("\n")[0];
- var success = undefined;
- if (firstLine.indexOf("fail") >= 0) {
- success = false;
- } else if (firstLine.indexOf("succeed") >= 0) {
- success = true;
- }
- if (success === undefined) {
- testFailed("bad first line in " + file + ":" + firstLine);
- continue;
- }
- if (!wtu.startsWith(firstLine, "// ")) {
- testFailed("bad first line in " + file + ":" + firstLine);
- continue;
- }
- passMsg = passMsg + (passMsg.length ? ", " : "") + firstLine.substr(3);
- if (wtu.endsWith(file, ".vert")) {
- info.vShaderSource = shaderSource;
- info.vShaderSuccess = success;
- } else if (wtu.endsWith(file, ".frag")) {
- info.fShaderSource = shaderSource;
- info.fShaderSuccess = success;
- }
- }
- info.linkSuccess = info.vShaderSuccess && info.fShaderSuccess;
- info.passMsg = passMsg;
- shaderInfos.push(info);
- }
- return shaderInfos;
-}
-
-function getSource(elem) {
- var str = elem.text;
- return str.replace(/^\s*/, '').replace(/\s*$/, '');
-}
-
-function getPassMessage(source) {
- var lines = source.split('\n');
- return lines[0].substring(3);
-}
-
-function getSuccess(msg) {
- if (msg.indexOf("fail") >= 0) {
- return false;
- }
- if (msg.indexOf("succeed") >= 0) {
- return true;
- }
- testFailed("bad test description. Must have 'fail' or 'success'");
-}
-
-function runTest() {
- var vShaderElem = document.getElementById('vertexShader');
- var vShaderSource = defaultVertexShader;
- var vShaderSuccess = true;
-
- var fShaderElem = document.getElementById('fragmentShader');
- var fShaderSource = defaultFragmentShader;
- var fShaderSuccess = true;
-
- var passMsg = undefined;
-
- if (vShaderElem) {
- vShaderSource = getSource(vShaderElem);
- passMsg = getPassMessage(vShaderSource);
- vShaderSuccess = getSuccess(passMsg);
- }
-
- if (fShaderElem) {
- fShaderSource = getSource(fShaderElem);
- passMsg = getPassMessage(fShaderSource);
- fShaderSuccess = getSuccess(passMsg);
- }
-
- var linkSuccess = vShaderSuccess && fShaderSuccess;
-
- if (passMsg === undefined) {
- testFailed("no test shader found.");
- finishTest();
- return;
- }
-
- var info = {
- vShaderSource: vShaderSource,
- vShaderSuccess: vShaderSuccess,
- fShaderSource: fShaderSource,
- fShaderSuccess: fShaderSuccess,
- linkSuccess: linkSuccess,
- passMsg: passMsg
- };
- description(passMsg);
- runTests([info]);
-}
-
-return {
- runTest: runTest,
- runTests: runTests,
- loadExternalShaders: loadExternalShaders,
-
- none: false,
-};
-}());

Powered by Google App Engine
This is Rietveld 408576698