shaders-with-varyings.html (2674B)
1 <!-- 2 Copyright (c) 2019 The Khronos Group Inc. 3 Use of this source code is governed by an MIT-style license that can be 4 found in the LICENSE.txt file. 5 --> 6 7 <!DOCTYPE html> 8 <html> 9 <head> 10 <meta charset="utf-8"> 11 <title>WebGL GLSL Conformance Tests</title> 12 <link rel="stylesheet" href="../../../resources/js-test-style.css"/> 13 <link rel="stylesheet" href="../../../resources/glsl-feature-tests.css"/> 14 <script src="../../../js/js-test-pre.js"></script> 15 <script src="../../../js/webgl-test-utils.js"></script> 16 <script src="../../../js/glsl-conformance-test.js"></script> 17 </head> 18 <body> 19 <div id="description"></div> 20 <div id="console"></div> 21 <script id="vertexShaderNoVarying" type="text/something-not-javascript"> 22 void main() 23 { 24 gl_Position = vec4(0,0,0,0); 25 } 26 </script> 27 <script id="vertexShaderUnusedVarying" type="text/something-not-javascript"> 28 varying vec4 v_varying; 29 30 void main() 31 { 32 gl_Position = vec4(0,0,0,0); 33 } 34 </script> 35 <script id="vertexShaderUsedVarying" type="text/something-not-javascript"> 36 varying vec4 v_varying; 37 38 void main() 39 { 40 gl_Position = v_varying; 41 } 42 </script> 43 <script id="fragmentShaderUnusedVarying" type="text/something-not-javascript"> 44 precision mediump float; 45 46 varying vec4 v_varying; 47 48 void main() 49 { 50 gl_FragColor = vec4(0,0,0,0); 51 } 52 </script> 53 <script id="fragmentShaderUsedVarying" type="text/something-not-javascript"> 54 precision mediump float; 55 56 varying vec4 v_varying; 57 58 void main() 59 { 60 gl_FragColor = v_varying; 61 } 62 </script> 63 <script> 64 // GLSL 1.0.17 4.3.5 65 "use strict"; 66 GLSLConformanceTester.runTests([ 67 { 68 vShaderId: "vertexShaderNoVarying", 69 vShaderSuccess: true, 70 fShaderId: "fragmentShaderUnusedVarying", 71 fShaderSuccess: true, 72 linkSuccess: true, 73 passMsg: "vertex shader with no varying and fragment shader with unused varying must succeed", 74 }, 75 { 76 vShaderId: "vertexShaderNoVarying", 77 vShaderSuccess: true, 78 fShaderId: "fragmentShaderUsedVarying", 79 fShaderSuccess: true, 80 linkSuccess: false, 81 passMsg: "vertex shader with no varying and fragment shader with used varying must fail", 82 }, 83 { 84 vShaderId: "vertexShaderUnusedVarying", 85 vShaderSuccess: true, 86 fShaderId: "fragmentShaderUnusedVarying", 87 fShaderSuccess: true, 88 linkSuccess: true, 89 passMsg: "vertex shader with unused varying and fragment shader with unused varying must succeed", 90 }, 91 { 92 vShaderId: "vertexShaderUnusedVarying", 93 vShaderSuccess: true, 94 fShaderId: "fragmentShaderUsedVarying", 95 fShaderSuccess: true, 96 linkSuccess: true, 97 passMsg: "vertex shader with unused varying and fragment shader with used varying must succeed", 98 }, 99 ]); 100 var successfullyParsed = true; 101 </script> 102 </body> 103 </html>