HLSL: Wrap the entry-point; need to write 'in' args, and support 'inout' args.

This needs some render testing, but is destined to be part of master.

This also leads to a variety of other simplifications.
 - IO are global symbols, so only need one list of linkage nodes (deferred)
 - no longer need parse-context-wide 'inEntryPoint' state, entry-point is localized
 - several parts of splitting/flattening are now localized
This commit is contained in:
John Kessenich
2017-01-19 15:41:47 -07:00
parent 18adbdbbb8
commit 02467d8d94
171 changed files with 37604 additions and 32679 deletions

View File

@@ -2,7 +2,7 @@ hlsl.load.array.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Parameters:
0:? Sequence
0:52 textureFetch (temp 4-component vector of float)
@@ -142,24 +142,28 @@ gl_FragCoord origin is upper left
0:68 1 (const int)
0:68 Constant:
0:68 1.000000
0:70 Sequence
0:70 Sequence
0:70 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:70 Color: direct index for structure (temp 4-component vector of float)
0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70 Constant:
0:70 0 (const int)
0:70 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:70 Depth: direct index for structure (temp float)
0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70 Constant:
0:70 1 (const int)
0:70 Branch: Return
0:70 Branch: Return with expression
0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Definition: main( (temp void)
0:48 Function Parameters:
0:? Sequence
0:48 Sequence
0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:48 Color: direct index for structure (temp 4-component vector of float)
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Constant:
0:48 0 (const int)
0:48 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:48 Depth: direct index for structure (temp float)
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Constant:
0:48 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -182,6 +186,8 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -191,7 +197,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Parameters:
0:? Sequence
0:52 textureFetch (temp 4-component vector of float)
@@ -331,24 +337,28 @@ gl_FragCoord origin is upper left
0:68 1 (const int)
0:68 Constant:
0:68 1.000000
0:70 Sequence
0:70 Sequence
0:70 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:70 Color: direct index for structure (temp 4-component vector of float)
0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70 Constant:
0:70 0 (const int)
0:70 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:70 Depth: direct index for structure (temp float)
0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70 Constant:
0:70 1 (const int)
0:70 Branch: Return
0:70 Branch: Return with expression
0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Definition: main( (temp void)
0:48 Function Parameters:
0:? Sequence
0:48 Sequence
0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:48 Color: direct index for structure (temp 4-component vector of float)
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Constant:
0:48 0 (const int)
0:48 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:48 Depth: direct index for structure (temp float)
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Constant:
0:48 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@@ -371,246 +381,259 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 152
// Id's are bound by 159
Capability Shader
Capability Sampled1D
Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 96 100
EntryPoint Fragment 4 "main" 104 108
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 9 "g_tTex1df4a"
Name 15 "$Global"
MemberName 15($Global) 0 "c1"
MemberName 15($Global) 1 "c2"
MemberName 15($Global) 2 "c3"
MemberName 15($Global) 3 "c4"
MemberName 15($Global) 4 "o1"
MemberName 15($Global) 5 "o2"
MemberName 15($Global) 6 "o3"
MemberName 15($Global) 7 "o4"
Name 17 ""
Name 32 "g_tTex1di4a"
Name 42 "g_tTex1du4a"
Name 53 "g_tTex2df4a"
Name 66 "g_tTex2di4a"
Name 76 "g_tTex2du4a"
Name 84 "PS_OUTPUT"
MemberName 84(PS_OUTPUT) 0 "Color"
MemberName 84(PS_OUTPUT) 1 "Depth"
Name 86 "psout"
Name 96 "Color"
Name 100 "Depth"
Name 106 "g_sSamp"
Name 109 "g_tTex1df4"
Name 112 "g_tTex1di4"
Name 115 "g_tTex1du4"
Name 118 "g_tTex2df4"
Name 121 "g_tTex2di4"
Name 124 "g_tTex2du4"
Name 127 "g_tTex3df4"
Name 130 "g_tTex3di4"
Name 133 "g_tTex3du4"
Name 136 "g_tTexcdf4"
Name 139 "g_tTexcdi4"
Name 142 "g_tTexcdu4"
Name 145 "g_tTexcdf4a"
Name 148 "g_tTexcdi4a"
Name 151 "g_tTexcdu4a"
Decorate 9(g_tTex1df4a) DescriptorSet 0
MemberDecorate 15($Global) 0 Offset 0
MemberDecorate 15($Global) 1 Offset 8
MemberDecorate 15($Global) 2 Offset 16
MemberDecorate 15($Global) 3 Offset 32
MemberDecorate 15($Global) 4 Offset 48
MemberDecorate 15($Global) 5 Offset 56
MemberDecorate 15($Global) 6 Offset 64
MemberDecorate 15($Global) 7 Offset 80
Decorate 15($Global) Block
Decorate 17 DescriptorSet 0
Decorate 32(g_tTex1di4a) DescriptorSet 0
Decorate 42(g_tTex1du4a) DescriptorSet 0
Decorate 53(g_tTex2df4a) DescriptorSet 0
Decorate 66(g_tTex2di4a) DescriptorSet 0
Decorate 76(g_tTex2du4a) DescriptorSet 0
Decorate 96(Color) Location 0
Decorate 100(Depth) BuiltIn FragDepth
Decorate 106(g_sSamp) DescriptorSet 0
Decorate 106(g_sSamp) Binding 0
Decorate 109(g_tTex1df4) DescriptorSet 0
Decorate 109(g_tTex1df4) Binding 0
Decorate 112(g_tTex1di4) DescriptorSet 0
Decorate 115(g_tTex1du4) DescriptorSet 0
Decorate 118(g_tTex2df4) DescriptorSet 0
Decorate 121(g_tTex2di4) DescriptorSet 0
Decorate 124(g_tTex2du4) DescriptorSet 0
Decorate 127(g_tTex3df4) DescriptorSet 0
Decorate 130(g_tTex3di4) DescriptorSet 0
Decorate 133(g_tTex3du4) DescriptorSet 0
Decorate 136(g_tTexcdf4) DescriptorSet 0
Decorate 139(g_tTexcdi4) DescriptorSet 0
Decorate 142(g_tTexcdu4) DescriptorSet 0
Decorate 145(g_tTexcdf4a) DescriptorSet 0
Decorate 148(g_tTexcdi4a) DescriptorSet 0
Decorate 151(g_tTexcdu4a) DescriptorSet 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 8(PS_OUTPUT) 1 "Depth"
Name 10 "@main("
Name 14 "g_tTex1df4a"
Name 20 "$Global"
MemberName 20($Global) 0 "c1"
MemberName 20($Global) 1 "c2"
MemberName 20($Global) 2 "c3"
MemberName 20($Global) 3 "c4"
MemberName 20($Global) 4 "o1"
MemberName 20($Global) 5 "o2"
MemberName 20($Global) 6 "o3"
MemberName 20($Global) 7 "o4"
Name 22 ""
Name 36 "g_tTex1di4a"
Name 46 "g_tTex1du4a"
Name 57 "g_tTex2df4a"
Name 70 "g_tTex2di4a"
Name 80 "g_tTex2du4a"
Name 89 "psout"
Name 101 "flattenTemp"
Name 104 "Color"
Name 108 "Depth"
Name 113 "g_sSamp"
Name 116 "g_tTex1df4"
Name 119 "g_tTex1di4"
Name 122 "g_tTex1du4"
Name 125 "g_tTex2df4"
Name 128 "g_tTex2di4"
Name 131 "g_tTex2du4"
Name 134 "g_tTex3df4"
Name 137 "g_tTex3di4"
Name 140 "g_tTex3du4"
Name 143 "g_tTexcdf4"
Name 146 "g_tTexcdi4"
Name 149 "g_tTexcdu4"
Name 152 "g_tTexcdf4a"
Name 155 "g_tTexcdi4a"
Name 158 "g_tTexcdu4a"
Decorate 14(g_tTex1df4a) DescriptorSet 0
MemberDecorate 20($Global) 0 Offset 0
MemberDecorate 20($Global) 1 Offset 8
MemberDecorate 20($Global) 2 Offset 16
MemberDecorate 20($Global) 3 Offset 32
MemberDecorate 20($Global) 4 Offset 48
MemberDecorate 20($Global) 5 Offset 56
MemberDecorate 20($Global) 6 Offset 64
MemberDecorate 20($Global) 7 Offset 80
Decorate 20($Global) Block
Decorate 22 DescriptorSet 0
Decorate 36(g_tTex1di4a) DescriptorSet 0
Decorate 46(g_tTex1du4a) DescriptorSet 0
Decorate 57(g_tTex2df4a) DescriptorSet 0
Decorate 70(g_tTex2di4a) DescriptorSet 0
Decorate 80(g_tTex2du4a) DescriptorSet 0
Decorate 104(Color) Location 0
Decorate 108(Depth) BuiltIn FragDepth
Decorate 113(g_sSamp) DescriptorSet 0
Decorate 113(g_sSamp) Binding 0
Decorate 116(g_tTex1df4) DescriptorSet 0
Decorate 116(g_tTex1df4) Binding 0
Decorate 119(g_tTex1di4) DescriptorSet 0
Decorate 122(g_tTex1du4) DescriptorSet 0
Decorate 125(g_tTex2df4) DescriptorSet 0
Decorate 128(g_tTex2di4) DescriptorSet 0
Decorate 131(g_tTex2du4) DescriptorSet 0
Decorate 134(g_tTex3df4) DescriptorSet 0
Decorate 137(g_tTex3di4) DescriptorSet 0
Decorate 140(g_tTex3du4) DescriptorSet 0
Decorate 143(g_tTexcdf4) DescriptorSet 0
Decorate 146(g_tTexcdi4) DescriptorSet 0
Decorate 149(g_tTexcdu4) DescriptorSet 0
Decorate 152(g_tTexcdf4a) DescriptorSet 0
Decorate 155(g_tTexcdi4a) DescriptorSet 0
Decorate 158(g_tTexcdu4a) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeImage 6(float) 1D array sampled format:Unknown
8: TypePointer UniformConstant 7
9(g_tTex1df4a): 8(ptr) Variable UniformConstant
11: TypeInt 32 1
12: TypeVector 11(int) 2
13: TypeVector 11(int) 3
14: TypeVector 11(int) 4
15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4)
16: TypePointer Uniform 15($Global)
17: 16(ptr) Variable Uniform
18: 11(int) Constant 2
19: TypePointer Uniform 13(ivec3)
23: TypeInt 32 0
24: 23(int) Constant 2
25: TypePointer Uniform 11(int)
28: TypeVector 6(float) 4
30: TypeImage 11(int) 1D array sampled format:Unknown
31: TypePointer UniformConstant 30
32(g_tTex1di4a): 31(ptr) Variable UniformConstant
40: TypeImage 23(int) 1D array sampled format:Unknown
41: TypePointer UniformConstant 40
42(g_tTex1du4a): 41(ptr) Variable UniformConstant
49: TypeVector 23(int) 4
51: TypeImage 6(float) 2D array sampled format:Unknown
52: TypePointer UniformConstant 51
53(g_tTex2df4a): 52(ptr) Variable UniformConstant
55: 11(int) Constant 3
56: TypePointer Uniform 14(ivec4)
60: 23(int) Constant 3
64: TypeImage 11(int) 2D array sampled format:Unknown
65: TypePointer UniformConstant 64
66(g_tTex2di4a): 65(ptr) Variable UniformConstant
74: TypeImage 23(int) 2D array sampled format:Unknown
75: TypePointer UniformConstant 74
76(g_tTex2du4a): 75(ptr) Variable UniformConstant
84(PS_OUTPUT): TypeStruct 28(fvec4) 6(float)
85: TypePointer Function 84(PS_OUTPUT)
87: 11(int) Constant 0
88: 6(float) Constant 1065353216
89: 28(fvec4) ConstantComposite 88 88 88 88
90: TypePointer Function 28(fvec4)
92: 11(int) Constant 1
93: TypePointer Function 6(float)
95: TypePointer Output 28(fvec4)
96(Color): 95(ptr) Variable Output
99: TypePointer Output 6(float)
100(Depth): 99(ptr) Variable Output
104: TypeSampler
105: TypePointer UniformConstant 104
106(g_sSamp): 105(ptr) Variable UniformConstant
107: TypeImage 6(float) 1D sampled format:Unknown
108: TypePointer UniformConstant 107
109(g_tTex1df4): 108(ptr) Variable UniformConstant
110: TypeImage 11(int) 1D sampled format:Unknown
111: TypePointer UniformConstant 110
112(g_tTex1di4): 111(ptr) Variable UniformConstant
113: TypeImage 23(int) 1D sampled format:Unknown
114: TypePointer UniformConstant 113
115(g_tTex1du4): 114(ptr) Variable UniformConstant
116: TypeImage 6(float) 2D sampled format:Unknown
117: TypePointer UniformConstant 116
118(g_tTex2df4): 117(ptr) Variable UniformConstant
119: TypeImage 11(int) 2D sampled format:Unknown
120: TypePointer UniformConstant 119
121(g_tTex2di4): 120(ptr) Variable UniformConstant
122: TypeImage 23(int) 2D sampled format:Unknown
123: TypePointer UniformConstant 122
124(g_tTex2du4): 123(ptr) Variable UniformConstant
125: TypeImage 6(float) 3D sampled format:Unknown
126: TypePointer UniformConstant 125
127(g_tTex3df4): 126(ptr) Variable UniformConstant
128: TypeImage 11(int) 3D sampled format:Unknown
129: TypePointer UniformConstant 128
130(g_tTex3di4): 129(ptr) Variable UniformConstant
131: TypeImage 23(int) 3D sampled format:Unknown
132: TypePointer UniformConstant 131
133(g_tTex3du4): 132(ptr) Variable UniformConstant
134: TypeImage 6(float) Cube sampled format:Unknown
135: TypePointer UniformConstant 134
136(g_tTexcdf4): 135(ptr) Variable UniformConstant
137: TypeImage 11(int) Cube sampled format:Unknown
138: TypePointer UniformConstant 137
139(g_tTexcdi4): 138(ptr) Variable UniformConstant
140: TypeImage 23(int) Cube sampled format:Unknown
141: TypePointer UniformConstant 140
142(g_tTexcdu4): 141(ptr) Variable UniformConstant
143: TypeImage 6(float) Cube array sampled format:Unknown
144: TypePointer UniformConstant 143
145(g_tTexcdf4a): 144(ptr) Variable UniformConstant
146: TypeImage 11(int) Cube array sampled format:Unknown
147: TypePointer UniformConstant 146
148(g_tTexcdi4a): 147(ptr) Variable UniformConstant
149: TypeImage 23(int) Cube array sampled format:Unknown
150: TypePointer UniformConstant 149
151(g_tTexcdu4a): 150(ptr) Variable UniformConstant
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9: TypeFunction 8(PS_OUTPUT)
12: TypeImage 6(float) 1D array sampled format:Unknown
13: TypePointer UniformConstant 12
14(g_tTex1df4a): 13(ptr) Variable UniformConstant
16: TypeInt 32 1
17: TypeVector 16(int) 2
18: TypeVector 16(int) 3
19: TypeVector 16(int) 4
20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4)
21: TypePointer Uniform 20($Global)
22: 21(ptr) Variable Uniform
23: 16(int) Constant 2
24: TypePointer Uniform 18(ivec3)
28: TypeInt 32 0
29: 28(int) Constant 2
30: TypePointer Uniform 16(int)
34: TypeImage 16(int) 1D array sampled format:Unknown
35: TypePointer UniformConstant 34
36(g_tTex1di4a): 35(ptr) Variable UniformConstant
44: TypeImage 28(int) 1D array sampled format:Unknown
45: TypePointer UniformConstant 44
46(g_tTex1du4a): 45(ptr) Variable UniformConstant
53: TypeVector 28(int) 4
55: TypeImage 6(float) 2D array sampled format:Unknown
56: TypePointer UniformConstant 55
57(g_tTex2df4a): 56(ptr) Variable UniformConstant
59: 16(int) Constant 3
60: TypePointer Uniform 19(ivec4)
64: 28(int) Constant 3
68: TypeImage 16(int) 2D array sampled format:Unknown
69: TypePointer UniformConstant 68
70(g_tTex2di4a): 69(ptr) Variable UniformConstant
78: TypeImage 28(int) 2D array sampled format:Unknown
79: TypePointer UniformConstant 78
80(g_tTex2du4a): 79(ptr) Variable UniformConstant
88: TypePointer Function 8(PS_OUTPUT)
90: 16(int) Constant 0
91: 6(float) Constant 1065353216
92: 7(fvec4) ConstantComposite 91 91 91 91
93: TypePointer Function 7(fvec4)
95: 16(int) Constant 1
96: TypePointer Function 6(float)
103: TypePointer Output 7(fvec4)
104(Color): 103(ptr) Variable Output
107: TypePointer Output 6(float)
108(Depth): 107(ptr) Variable Output
111: TypeSampler
112: TypePointer UniformConstant 111
113(g_sSamp): 112(ptr) Variable UniformConstant
114: TypeImage 6(float) 1D sampled format:Unknown
115: TypePointer UniformConstant 114
116(g_tTex1df4): 115(ptr) Variable UniformConstant
117: TypeImage 16(int) 1D sampled format:Unknown
118: TypePointer UniformConstant 117
119(g_tTex1di4): 118(ptr) Variable UniformConstant
120: TypeImage 28(int) 1D sampled format:Unknown
121: TypePointer UniformConstant 120
122(g_tTex1du4): 121(ptr) Variable UniformConstant
123: TypeImage 6(float) 2D sampled format:Unknown
124: TypePointer UniformConstant 123
125(g_tTex2df4): 124(ptr) Variable UniformConstant
126: TypeImage 16(int) 2D sampled format:Unknown
127: TypePointer UniformConstant 126
128(g_tTex2di4): 127(ptr) Variable UniformConstant
129: TypeImage 28(int) 2D sampled format:Unknown
130: TypePointer UniformConstant 129
131(g_tTex2du4): 130(ptr) Variable UniformConstant
132: TypeImage 6(float) 3D sampled format:Unknown
133: TypePointer UniformConstant 132
134(g_tTex3df4): 133(ptr) Variable UniformConstant
135: TypeImage 16(int) 3D sampled format:Unknown
136: TypePointer UniformConstant 135
137(g_tTex3di4): 136(ptr) Variable UniformConstant
138: TypeImage 28(int) 3D sampled format:Unknown
139: TypePointer UniformConstant 138
140(g_tTex3du4): 139(ptr) Variable UniformConstant
141: TypeImage 6(float) Cube sampled format:Unknown
142: TypePointer UniformConstant 141
143(g_tTexcdf4): 142(ptr) Variable UniformConstant
144: TypeImage 16(int) Cube sampled format:Unknown
145: TypePointer UniformConstant 144
146(g_tTexcdi4): 145(ptr) Variable UniformConstant
147: TypeImage 28(int) Cube sampled format:Unknown
148: TypePointer UniformConstant 147
149(g_tTexcdu4): 148(ptr) Variable UniformConstant
150: TypeImage 6(float) Cube array sampled format:Unknown
151: TypePointer UniformConstant 150
152(g_tTexcdf4a): 151(ptr) Variable UniformConstant
153: TypeImage 16(int) Cube array sampled format:Unknown
154: TypePointer UniformConstant 153
155(g_tTexcdi4a): 154(ptr) Variable UniformConstant
156: TypeImage 28(int) Cube array sampled format:Unknown
157: TypePointer UniformConstant 156
158(g_tTexcdu4a): 157(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
86(psout): 85(ptr) Variable Function
10: 7 Load 9(g_tTex1df4a)
20: 19(ptr) AccessChain 17 18
21: 13(ivec3) Load 20
22: 12(ivec2) VectorShuffle 21 21 0 1
26: 25(ptr) AccessChain 17 18 24
27: 11(int) Load 26
29: 28(fvec4) ImageFetch 10 22 Lod 27
33: 30 Load 32(g_tTex1di4a)
34: 19(ptr) AccessChain 17 18
35: 13(ivec3) Load 34
36: 12(ivec2) VectorShuffle 35 35 0 1
37: 25(ptr) AccessChain 17 18 24
38: 11(int) Load 37
39: 14(ivec4) ImageFetch 33 36 Lod 38
43: 40 Load 42(g_tTex1du4a)
44: 19(ptr) AccessChain 17 18
45: 13(ivec3) Load 44
46: 12(ivec2) VectorShuffle 45 45 0 1
47: 25(ptr) AccessChain 17 18 24
48: 11(int) Load 47
50: 49(ivec4) ImageFetch 43 46 Lod 48
54: 51 Load 53(g_tTex2df4a)
57: 56(ptr) AccessChain 17 55
58: 14(ivec4) Load 57
59: 13(ivec3) VectorShuffle 58 58 0 1 2
61: 25(ptr) AccessChain 17 55 60
62: 11(int) Load 61
63: 28(fvec4) ImageFetch 54 59 Lod 62
67: 64 Load 66(g_tTex2di4a)
68: 56(ptr) AccessChain 17 55
69: 14(ivec4) Load 68
70: 13(ivec3) VectorShuffle 69 69 0 1 2
71: 25(ptr) AccessChain 17 55 60
72: 11(int) Load 71
73: 14(ivec4) ImageFetch 67 70 Lod 72
77: 74 Load 76(g_tTex2du4a)
78: 56(ptr) AccessChain 17 55
79: 14(ivec4) Load 78
80: 13(ivec3) VectorShuffle 79 79 0 1 2
81: 25(ptr) AccessChain 17 55 60
82: 11(int) Load 81
83: 49(ivec4) ImageFetch 77 80 Lod 82
91: 90(ptr) AccessChain 86(psout) 87
Store 91 89
94: 93(ptr) AccessChain 86(psout) 92
Store 94 88
97: 90(ptr) AccessChain 86(psout) 87
98: 28(fvec4) Load 97
Store 96(Color) 98
101: 93(ptr) AccessChain 86(psout) 92
102: 6(float) Load 101
Store 100(Depth) 102
101(flattenTemp): 88(ptr) Variable Function
102:8(PS_OUTPUT) FunctionCall 10(@main()
Store 101(flattenTemp) 102
105: 93(ptr) AccessChain 101(flattenTemp) 90
106: 7(fvec4) Load 105
Store 104(Color) 106
109: 96(ptr) AccessChain 101(flattenTemp) 95
110: 6(float) Load 109
Store 108(Depth) 110
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
89(psout): 88(ptr) Variable Function
15: 12 Load 14(g_tTex1df4a)
25: 24(ptr) AccessChain 22 23
26: 18(ivec3) Load 25
27: 17(ivec2) VectorShuffle 26 26 0 1
31: 30(ptr) AccessChain 22 23 29
32: 16(int) Load 31
33: 7(fvec4) ImageFetch 15 27 Lod 32
37: 34 Load 36(g_tTex1di4a)
38: 24(ptr) AccessChain 22 23
39: 18(ivec3) Load 38
40: 17(ivec2) VectorShuffle 39 39 0 1
41: 30(ptr) AccessChain 22 23 29
42: 16(int) Load 41
43: 19(ivec4) ImageFetch 37 40 Lod 42
47: 44 Load 46(g_tTex1du4a)
48: 24(ptr) AccessChain 22 23
49: 18(ivec3) Load 48
50: 17(ivec2) VectorShuffle 49 49 0 1
51: 30(ptr) AccessChain 22 23 29
52: 16(int) Load 51
54: 53(ivec4) ImageFetch 47 50 Lod 52
58: 55 Load 57(g_tTex2df4a)
61: 60(ptr) AccessChain 22 59
62: 19(ivec4) Load 61
63: 18(ivec3) VectorShuffle 62 62 0 1 2
65: 30(ptr) AccessChain 22 59 64
66: 16(int) Load 65
67: 7(fvec4) ImageFetch 58 63 Lod 66
71: 68 Load 70(g_tTex2di4a)
72: 60(ptr) AccessChain 22 59
73: 19(ivec4) Load 72
74: 18(ivec3) VectorShuffle 73 73 0 1 2
75: 30(ptr) AccessChain 22 59 64
76: 16(int) Load 75
77: 19(ivec4) ImageFetch 71 74 Lod 76
81: 78 Load 80(g_tTex2du4a)
82: 60(ptr) AccessChain 22 59
83: 19(ivec4) Load 82
84: 18(ivec3) VectorShuffle 83 83 0 1 2
85: 30(ptr) AccessChain 22 59 64
86: 16(int) Load 85
87: 53(ivec4) ImageFetch 81 84 Lod 86
94: 93(ptr) AccessChain 89(psout) 90
Store 94 92
97: 96(ptr) AccessChain 89(psout) 95
Store 97 91
98:8(PS_OUTPUT) Load 89(psout)
ReturnValue 98
FunctionEnd