1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/content/canvas/test/webgl-conformance/conformance/glsl/functions/glsl-function-length.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,86 @@ 1.4 +<!-- 1.5 +Copyright (c) 2011 The Chromium Authors. All rights reserved. 1.6 +Use of this source code is governed by a BSD-style license that can be 1.7 +found in the LICENSE file. 1.8 + --> 1.9 +<!DOCTYPE html> 1.10 +<html> 1.11 +<head> 1.12 +<meta charset="utf-8"> 1.13 + <title>GLSL length function test</title> 1.14 + <link rel="stylesheet" href="../../../resources/js-test-style.css"/> 1.15 + <link rel="stylesheet" href="../../resources/glsl-feature-tests.css"/> 1.16 + <script src="../../../resources/js-test-pre.js"></script> 1.17 + <script src="../../resources/webgl-test.js"> </script> 1.18 + <script src="../../resources/webgl-test-utils.js"> </script> 1.19 + <script src="../../resources/glsl-generator.js"> </script> 1.20 +</head> 1.21 +<body> 1.22 +<div id="description"></div> 1.23 +<div id="console"></div> 1.24 +<script> 1.25 + 1.26 +GLSLGenerator.runFeatureTest({ 1.27 + feature: "length", 1.28 + args: "$(type) value", 1.29 + baseArgs: "value$(field)", 1.30 + testFunc: "$(func)($(type))", 1.31 + fragmentTolerance: 1, 1.32 + emuFuncs: [ 1.33 + { type: "float", 1.34 + code: [ 1.35 + "float $(func)_emu($(args)) {", 1.36 + " return abs($(baseArgs));", 1.37 + "}"].join("\n") 1.38 + }, 1.39 + { type: "vec2", 1.40 + code: [ 1.41 + "float $(func)_emu($(args)) {", 1.42 + " return sqrt(", 1.43 + " $(baseArgsX) * $(baseArgsX) + ", 1.44 + " $(baseArgsY) * $(baseArgsY));", 1.45 + "}"].join("\n") 1.46 + }, 1.47 + { type: "vec3", 1.48 + code: [ 1.49 + "float $(func)_emu($(args)) {", 1.50 + " return sqrt(", 1.51 + " $(baseArgsX) * $(baseArgsX) + ", 1.52 + " $(baseArgsY) * $(baseArgsY) + ", 1.53 + " $(baseArgsZ) * $(baseArgsZ));", 1.54 + "}"].join("\n") 1.55 + }, 1.56 + { type: "vec4", 1.57 + code: [ 1.58 + "float $(func)_emu($(args)) {", 1.59 + " return sqrt(", 1.60 + " $(baseArgsX) * $(baseArgsX) + ", 1.61 + " $(baseArgsY) * $(baseArgsY) + ", 1.62 + " $(baseArgsZ) * $(baseArgsZ) + ", 1.63 + " $(baseArgsW) * $(baseArgsW));", 1.64 + "}"].join("\n") 1.65 + } 1.66 + ], 1.67 + gridRes: 8, 1.68 + tests: [ 1.69 + ["$(output) = vec4(", 1.70 + " $(func)($(input).x * 8.0 - 4.0) / 4.0,", 1.71 + " $(func)($(input).y * 8.0 - 4.0) / 4.0,", 1.72 + " 0,", 1.73 + " 1);"].join("\n"), 1.74 + ["$(output) = vec4(", 1.75 + " $(func)($(input).xy * 8.0 - 4.0) / 4.0,", 1.76 + " 0, 0, 1);"].join("\n"), 1.77 + ["$(output) = vec4(", 1.78 + " $(func)($(input).xyz * 8.0 - 4.0) / 4.0,", 1.79 + " 0, 0, 1);"].join("\n"), 1.80 + ["$(output) = vec4(", 1.81 + " $(func)($(input) * 8.0 - 4.0) / 4.0, 0, 0, 1);", 1.82 + ].join("\n") 1.83 + ] 1.84 +}); 1.85 +successfullyParsed = true; 1.86 +</script> 1.87 +</body> 1.88 +</html> 1.89 +