1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/content/canvas/test/webgl-conformance/conformance/glsl/misc/struct-nesting-exceeds-maximum.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,53 @@ 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>WebGL GLSL Conformance Tests</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-utils.js"></script> 1.18 +<script src="../../resources/glsl-conformance-test.js"></script> 1.19 +</head> 1.20 +<body> 1.21 +<div id="description"></div> 1.22 +<div id="console"></div> 1.23 +<script id="vertexShader" type="text/something-not-javascript"> 1.24 +// shader with too-deep struct nesting should fail per WebGL spec 1.25 +struct nesting5 { 1.26 + vec4 vector; 1.27 +}; 1.28 + 1.29 +struct nesting4 { 1.30 + nesting5 field5; 1.31 +}; 1.32 + 1.33 +struct nesting3 { 1.34 + nesting4 field4; 1.35 +}; 1.36 + 1.37 +struct nesting2 { 1.38 + nesting3 field3; 1.39 +}; 1.40 + 1.41 +struct nesting1 { 1.42 + nesting2 field2; 1.43 +}; 1.44 + 1.45 +uniform nesting1 uniform1; 1.46 +void main() 1.47 +{ 1.48 + gl_Position = uniform1.field2.field3.field4.field5.vector; 1.49 +} 1.50 +</script> 1.51 +<script> 1.52 +GLSLConformanceTester.runTest(); 1.53 +successfullyParsed = true; 1.54 +</script> 1.55 +</body> 1.56 +</html>