blob: 06207c74f89f9deb15a36bd9e0371e4175bf88c6 [file] [log] [blame]
John Kessenich2572b192016-09-19 23:12:48 -06001
2cbuffer nameless {
3 float3 anonMember1;
4 float3x2 m23;
5 int scalarAfterm23;
6 float4 anonDeadMember2;
7 float4 anonMember3;
8 int scalarBeforeArray;
9 float floatArray[5];
10 int scalarAfterArray;
11 float2x2 m22[9];
12};
13
14cbuffer c_nameless {
15 float3 c_anonMember1;
16 float3x2 c_m23;
17 int c_scalarAfterm23;
18 float4 c_anonDeadMember2;
19 float4 c_anonMember3;
20};
21
John Kessenich2572b192016-09-19 23:12:48 -060022cbuffer namelessdead {
23 int a;
24};
25
John Kessenich2572b192016-09-19 23:12:48 -060026struct N1 {
27 float a;
28};
29
30struct N2 {
31 float b;
32 float c;
33 float d;
34};
35
36struct N3 {
37 N1 n1;
38 N2 n2;
39};
40
41cbuffer nested {
42 N3 foo;
John Kessenich2fcdd642017-06-19 15:41:11 -060043}
John Kessenich2572b192016-09-19 23:12:48 -060044
45struct TS {
46 int a;
47 int dead;
48};
49
50uniform TS s;
51
52uniform float uf1;
53uniform float uf2;
54uniform float ufDead3;
55uniform float ufDead4;
56
57uniform float2x2 dm22[10];
58
59struct deep1 {
60 float2 va[3];
61 bool b;
62};
63
64struct deep2 {
65 int i;
66 deep1 d1[4];
67};
68
69struct deep3 {
70 float4 iv4;
71 deep2 d2;
72 int3 v3;
73};
74
John Kessenich2572b192016-09-19 23:12:48 -060075uniform deep3 deepA[2], deepB[2], deepC[3], deepD[2];
76
77const bool control = true;
78
79void deadFunction()
80{
John Kessenich2572b192016-09-19 23:12:48 -060081 float4 v = anonDeadMember2;
82 float f = ufDead4;
83}
84
85void liveFunction2()
86{
87 float3 v = anonMember1;
88 float f = uf1;
89}
90
91tbuffer abl {
John Kessenich2fcdd642017-06-19 15:41:11 -060092 float foo1;
93}
John Kessenich2572b192016-09-19 23:12:48 -060094
95tbuffer abl2 {
John Kessenich2fcdd642017-06-19 15:41:11 -060096 float foo2;
97}
John Kessenich2572b192016-09-19 23:12:48 -060098
99void flizv(in float attributeFloat, in float2 attributeFloat2, in float3 attributeFloat3, in float4 attributeFloat4, in float4x4 attributeMat4)
100{
101 liveFunction2();
102
103 if (! control)
104 deadFunction();
105
106 float f;
107 int i;
108 if (control) {
109 liveFunction2();
110 f = anonMember3.z;
111 f = s.a;
John Kessenich2572b192016-09-19 23:12:48 -0600112 f = m23[1].y + scalarAfterm23;
113 f = c_m23[1].y + c_scalarAfterm23;
114 f += scalarBeforeArray;
115 f += floatArray[2];
116 f += floatArray[4];
117 f += scalarAfterArray;
John Kessenich2fcdd642017-06-19 15:41:11 -0600118 f += m22[i][1][0];
John Kessenich2572b192016-09-19 23:12:48 -0600119 f += dm22[3][0][1];
120 f += m22[2][1].y;
John Kessenich2fcdd642017-06-19 15:41:11 -0600121 f += foo.n1.a + foo.n2.b + foo.n2.c + foo.n2.d;
John Kessenich2572b192016-09-19 23:12:48 -0600122 f += deepA[i].d2.d1[2].va[1].x;
123 f += deepB[1].d2.d1[i].va[1].x;
124 f += deepB[i].d2.d1[i].va[1].x;
125 deep3 d = deepC[1];
126 deep3 da[2] = deepD;
127 } else
128 f = ufDead3;
129
John Kessenich2fcdd642017-06-19 15:41:11 -0600130 f += foo1 + foo2;
131 f += foo2;
John Kessenich2572b192016-09-19 23:12:48 -0600132
133 f += attributeFloat;
134 f += attributeFloat2.x;
135 f += attributeFloat3.x;
136 f += attributeFloat4.x;
137 f += attributeMat4[0][1];
138}