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

@@ -1,7 +1,7 @@
hlsl.samplelevel.basic.dx10.vert
Shader version: 450
0:? Sequence
0:27 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos})
0:27 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos})
0:27 Function Parameters:
0:? Sequence
0:30 Sequence
@@ -161,15 +161,18 @@ Shader version: 450
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:48 Sequence
0:48 Sequence
0:48 move second child to first child (temp 4-component vector of float)
0:? 'Pos' (out 4-component vector of float Position)
0:48 Pos: direct index for structure (temp 4-component vector of float)
0:48 'vsout' (temp structure{temp 4-component vector of float Pos})
0:48 Constant:
0:48 0 (const int)
0:48 Branch: Return
0:48 Branch: Return with expression
0:48 'vsout' (temp structure{temp 4-component vector of float Pos})
0:27 Function Definition: main( (temp void)
0:27 Function Parameters:
0:? Sequence
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput_Pos' (out 4-component vector of float Position)
0:27 Pos: direct index for structure (temp 4-component vector of float Position)
0:27 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos})
0:27 Constant:
0:27 0 (const int)
0:? Linker Objects
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
@@ -185,7 +188,7 @@ Shader version: 450
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos})
0:? 'PerVertex_out' (out block{out 4-component vector of float Position @entryPointOutput_Pos})
Linked vertex stage:
@@ -193,7 +196,7 @@ Linked vertex stage:
Shader version: 450
0:? Sequence
0:27 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos})
0:27 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos})
0:27 Function Parameters:
0:? Sequence
0:30 Sequence
@@ -353,15 +356,18 @@ Shader version: 450
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:48 Sequence
0:48 Sequence
0:48 move second child to first child (temp 4-component vector of float)
0:? 'Pos' (out 4-component vector of float Position)
0:48 Pos: direct index for structure (temp 4-component vector of float)
0:48 'vsout' (temp structure{temp 4-component vector of float Pos})
0:48 Constant:
0:48 0 (const int)
0:48 Branch: Return
0:48 Branch: Return with expression
0:48 'vsout' (temp structure{temp 4-component vector of float Pos})
0:27 Function Definition: main( (temp void)
0:27 Function Parameters:
0:? Sequence
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput_Pos' (out 4-component vector of float Position)
0:27 Pos: direct index for structure (temp 4-component vector of float Position)
0:27 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos})
0:27 Constant:
0:27 0 (const int)
0:? Linker Objects
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
@@ -377,241 +383,258 @@ Shader version: 450
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos})
0:? 'PerVertex_out' (out block{out 4-component vector of float Position @entryPointOutput_Pos})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 160
// Id's are bound by 171
Capability Shader
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 152 159
EntryPoint Vertex 4 "main" 164 170
Name 4 "main"
Name 9 "txval10"
Name 12 "g_tTex1df4"
Name 16 "g_sSamp"
Name 26 "txval11"
Name 29 "g_tTex1di4"
Name 39 "txval12"
Name 42 "g_tTex1du4"
Name 49 "txval20"
Name 52 "g_tTex2df4"
Name 60 "txval21"
Name 63 "g_tTex2di4"
Name 71 "txval22"
Name 74 "g_tTex2du4"
Name 83 "txval30"
Name 86 "g_tTex3df4"
Name 94 "txval31"
Name 97 "g_tTex3di4"
Name 104 "txval32"
Name 107 "g_tTex3du4"
Name 117 "txval40"
Name 120 "g_tTexcdf4"
Name 126 "txval41"
Name 129 "g_tTexcdi4"
Name 135 "txval42"
Name 138 "g_tTexcdu4"
Name 144 "VS_OUTPUT"
MemberName 144(VS_OUTPUT) 0 "Pos"
Name 146 "vsout"
Name 152 "Pos"
Name 156 "g_tTex1df4a"
Name 157 "PerVertex_out"
MemberName 157(PerVertex_out) 0 "Pos"
Name 159 "PerVertex_out"
Decorate 12(g_tTex1df4) DescriptorSet 0
Decorate 12(g_tTex1df4) Binding 0
Decorate 16(g_sSamp) DescriptorSet 0
Decorate 16(g_sSamp) Binding 0
Decorate 29(g_tTex1di4) DescriptorSet 0
Decorate 42(g_tTex1du4) DescriptorSet 0
Decorate 52(g_tTex2df4) DescriptorSet 0
Decorate 63(g_tTex2di4) DescriptorSet 0
Decorate 74(g_tTex2du4) DescriptorSet 0
Decorate 86(g_tTex3df4) DescriptorSet 0
Decorate 97(g_tTex3di4) DescriptorSet 0
Decorate 107(g_tTex3du4) DescriptorSet 0
Decorate 120(g_tTexcdf4) DescriptorSet 0
Decorate 129(g_tTexcdi4) DescriptorSet 0
Decorate 138(g_tTexcdu4) DescriptorSet 0
Decorate 152(Pos) BuiltIn Position
Decorate 156(g_tTex1df4a) DescriptorSet 0
Decorate 156(g_tTex1df4a) Binding 1
MemberDecorate 157(PerVertex_out) 0 BuiltIn Position
Decorate 157(PerVertex_out) Block
Name 8 "VS_OUTPUT"
MemberName 8(VS_OUTPUT) 0 "Pos"
Name 10 "@main("
Name 13 "txval10"
Name 16 "g_tTex1df4"
Name 20 "g_sSamp"
Name 30 "txval11"
Name 33 "g_tTex1di4"
Name 43 "txval12"
Name 46 "g_tTex1du4"
Name 53 "txval20"
Name 56 "g_tTex2df4"
Name 64 "txval21"
Name 67 "g_tTex2di4"
Name 75 "txval22"
Name 78 "g_tTex2du4"
Name 87 "txval30"
Name 90 "g_tTex3df4"
Name 98 "txval31"
Name 101 "g_tTex3di4"
Name 108 "txval32"
Name 111 "g_tTex3du4"
Name 121 "txval40"
Name 124 "g_tTexcdf4"
Name 130 "txval41"
Name 133 "g_tTexcdi4"
Name 139 "txval42"
Name 142 "g_tTexcdu4"
Name 148 "VS_OUTPUT"
MemberName 148(VS_OUTPUT) 0 "Pos"
Name 150 "vsout"
Name 164 "@entryPointOutput_Pos"
Name 167 "g_tTex1df4a"
Name 168 "PerVertex_out"
MemberName 168(PerVertex_out) 0 "@entryPointOutput_Pos"
Name 170 "PerVertex_out"
MemberDecorate 8(VS_OUTPUT) 0 BuiltIn Position
Decorate 16(g_tTex1df4) DescriptorSet 0
Decorate 16(g_tTex1df4) Binding 0
Decorate 20(g_sSamp) DescriptorSet 0
Decorate 20(g_sSamp) Binding 0
Decorate 33(g_tTex1di4) DescriptorSet 0
Decorate 46(g_tTex1du4) DescriptorSet 0
Decorate 56(g_tTex2df4) DescriptorSet 0
Decorate 67(g_tTex2di4) DescriptorSet 0
Decorate 78(g_tTex2du4) DescriptorSet 0
Decorate 90(g_tTex3df4) DescriptorSet 0
Decorate 101(g_tTex3di4) DescriptorSet 0
Decorate 111(g_tTex3du4) DescriptorSet 0
Decorate 124(g_tTexcdf4) DescriptorSet 0
Decorate 133(g_tTexcdi4) DescriptorSet 0
Decorate 142(g_tTexcdu4) DescriptorSet 0
Decorate 164(@entryPointOutput_Pos) BuiltIn Position
Decorate 167(g_tTex1df4a) DescriptorSet 0
Decorate 167(g_tTex1df4a) Binding 1
MemberDecorate 168(PerVertex_out) 0 BuiltIn Position
Decorate 168(PerVertex_out) Block
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
10: TypeImage 6(float) 1D sampled format:Unknown
11: TypePointer UniformConstant 10
12(g_tTex1df4): 11(ptr) Variable UniformConstant
14: TypeSampler
8(VS_OUTPUT): TypeStruct 7(fvec4)
9: TypeFunction 8(VS_OUTPUT)
12: TypePointer Function 7(fvec4)
14: TypeImage 6(float) 1D sampled format:Unknown
15: TypePointer UniformConstant 14
16(g_sSamp): 15(ptr) Variable UniformConstant
18: TypeSampledImage 10
20: 6(float) Constant 1036831949
21: 6(float) Constant 1061158912
23: TypeInt 32 1
24: TypeVector 23(int) 4
25: TypePointer Function 24(ivec4)
27: TypeImage 23(int) 1D sampled format:Unknown
28: TypePointer UniformConstant 27
29(g_tTex1di4): 28(ptr) Variable UniformConstant
32: TypeSampledImage 27
34: 6(float) Constant 1045220557
36: TypeInt 32 0
37: TypeVector 36(int) 4
38: TypePointer Function 37(ivec4)
40: TypeImage 36(int) 1D sampled format:Unknown
41: TypePointer UniformConstant 40
42(g_tTex1du4): 41(ptr) Variable UniformConstant
45: TypeSampledImage 40
47: 6(float) Constant 1050253722
50: TypeImage 6(float) 2D sampled format:Unknown
51: TypePointer UniformConstant 50
52(g_tTex2df4): 51(ptr) Variable UniformConstant
55: TypeSampledImage 50
57: TypeVector 6(float) 2
58: 57(fvec2) ConstantComposite 20 34
61: TypeImage 23(int) 2D sampled format:Unknown
62: TypePointer UniformConstant 61
63(g_tTex2di4): 62(ptr) Variable UniformConstant
66: TypeSampledImage 61
68: 6(float) Constant 1053609165
69: 57(fvec2) ConstantComposite 47 68
72: TypeImage 36(int) 2D sampled format:Unknown
73: TypePointer UniformConstant 72
74(g_tTex2du4): 73(ptr) Variable UniformConstant
77: TypeSampledImage 72
79: 6(float) Constant 1056964608
80: 6(float) Constant 1058642330
81: 57(fvec2) ConstantComposite 79 80
84: TypeImage 6(float) 3D sampled format:Unknown
85: TypePointer UniformConstant 84
86(g_tTex3df4): 85(ptr) Variable UniformConstant
89: TypeSampledImage 84
91: TypeVector 6(float) 3
92: 91(fvec3) ConstantComposite 20 34 47
95: TypeImage 23(int) 3D sampled format:Unknown
96: TypePointer UniformConstant 95
97(g_tTex3di4): 96(ptr) Variable UniformConstant
100: TypeSampledImage 95
102: 91(fvec3) ConstantComposite 68 79 80
105: TypeImage 36(int) 3D sampled format:Unknown
106: TypePointer UniformConstant 105
107(g_tTex3du4): 106(ptr) Variable UniformConstant
110: TypeSampledImage 105
112: 6(float) Constant 1060320051
113: 6(float) Constant 1061997773
114: 6(float) Constant 1063675494
115: 91(fvec3) ConstantComposite 112 113 114
118: TypeImage 6(float) Cube sampled format:Unknown
119: TypePointer UniformConstant 118
120(g_tTexcdf4): 119(ptr) Variable UniformConstant
123: TypeSampledImage 118
127: TypeImage 23(int) Cube sampled format:Unknown
128: TypePointer UniformConstant 127
129(g_tTexcdi4): 128(ptr) Variable UniformConstant
132: TypeSampledImage 127
136: TypeImage 36(int) Cube sampled format:Unknown
137: TypePointer UniformConstant 136
138(g_tTexcdu4): 137(ptr) Variable UniformConstant
141: TypeSampledImage 136
144(VS_OUTPUT): TypeStruct 7(fvec4)
145: TypePointer Function 144(VS_OUTPUT)
147: 23(int) Constant 0
148: 6(float) Constant 0
149: 7(fvec4) ConstantComposite 148 148 148 148
151: TypePointer Output 7(fvec4)
152(Pos): 151(ptr) Variable Output
156(g_tTex1df4a): 11(ptr) Variable UniformConstant
157(PerVertex_out): TypeStruct 7(fvec4)
158: TypePointer Output 157(PerVertex_out)
159(PerVertex_out): 158(ptr) Variable Output
16(g_tTex1df4): 15(ptr) Variable UniformConstant
18: TypeSampler
19: TypePointer UniformConstant 18
20(g_sSamp): 19(ptr) Variable UniformConstant
22: TypeSampledImage 14
24: 6(float) Constant 1036831949
25: 6(float) Constant 1061158912
27: TypeInt 32 1
28: TypeVector 27(int) 4
29: TypePointer Function 28(ivec4)
31: TypeImage 27(int) 1D sampled format:Unknown
32: TypePointer UniformConstant 31
33(g_tTex1di4): 32(ptr) Variable UniformConstant
36: TypeSampledImage 31
38: 6(float) Constant 1045220557
40: TypeInt 32 0
41: TypeVector 40(int) 4
42: TypePointer Function 41(ivec4)
44: TypeImage 40(int) 1D sampled format:Unknown
45: TypePointer UniformConstant 44
46(g_tTex1du4): 45(ptr) Variable UniformConstant
49: TypeSampledImage 44
51: 6(float) Constant 1050253722
54: TypeImage 6(float) 2D sampled format:Unknown
55: TypePointer UniformConstant 54
56(g_tTex2df4): 55(ptr) Variable UniformConstant
59: TypeSampledImage 54
61: TypeVector 6(float) 2
62: 61(fvec2) ConstantComposite 24 38
65: TypeImage 27(int) 2D sampled format:Unknown
66: TypePointer UniformConstant 65
67(g_tTex2di4): 66(ptr) Variable UniformConstant
70: TypeSampledImage 65
72: 6(float) Constant 1053609165
73: 61(fvec2) ConstantComposite 51 72
76: TypeImage 40(int) 2D sampled format:Unknown
77: TypePointer UniformConstant 76
78(g_tTex2du4): 77(ptr) Variable UniformConstant
81: TypeSampledImage 76
83: 6(float) Constant 1056964608
84: 6(float) Constant 1058642330
85: 61(fvec2) ConstantComposite 83 84
88: TypeImage 6(float) 3D sampled format:Unknown
89: TypePointer UniformConstant 88
90(g_tTex3df4): 89(ptr) Variable UniformConstant
93: TypeSampledImage 88
95: TypeVector 6(float) 3
96: 95(fvec3) ConstantComposite 24 38 51
99: TypeImage 27(int) 3D sampled format:Unknown
100: TypePointer UniformConstant 99
101(g_tTex3di4): 100(ptr) Variable UniformConstant
104: TypeSampledImage 99
106: 95(fvec3) ConstantComposite 72 83 84
109: TypeImage 40(int) 3D sampled format:Unknown
110: TypePointer UniformConstant 109
111(g_tTex3du4): 110(ptr) Variable UniformConstant
114: TypeSampledImage 109
116: 6(float) Constant 1060320051
117: 6(float) Constant 1061997773
118: 6(float) Constant 1063675494
119: 95(fvec3) ConstantComposite 116 117 118
122: TypeImage 6(float) Cube sampled format:Unknown
123: TypePointer UniformConstant 122
124(g_tTexcdf4): 123(ptr) Variable UniformConstant
127: TypeSampledImage 122
131: TypeImage 27(int) Cube sampled format:Unknown
132: TypePointer UniformConstant 131
133(g_tTexcdi4): 132(ptr) Variable UniformConstant
136: TypeSampledImage 131
140: TypeImage 40(int) Cube sampled format:Unknown
141: TypePointer UniformConstant 140
142(g_tTexcdu4): 141(ptr) Variable UniformConstant
145: TypeSampledImage 140
148(VS_OUTPUT): TypeStruct 7(fvec4)
149: TypePointer Function 148(VS_OUTPUT)
151: 27(int) Constant 0
152: 6(float) Constant 0
153: 7(fvec4) ConstantComposite 152 152 152 152
156: TypePointer Function 8(VS_OUTPUT)
163: TypePointer Output 7(fvec4)
164(@entryPointOutput_Pos): 163(ptr) Variable Output
167(g_tTex1df4a): 15(ptr) Variable UniformConstant
168(PerVertex_out): TypeStruct 7(fvec4)
169: TypePointer Output 168(PerVertex_out)
170(PerVertex_out): 169(ptr) Variable Output
4(main): 2 Function None 3
5: Label
9(txval10): 8(ptr) Variable Function
26(txval11): 25(ptr) Variable Function
39(txval12): 38(ptr) Variable Function
49(txval20): 8(ptr) Variable Function
60(txval21): 25(ptr) Variable Function
71(txval22): 38(ptr) Variable Function
83(txval30): 8(ptr) Variable Function
94(txval31): 25(ptr) Variable Function
104(txval32): 38(ptr) Variable Function
117(txval40): 8(ptr) Variable Function
126(txval41): 25(ptr) Variable Function
135(txval42): 38(ptr) Variable Function
146(vsout): 145(ptr) Variable Function
13: 10 Load 12(g_tTex1df4)
17: 14 Load 16(g_sSamp)
19: 18 SampledImage 13 17
22: 7(fvec4) ImageSampleExplicitLod 19 20 Lod 21
Store 9(txval10) 22
30: 27 Load 29(g_tTex1di4)
31: 14 Load 16(g_sSamp)
33: 32 SampledImage 30 31
35: 24(ivec4) ImageSampleExplicitLod 33 34 Lod 21
Store 26(txval11) 35
43: 40 Load 42(g_tTex1du4)
44: 14 Load 16(g_sSamp)
46: 45 SampledImage 43 44
48: 37(ivec4) ImageSampleExplicitLod 46 47 Lod 21
Store 39(txval12) 48
53: 50 Load 52(g_tTex2df4)
54: 14 Load 16(g_sSamp)
56: 55 SampledImage 53 54
59: 7(fvec4) ImageSampleExplicitLod 56 58 Lod 21
Store 49(txval20) 59
64: 61 Load 63(g_tTex2di4)
65: 14 Load 16(g_sSamp)
67: 66 SampledImage 64 65
70: 24(ivec4) ImageSampleExplicitLod 67 69 Lod 21
Store 60(txval21) 70
75: 72 Load 74(g_tTex2du4)
76: 14 Load 16(g_sSamp)
78: 77 SampledImage 75 76
82: 37(ivec4) ImageSampleExplicitLod 78 81 Lod 21
Store 71(txval22) 82
87: 84 Load 86(g_tTex3df4)
88: 14 Load 16(g_sSamp)
90: 89 SampledImage 87 88
93: 7(fvec4) ImageSampleExplicitLod 90 92 Lod 21
Store 83(txval30) 93
98: 95 Load 97(g_tTex3di4)
99: 14 Load 16(g_sSamp)
101: 100 SampledImage 98 99
103: 24(ivec4) ImageSampleExplicitLod 101 102 Lod 21
Store 94(txval31) 103
108: 105 Load 107(g_tTex3du4)
109: 14 Load 16(g_sSamp)
111: 110 SampledImage 108 109
116: 37(ivec4) ImageSampleExplicitLod 111 115 Lod 21
Store 104(txval32) 116
121: 118 Load 120(g_tTexcdf4)
122: 14 Load 16(g_sSamp)
124: 123 SampledImage 121 122
125: 7(fvec4) ImageSampleExplicitLod 124 92 Lod 21
Store 117(txval40) 125
130: 127 Load 129(g_tTexcdi4)
131: 14 Load 16(g_sSamp)
133: 132 SampledImage 130 131
134: 24(ivec4) ImageSampleExplicitLod 133 102 Lod 21
Store 126(txval41) 134
139: 136 Load 138(g_tTexcdu4)
140: 14 Load 16(g_sSamp)
142: 141 SampledImage 139 140
143: 37(ivec4) ImageSampleExplicitLod 142 115 Lod 21
Store 135(txval42) 143
150: 8(ptr) AccessChain 146(vsout) 147
Store 150 149
153: 8(ptr) AccessChain 146(vsout) 147
154: 7(fvec4) Load 153
Store 152(Pos) 154
165:8(VS_OUTPUT) FunctionCall 10(@main()
166: 7(fvec4) CompositeExtract 165 0
Store 164(@entryPointOutput_Pos) 166
Return
FunctionEnd
10(@main():8(VS_OUTPUT) Function None 9
11: Label
13(txval10): 12(ptr) Variable Function
30(txval11): 29(ptr) Variable Function
43(txval12): 42(ptr) Variable Function
53(txval20): 12(ptr) Variable Function
64(txval21): 29(ptr) Variable Function
75(txval22): 42(ptr) Variable Function
87(txval30): 12(ptr) Variable Function
98(txval31): 29(ptr) Variable Function
108(txval32): 42(ptr) Variable Function
121(txval40): 12(ptr) Variable Function
130(txval41): 29(ptr) Variable Function
139(txval42): 42(ptr) Variable Function
150(vsout): 149(ptr) Variable Function
157: 156(ptr) Variable Function
17: 14 Load 16(g_tTex1df4)
21: 18 Load 20(g_sSamp)
23: 22 SampledImage 17 21
26: 7(fvec4) ImageSampleExplicitLod 23 24 Lod 25
Store 13(txval10) 26
34: 31 Load 33(g_tTex1di4)
35: 18 Load 20(g_sSamp)
37: 36 SampledImage 34 35
39: 28(ivec4) ImageSampleExplicitLod 37 38 Lod 25
Store 30(txval11) 39
47: 44 Load 46(g_tTex1du4)
48: 18 Load 20(g_sSamp)
50: 49 SampledImage 47 48
52: 41(ivec4) ImageSampleExplicitLod 50 51 Lod 25
Store 43(txval12) 52
57: 54 Load 56(g_tTex2df4)
58: 18 Load 20(g_sSamp)
60: 59 SampledImage 57 58
63: 7(fvec4) ImageSampleExplicitLod 60 62 Lod 25
Store 53(txval20) 63
68: 65 Load 67(g_tTex2di4)
69: 18 Load 20(g_sSamp)
71: 70 SampledImage 68 69
74: 28(ivec4) ImageSampleExplicitLod 71 73 Lod 25
Store 64(txval21) 74
79: 76 Load 78(g_tTex2du4)
80: 18 Load 20(g_sSamp)
82: 81 SampledImage 79 80
86: 41(ivec4) ImageSampleExplicitLod 82 85 Lod 25
Store 75(txval22) 86
91: 88 Load 90(g_tTex3df4)
92: 18 Load 20(g_sSamp)
94: 93 SampledImage 91 92
97: 7(fvec4) ImageSampleExplicitLod 94 96 Lod 25
Store 87(txval30) 97
102: 99 Load 101(g_tTex3di4)
103: 18 Load 20(g_sSamp)
105: 104 SampledImage 102 103
107: 28(ivec4) ImageSampleExplicitLod 105 106 Lod 25
Store 98(txval31) 107
112: 109 Load 111(g_tTex3du4)
113: 18 Load 20(g_sSamp)
115: 114 SampledImage 112 113
120: 41(ivec4) ImageSampleExplicitLod 115 119 Lod 25
Store 108(txval32) 120
125: 122 Load 124(g_tTexcdf4)
126: 18 Load 20(g_sSamp)
128: 127 SampledImage 125 126
129: 7(fvec4) ImageSampleExplicitLod 128 96 Lod 25
Store 121(txval40) 129
134: 131 Load 133(g_tTexcdi4)
135: 18 Load 20(g_sSamp)
137: 136 SampledImage 134 135
138: 28(ivec4) ImageSampleExplicitLod 137 106 Lod 25
Store 130(txval41) 138
143: 140 Load 142(g_tTexcdu4)
144: 18 Load 20(g_sSamp)
146: 145 SampledImage 143 144
147: 41(ivec4) ImageSampleExplicitLod 146 119 Lod 25
Store 139(txval42) 147
154: 12(ptr) AccessChain 150(vsout) 151
Store 154 153
155:148(VS_OUTPUT) Load 150(vsout)
158: 7(fvec4) CompositeExtract 155 0
159: 12(ptr) AccessChain 157 151
Store 159 158
160:8(VS_OUTPUT) Load 157
ReturnValue 160
FunctionEnd