content/canvas/test/webgl-conformance/conformance/glsl/misc/shader-with-long-line.html

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

michael@0 1 <!--
michael@0 2 Copyright (c) 2011 The Chromium Authors. All rights reserved.
michael@0 3 Use of this source code is governed by a BSD-style license that can be
michael@0 4 found in the LICENSE file.
michael@0 5 -->
michael@0 6 <!DOCTYPE html>
michael@0 7 <html>
michael@0 8 <head>
michael@0 9 <meta charset="utf-8">
michael@0 10 <title>WebGL GLSL Conformance Tests</title>
michael@0 11 <link rel="stylesheet" href="../../../resources/js-test-style.css"/>
michael@0 12 <link rel="stylesheet" href="../../resources/glsl-feature-tests.css"/>
michael@0 13 <script src="../../../resources/desktop-gl-constants.js" type="text/javascript"></script>
michael@0 14 <script src="../../../resources/js-test-pre.js"></script>
michael@0 15 <script src="../../resources/webgl-test-utils.js"></script>
michael@0 16 <script src="../../resources/glsl-conformance-test.js"></script>
michael@0 17 </head>
michael@0 18 <body>
michael@0 19 <div id="description"></div>
michael@0 20 <div id="console"></div>
michael@0 21 <script id="fshaderWithLongLine" type="text/something-not-javascript">
michael@0 22 precision mediump float;
michael@0 23 uniform float fooo;
michael@0 24 #if defined(someSymbolNotDefined)
michael@0 25 #error long
michael@0 26 #endif
michael@0 27 void main()
michael@0 28 {
michael@0 29 gl_FragColor = vec4(fooo+fooo+fooo+fooo, fooo+fooo+fooo+fooo, fooo+fooo+fooo+fooo, 1.0);
michael@0 30 }
michael@0 31 </script>
michael@0 32 <script>
michael@0 33 description("checks shader with long line succeeds");
michael@0 34
michael@0 35 var wtu = WebGLTestUtils;
michael@0 36 GLSLConformanceTester.runTests([
michael@0 37 { vShaderId: undefined,
michael@0 38 vShaderSuccess: true,
michael@0 39 fShaderId: 'fshaderWithLongLine',
michael@0 40 fShaderSuccess: true,
michael@0 41 fShaderPrep: function(str) {
michael@0 42 function expand(str, re, replacement, count) {
michael@0 43 for (var ii = 0; ii < count; ++ii) {
michael@0 44 str = str.replace(re, replacement);
michael@0 45 }
michael@0 46 return str;
michael@0 47 }
michael@0 48 str = expand(str, new RegExp(" ", 'g'), " ", 12);
michael@0 49 var manyZeros = expand("0", new RegExp("0", 'g'), "00", 8).substring(2);
michael@0 50 str = expand(str, new RegExp("0", 'g'), manyZeros, 1);
michael@0 51 str = expand(str, new RegExp("fooo", 'g'), "fooofooo", 6);
michael@0 52 str = expand(str, new RegExp("long", 'g'), "longlong", 6);
michael@0 53 //debug("len:" + str.length);
michael@0 54 //debug(str);
michael@0 55 return str;
michael@0 56 },
michael@0 57 linkSuccess: true,
michael@0 58 passMsg: 'shader that uses long lines should succeed',
michael@0 59 }
michael@0 60 ]);
michael@0 61
michael@0 62 debug("");
michael@0 63 successfullyParsed = true;
michael@0 64
michael@0 65 </script>
michael@0 66 </body>
michael@0 67 </html>

mercurial