/*------------------------------------------------------------------------- * drawElements Quality Program OpenGL ES 3.0 Module * ------------------------------------------------- * * Copyright 2014 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * *//*! * \file * \brief Tests for precision and range of GLSL builtins and types. *//*--------------------------------------------------------------------*/ 'use strict'; goog.provide('functional.gles3.es3fBuiltinPrecisionTests'); goog.require('framework.common.tcuTestCase'); goog.require('framework.opengl.gluShaderProgram'); goog.require('modules.shared.glsBuiltinPrecisionTests'); goog.scope(function() { var es3fBuiltinPrecisionTests = functional.gles3.es3fBuiltinPrecisionTests; var glsBuiltinPrecisionTests = modules.shared.glsBuiltinPrecisionTests; var tcuTestCase = framework.common.tcuTestCase; var gluShaderProgram = framework.opengl.gluShaderProgram; /** * @param {*} context * @param {number} caseId test case Id * @return {tcuTestCase.DeqpTest} */ es3fBuiltinPrecisionTests.createBuiltinPrecisionTests = function(context, caseId) { /** @type {tcuTestCase.DeqpTest} */ var group = tcuTestCase.newTest('precision', 'Builtin precision tests'); /** @type {Array} */ var shaderTypes = []; var es3Cases = glsBuiltinPrecisionTests.createES3BuiltinCases(caseId); shaderTypes.push(gluShaderProgram.shaderType.VERTEX); shaderTypes.push(gluShaderProgram.shaderType.FRAGMENT); glsBuiltinPrecisionTests.addBuiltinPrecisionTests(es3Cases, shaderTypes, group); return group; }; /** * Create and execute the test cases * @param {WebGL2RenderingContext} context * @param {number} caseId test case Id */ es3fBuiltinPrecisionTests.run = function(context, caseId) { gl = context; // Set up root Test var state = tcuTestCase.runner; var test = es3fBuiltinPrecisionTests.createBuiltinPrecisionTests(context, caseId); var testName = test.fullName(); var testDescription = test.getDescription() === undefined ? '' : test.getDescription(); state.testName = testName; state.setRoot(test); //Set up name and description of this test series. setCurrentTestName(testName); description(testDescription); try { //Create test cases test.init(); //Run test cases tcuTestCase.runTestCases(); } catch (err) { bufferedLogToConsole('Exception: ' + err); testFailedOptions('Failed to es3fAttribLocationTests.run tests', false); tcuTestCase.runner.terminate(); } }; });