diff options
Diffstat (limited to '')
-rw-r--r-- | dom/canvas/test/webgl-conf/checkout/deqp/functional/gles3/builtinprecision/builtinprecision_test_generator.py | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/dom/canvas/test/webgl-conf/checkout/deqp/functional/gles3/builtinprecision/builtinprecision_test_generator.py b/dom/canvas/test/webgl-conf/checkout/deqp/functional/gles3/builtinprecision/builtinprecision_test_generator.py new file mode 100644 index 0000000000..ba44b2fc48 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/deqp/functional/gles3/builtinprecision/builtinprecision_test_generator.py @@ -0,0 +1,143 @@ +#!/usr/bin/env python + +# Copyright (c) 2019 The Khronos Group Inc. +# Use of this source code is governed by an MIT-style license that can be +# found in the LICENSE.txt file. + +""" + Generator for builtinprecision* tests. + This file needs to be run in its folder. +""" + +import sys + +_DO_NOT_EDIT_WARNING = """<!-- + +This file is auto-generated from builtinprecision_test_generator.py +DO NOT EDIT! + +--> + +""" + +_HTML_TEMPLATE = """<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>WebGL Builtin Precision Conformance Tests</title> +<link rel="stylesheet" href="../../../../resources/js-test-style.css"/> +<script src="../../../../js/js-test-pre.js"></script> +<script src="../../../../js/webgl-test-utils.js"></script> + +<script src="../../../../closure-library/closure/goog/base.js"></script> +<script src="../../../deqp-deps.js"></script> +<script>goog.require('functional.gles3.es3fBuiltinPrecisionTests');</script> +</head> +<body> +<div id="description"></div> +<div id="console"></div> +<canvas id="canvas" width="200" height="100"> </canvas> +<script> +var canvas = document.getElementById('canvas'); +var wtu = WebGLTestUtils; +var gl = wtu.create3DContext('canvas', null, 2); + +functional.gles3.es3fBuiltinPrecisionTests.run(gl, %(index)s); +</script> +</body> +</html> +""" + +_GROUPS = [ + 'add', + 'sub', + 'mul', + 'div', + 'radians', + 'degrees', + 'sin', + 'cos', + 'tan', + 'asin', + 'acos', + 'atan', + 'atan2', + 'sinh', + 'cosh', + 'tanh', + 'asinh', + 'acosh', + 'atanh', + 'pow', + 'exp', + 'exp2', + 'log', + 'log2', + 'sqrt', + 'inversesqrt', + 'abs', + 'sign', + 'floor', + 'trunc', + 'round', + 'roundeven', + 'ceil', + 'fract', + 'mod', + 'modf', + 'min', + 'max', + 'mix', + 'step', + 'smoothstep', + 'clamp', + 'length', + 'distance', + 'dot', + 'cross', + 'normalize', + 'faceforward', + 'reflect', + 'refract', + 'matrixcompmult', + 'outerproduct', + 'transpose', + 'determinant', + 'inverse' +] + +def GenerateFilename(group): + """Generate test filename.""" + filename = group + filename += ".html" + return filename + +def WriteTest(filename, index): + """Write one test.""" + file = open(filename, "wb") + file.write(_DO_NOT_EDIT_WARNING) + file.write(_HTML_TEMPLATE % { + 'index': index + }) + file.close + +def GenerateTests(): + """Generate all tests.""" + filelist = [] + for ii in range(len(_GROUPS)): + filename = GenerateFilename(_GROUPS[ii]) + filelist.append(filename) + WriteTest(filename, ii) + return filelist + +def GenerateTestList(filelist): + file = open("00_test_list.txt", "wb") + file.write('\n'.join(filelist)) + file.close + +def main(argv): + """This is the main function.""" + filelist = GenerateTests() + GenerateTestList(filelist) + +if __name__ == '__main__': + sys.exit(main(sys.argv[1:])) |