Backed out changeset 7272b7396c78 (bug 1932758) for causing fenix debug failures...
[gecko.git] / dom / canvas / test / webgl-conf / checkout / deqp / functional / gles3 / es3fBuiltinPrecisionTests.js
blobd5786180b34ac21a570b87ee495254f18f601c84
1 /*-------------------------------------------------------------------------
2  * drawElements Quality Program OpenGL ES 3.0 Module
3  * -------------------------------------------------
4  *
5  * Copyright 2014 The Android Open Source Project
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  *//*!
20  * \file
21  * \brief Tests for precision and range of GLSL builtins and types.
22  *//*--------------------------------------------------------------------*/
23 'use strict';
24 goog.provide('functional.gles3.es3fBuiltinPrecisionTests');
25 goog.require('framework.common.tcuTestCase');
26 goog.require('framework.opengl.gluShaderProgram');
27 goog.require('modules.shared.glsBuiltinPrecisionTests');
29 goog.scope(function() {
31     var es3fBuiltinPrecisionTests = functional.gles3.es3fBuiltinPrecisionTests;
32     var glsBuiltinPrecisionTests = modules.shared.glsBuiltinPrecisionTests;
33     var tcuTestCase = framework.common.tcuTestCase;
34     var gluShaderProgram = framework.opengl.gluShaderProgram;
36     /**
37      * @param {*} context
38      * @param {number} caseId test case Id
39      * @return {tcuTestCase.DeqpTest}
40      */
41     es3fBuiltinPrecisionTests.createBuiltinPrecisionTests = function(context, caseId) {
42         /** @type {tcuTestCase.DeqpTest} */
43         var group = tcuTestCase.newTest('precision', 'Builtin precision tests');
45         /** @type {Array<gluShaderProgram.shaderType>} */ var shaderTypes = [];
46         var es3Cases = glsBuiltinPrecisionTests.createES3BuiltinCases(caseId);
48         shaderTypes.push(gluShaderProgram.shaderType.VERTEX);
49         shaderTypes.push(gluShaderProgram.shaderType.FRAGMENT);
51         glsBuiltinPrecisionTests.addBuiltinPrecisionTests(es3Cases, shaderTypes, group);
52         return group;
53     };
55     /**
56      * Create and execute the test cases
57      * @param {WebGL2RenderingContext} context
58      * @param {number} caseId test case Id
59      */
60     es3fBuiltinPrecisionTests.run = function(context, caseId) {
61         gl = context;
62         // Set up root Test
63         var state = tcuTestCase.runner;
65         var test = es3fBuiltinPrecisionTests.createBuiltinPrecisionTests(context, caseId);
66         var testName = test.fullName();
67         var testDescription = test.getDescription() === undefined ? '' : test.getDescription();
69         state.testName = testName;
70         state.setRoot(test);
71         //Set up name and description of this test series.
72         setCurrentTestName(testName);
73         description(testDescription);
75         try {
76             //Create test cases
77             test.init();
78             //Run test cases
79             tcuTestCase.runTestCases();
80         } catch (err) {
81             bufferedLogToConsole('Exception: ' + err);
82             testFailedOptions('Failed to es3fAttribLocationTests.run tests', false);
83             tcuTestCase.runner.terminate();
84         }
85     };
87 });