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

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

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