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.samplegrad.offset.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Parameters:
0:? Sequence
0:31 Sequence
@ -193,24 +193,28 @@ gl_FragCoord origin is upper left
0:46 1 (const int)
0:46 Constant:
0:46 1.000000
0:48 Sequence
0:48 Sequence
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 'psout' (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 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Constant:
0:48 1 (const int)
0:48 Branch: Return
0:48 Branch: Return with expression
0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Definition: main( (temp void)
0:28 Function Parameters:
0:? Sequence
0:28 Sequence
0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:28 Color: direct index for structure (temp 4-component vector of float)
0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Constant:
0:28 0 (const int)
0:28 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:28 Depth: direct index for structure (temp float)
0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Constant:
0:28 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_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@ -225,6 +229,8 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@ -233,7 +239,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Parameters:
0:? Sequence
0:31 Sequence
@ -424,24 +430,28 @@ gl_FragCoord origin is upper left
0:46 1 (const int)
0:46 Constant:
0:46 1.000000
0:48 Sequence
0:48 Sequence
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 'psout' (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 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Constant:
0:48 1 (const int)
0:48 Branch: Return
0:48 Branch: Return with expression
0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Definition: main( (temp void)
0:28 Function Parameters:
0:? Sequence
0:28 Sequence
0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:28 Color: direct index for structure (temp 4-component vector of float)
0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Constant:
0:28 0 (const int)
0:28 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:28 Depth: direct index for structure (temp float)
0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Constant:
0:28 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_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@ -456,234 +466,247 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 159
// Id's are bound by 166
Capability Shader
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 141 145
EntryPoint Fragment 4 "main" 149 153
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 9 "txval10"
Name 12 "g_tTex1df4"
Name 16 "g_sSamp"
Name 28 "txval11"
Name 31 "g_tTex1di4"
Name 41 "txval12"
Name 44 "g_tTex1du4"
Name 51 "txval20"
Name 54 "g_tTex2df4"
Name 66 "txval21"
Name 69 "g_tTex2di4"
Name 78 "txval22"
Name 81 "g_tTex2du4"
Name 92 "txval30"
Name 95 "g_tTex3df4"
Name 107 "txval31"
Name 110 "g_tTex3di4"
Name 118 "txval32"
Name 121 "g_tTex3du4"
Name 132 "PS_OUTPUT"
MemberName 132(PS_OUTPUT) 0 "Color"
MemberName 132(PS_OUTPUT) 1 "Depth"
Name 134 "psout"
Name 141 "Color"
Name 145 "Depth"
Name 149 "g_tTex1df4a"
Name 152 "g_tTexcdf4"
Name 155 "g_tTexcdi4"
Name 158 "g_tTexcdu4"
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 31(g_tTex1di4) DescriptorSet 0
Decorate 44(g_tTex1du4) DescriptorSet 0
Decorate 54(g_tTex2df4) DescriptorSet 0
Decorate 69(g_tTex2di4) DescriptorSet 0
Decorate 81(g_tTex2du4) DescriptorSet 0
Decorate 95(g_tTex3df4) DescriptorSet 0
Decorate 110(g_tTex3di4) DescriptorSet 0
Decorate 121(g_tTex3du4) DescriptorSet 0
Decorate 141(Color) Location 0
Decorate 145(Depth) BuiltIn FragDepth
Decorate 149(g_tTex1df4a) DescriptorSet 0
Decorate 149(g_tTex1df4a) Binding 1
Decorate 152(g_tTexcdf4) DescriptorSet 0
Decorate 155(g_tTexcdi4) DescriptorSet 0
Decorate 158(g_tTexcdu4) DescriptorSet 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 8(PS_OUTPUT) 1 "Depth"
Name 10 "@main("
Name 13 "txval10"
Name 16 "g_tTex1df4"
Name 20 "g_sSamp"
Name 32 "txval11"
Name 35 "g_tTex1di4"
Name 45 "txval12"
Name 48 "g_tTex1du4"
Name 55 "txval20"
Name 58 "g_tTex2df4"
Name 70 "txval21"
Name 73 "g_tTex2di4"
Name 82 "txval22"
Name 85 "g_tTex2du4"
Name 96 "txval30"
Name 99 "g_tTex3df4"
Name 111 "txval31"
Name 114 "g_tTex3di4"
Name 122 "txval32"
Name 125 "g_tTex3du4"
Name 137 "psout"
Name 146 "flattenTemp"
Name 149 "Color"
Name 153 "Depth"
Name 156 "g_tTex1df4a"
Name 159 "g_tTexcdf4"
Name 162 "g_tTexcdi4"
Name 165 "g_tTexcdu4"
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 35(g_tTex1di4) DescriptorSet 0
Decorate 48(g_tTex1du4) DescriptorSet 0
Decorate 58(g_tTex2df4) DescriptorSet 0
Decorate 73(g_tTex2di4) DescriptorSet 0
Decorate 85(g_tTex2du4) DescriptorSet 0
Decorate 99(g_tTex3df4) DescriptorSet 0
Decorate 114(g_tTex3di4) DescriptorSet 0
Decorate 125(g_tTex3du4) DescriptorSet 0
Decorate 149(Color) Location 0
Decorate 153(Depth) BuiltIn FragDepth
Decorate 156(g_tTex1df4a) DescriptorSet 0
Decorate 156(g_tTex1df4a) Binding 1
Decorate 159(g_tTexcdf4) DescriptorSet 0
Decorate 162(g_tTexcdi4) DescriptorSet 0
Decorate 165(g_tTexcdu4) DescriptorSet 0
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(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9: TypeFunction 8(PS_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 1066192077
22: 6(float) Constant 1067030938
23: TypeInt 32 1
24: 23(int) Constant 1
26: TypeVector 23(int) 4
27: TypePointer Function 26(ivec4)
29: TypeImage 23(int) 1D sampled format:Unknown
30: TypePointer UniformConstant 29
31(g_tTex1di4): 30(ptr) Variable UniformConstant
34: TypeSampledImage 29
36: 6(float) Constant 1045220557
38: TypeInt 32 0
39: TypeVector 38(int) 4
40: TypePointer Function 39(ivec4)
42: TypeImage 38(int) 1D sampled format:Unknown
43: TypePointer UniformConstant 42
44(g_tTex1du4): 43(ptr) Variable UniformConstant
47: TypeSampledImage 42
49: 6(float) Constant 1050253722
52: TypeImage 6(float) 2D sampled format:Unknown
53: TypePointer UniformConstant 52
54(g_tTex2df4): 53(ptr) Variable UniformConstant
57: TypeSampledImage 52
59: TypeVector 6(float) 2
60: 59(fvec2) ConstantComposite 20 36
61: 59(fvec2) ConstantComposite 21 22
62: TypeVector 23(int) 2
63: 23(int) Constant 0
64: 62(ivec2) ConstantComposite 24 63
67: TypeImage 23(int) 2D sampled format:Unknown
68: TypePointer UniformConstant 67
69(g_tTex2di4): 68(ptr) Variable UniformConstant
72: TypeSampledImage 67
74: 6(float) Constant 1053609165
75: 59(fvec2) ConstantComposite 49 74
76: 62(ivec2) ConstantComposite 24 24
79: TypeImage 38(int) 2D sampled format:Unknown
80: TypePointer UniformConstant 79
81(g_tTex2du4): 80(ptr) Variable UniformConstant
84: TypeSampledImage 79
86: 6(float) Constant 1056964608
87: 6(float) Constant 1058642330
88: 59(fvec2) ConstantComposite 86 87
89: 23(int) Constant 4294967295
90: 62(ivec2) ConstantComposite 24 89
93: TypeImage 6(float) 3D sampled format:Unknown
94: TypePointer UniformConstant 93
95(g_tTex3df4): 94(ptr) Variable UniformConstant
98: TypeSampledImage 93
100: TypeVector 6(float) 3
101: 100(fvec3) ConstantComposite 20 36 49
102: 6(float) Constant 1067869798
103: 100(fvec3) ConstantComposite 21 22 102
104: TypeVector 23(int) 3
105: 104(ivec3) ConstantComposite 24 63 24
108: TypeImage 23(int) 3D sampled format:Unknown
109: TypePointer UniformConstant 108
110(g_tTex3di4): 109(ptr) Variable UniformConstant
113: TypeSampledImage 108
115: 100(fvec3) ConstantComposite 74 86 87
116: 104(ivec3) ConstantComposite 24 24 24
119: TypeImage 38(int) 3D sampled format:Unknown
120: TypePointer UniformConstant 119
121(g_tTex3du4): 120(ptr) Variable UniformConstant
124: TypeSampledImage 119
126: 6(float) Constant 1060320051
127: 6(float) Constant 1061997773
128: 6(float) Constant 1063675494
129: 100(fvec3) ConstantComposite 126 127 128
130: 104(ivec3) ConstantComposite 24 63 89
132(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
133: TypePointer Function 132(PS_OUTPUT)
135: 6(float) Constant 1065353216
136: 7(fvec4) ConstantComposite 135 135 135 135
138: TypePointer Function 6(float)
140: TypePointer Output 7(fvec4)
141(Color): 140(ptr) Variable Output
144: TypePointer Output 6(float)
145(Depth): 144(ptr) Variable Output
149(g_tTex1df4a): 11(ptr) Variable UniformConstant
150: TypeImage 6(float) Cube sampled format:Unknown
151: TypePointer UniformConstant 150
152(g_tTexcdf4): 151(ptr) Variable UniformConstant
153: TypeImage 23(int) Cube sampled format:Unknown
154: TypePointer UniformConstant 153
155(g_tTexcdi4): 154(ptr) Variable UniformConstant
156: TypeImage 38(int) Cube sampled format:Unknown
157: TypePointer UniformConstant 156
158(g_tTexcdu4): 157(ptr) Variable UniformConstant
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 1066192077
26: 6(float) Constant 1067030938
27: TypeInt 32 1
28: 27(int) Constant 1
30: TypeVector 27(int) 4
31: TypePointer Function 30(ivec4)
33: TypeImage 27(int) 1D sampled format:Unknown
34: TypePointer UniformConstant 33
35(g_tTex1di4): 34(ptr) Variable UniformConstant
38: TypeSampledImage 33
40: 6(float) Constant 1045220557
42: TypeInt 32 0
43: TypeVector 42(int) 4
44: TypePointer Function 43(ivec4)
46: TypeImage 42(int) 1D sampled format:Unknown
47: TypePointer UniformConstant 46
48(g_tTex1du4): 47(ptr) Variable UniformConstant
51: TypeSampledImage 46
53: 6(float) Constant 1050253722
56: TypeImage 6(float) 2D sampled format:Unknown
57: TypePointer UniformConstant 56
58(g_tTex2df4): 57(ptr) Variable UniformConstant
61: TypeSampledImage 56
63: TypeVector 6(float) 2
64: 63(fvec2) ConstantComposite 24 40
65: 63(fvec2) ConstantComposite 25 26
66: TypeVector 27(int) 2
67: 27(int) Constant 0
68: 66(ivec2) ConstantComposite 28 67
71: TypeImage 27(int) 2D sampled format:Unknown
72: TypePointer UniformConstant 71
73(g_tTex2di4): 72(ptr) Variable UniformConstant
76: TypeSampledImage 71
78: 6(float) Constant 1053609165
79: 63(fvec2) ConstantComposite 53 78
80: 66(ivec2) ConstantComposite 28 28
83: TypeImage 42(int) 2D sampled format:Unknown
84: TypePointer UniformConstant 83
85(g_tTex2du4): 84(ptr) Variable UniformConstant
88: TypeSampledImage 83
90: 6(float) Constant 1056964608
91: 6(float) Constant 1058642330
92: 63(fvec2) ConstantComposite 90 91
93: 27(int) Constant 4294967295
94: 66(ivec2) ConstantComposite 28 93
97: TypeImage 6(float) 3D sampled format:Unknown
98: TypePointer UniformConstant 97
99(g_tTex3df4): 98(ptr) Variable UniformConstant
102: TypeSampledImage 97
104: TypeVector 6(float) 3
105: 104(fvec3) ConstantComposite 24 40 53
106: 6(float) Constant 1067869798
107: 104(fvec3) ConstantComposite 25 26 106
108: TypeVector 27(int) 3
109: 108(ivec3) ConstantComposite 28 67 28
112: TypeImage 27(int) 3D sampled format:Unknown
113: TypePointer UniformConstant 112
114(g_tTex3di4): 113(ptr) Variable UniformConstant
117: TypeSampledImage 112
119: 104(fvec3) ConstantComposite 78 90 91
120: 108(ivec3) ConstantComposite 28 28 28
123: TypeImage 42(int) 3D sampled format:Unknown
124: TypePointer UniformConstant 123
125(g_tTex3du4): 124(ptr) Variable UniformConstant
128: TypeSampledImage 123
130: 6(float) Constant 1060320051
131: 6(float) Constant 1061997773
132: 6(float) Constant 1063675494
133: 104(fvec3) ConstantComposite 130 131 132
134: 108(ivec3) ConstantComposite 28 67 93
136: TypePointer Function 8(PS_OUTPUT)
138: 6(float) Constant 1065353216
139: 7(fvec4) ConstantComposite 138 138 138 138
141: TypePointer Function 6(float)
148: TypePointer Output 7(fvec4)
149(Color): 148(ptr) Variable Output
152: TypePointer Output 6(float)
153(Depth): 152(ptr) Variable Output
156(g_tTex1df4a): 15(ptr) Variable UniformConstant
157: TypeImage 6(float) Cube sampled format:Unknown
158: TypePointer UniformConstant 157
159(g_tTexcdf4): 158(ptr) Variable UniformConstant
160: TypeImage 27(int) Cube sampled format:Unknown
161: TypePointer UniformConstant 160
162(g_tTexcdi4): 161(ptr) Variable UniformConstant
163: TypeImage 42(int) Cube sampled format:Unknown
164: TypePointer UniformConstant 163
165(g_tTexcdu4): 164(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
9(txval10): 8(ptr) Variable Function
28(txval11): 27(ptr) Variable Function
41(txval12): 40(ptr) Variable Function
51(txval20): 8(ptr) Variable Function
66(txval21): 27(ptr) Variable Function
78(txval22): 40(ptr) Variable Function
92(txval30): 8(ptr) Variable Function
107(txval31): 27(ptr) Variable Function
118(txval32): 40(ptr) Variable Function
134(psout): 133(ptr) Variable Function
13: 10 Load 12(g_tTex1df4)
17: 14 Load 16(g_sSamp)
19: 18 SampledImage 13 17
25: 7(fvec4) ImageSampleExplicitLod 19 20 Grad ConstOffset 21 22 24
Store 9(txval10) 25
32: 29 Load 31(g_tTex1di4)
33: 14 Load 16(g_sSamp)
35: 34 SampledImage 32 33
37: 26(ivec4) ImageSampleExplicitLod 35 36 Grad ConstOffset 21 22 24
Store 28(txval11) 37
45: 42 Load 44(g_tTex1du4)
46: 14 Load 16(g_sSamp)
48: 47 SampledImage 45 46
50: 39(ivec4) ImageSampleExplicitLod 48 49 Grad ConstOffset 21 22 24
Store 41(txval12) 50
55: 52 Load 54(g_tTex2df4)
56: 14 Load 16(g_sSamp)
58: 57 SampledImage 55 56
65: 7(fvec4) ImageSampleExplicitLod 58 60 Grad ConstOffset 60 61 64
Store 51(txval20) 65
70: 67 Load 69(g_tTex2di4)
71: 14 Load 16(g_sSamp)
73: 72 SampledImage 70 71
77: 26(ivec4) ImageSampleExplicitLod 73 75 Grad ConstOffset 60 61 76
Store 66(txval21) 77
82: 79 Load 81(g_tTex2du4)
83: 14 Load 16(g_sSamp)
85: 84 SampledImage 82 83
91: 39(ivec4) ImageSampleExplicitLod 85 88 Grad ConstOffset 60 61 90
Store 78(txval22) 91
96: 93 Load 95(g_tTex3df4)
97: 14 Load 16(g_sSamp)
99: 98 SampledImage 96 97
106: 7(fvec4) ImageSampleExplicitLod 99 101 Grad ConstOffset 103 103 105
Store 92(txval30) 106
111: 108 Load 110(g_tTex3di4)
112: 14 Load 16(g_sSamp)
114: 113 SampledImage 111 112
117: 26(ivec4) ImageSampleExplicitLod 114 115 Grad ConstOffset 103 103 116
Store 107(txval31) 117
122: 119 Load 121(g_tTex3du4)
123: 14 Load 16(g_sSamp)
125: 124 SampledImage 122 123
131: 39(ivec4) ImageSampleExplicitLod 125 129 Grad ConstOffset 103 103 130
Store 118(txval32) 131
137: 8(ptr) AccessChain 134(psout) 63
Store 137 136
139: 138(ptr) AccessChain 134(psout) 24
Store 139 135
142: 8(ptr) AccessChain 134(psout) 63
143: 7(fvec4) Load 142
Store 141(Color) 143
146: 138(ptr) AccessChain 134(psout) 24
147: 6(float) Load 146
Store 145(Depth) 147
146(flattenTemp): 136(ptr) Variable Function
147:8(PS_OUTPUT) FunctionCall 10(@main()
Store 146(flattenTemp) 147
150: 12(ptr) AccessChain 146(flattenTemp) 67
151: 7(fvec4) Load 150
Store 149(Color) 151
154: 141(ptr) AccessChain 146(flattenTemp) 28
155: 6(float) Load 154
Store 153(Depth) 155
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
13(txval10): 12(ptr) Variable Function
32(txval11): 31(ptr) Variable Function
45(txval12): 44(ptr) Variable Function
55(txval20): 12(ptr) Variable Function
70(txval21): 31(ptr) Variable Function
82(txval22): 44(ptr) Variable Function
96(txval30): 12(ptr) Variable Function
111(txval31): 31(ptr) Variable Function
122(txval32): 44(ptr) Variable Function
137(psout): 136(ptr) Variable Function
17: 14 Load 16(g_tTex1df4)
21: 18 Load 20(g_sSamp)
23: 22 SampledImage 17 21
29: 7(fvec4) ImageSampleExplicitLod 23 24 Grad ConstOffset 25 26 28
Store 13(txval10) 29
36: 33 Load 35(g_tTex1di4)
37: 18 Load 20(g_sSamp)
39: 38 SampledImage 36 37
41: 30(ivec4) ImageSampleExplicitLod 39 40 Grad ConstOffset 25 26 28
Store 32(txval11) 41
49: 46 Load 48(g_tTex1du4)
50: 18 Load 20(g_sSamp)
52: 51 SampledImage 49 50
54: 43(ivec4) ImageSampleExplicitLod 52 53 Grad ConstOffset 25 26 28
Store 45(txval12) 54
59: 56 Load 58(g_tTex2df4)
60: 18 Load 20(g_sSamp)
62: 61 SampledImage 59 60
69: 7(fvec4) ImageSampleExplicitLod 62 64 Grad ConstOffset 64 65 68
Store 55(txval20) 69
74: 71 Load 73(g_tTex2di4)
75: 18 Load 20(g_sSamp)
77: 76 SampledImage 74 75
81: 30(ivec4) ImageSampleExplicitLod 77 79 Grad ConstOffset 64 65 80
Store 70(txval21) 81
86: 83 Load 85(g_tTex2du4)
87: 18 Load 20(g_sSamp)
89: 88 SampledImage 86 87
95: 43(ivec4) ImageSampleExplicitLod 89 92 Grad ConstOffset 64 65 94
Store 82(txval22) 95
100: 97 Load 99(g_tTex3df4)
101: 18 Load 20(g_sSamp)
103: 102 SampledImage 100 101
110: 7(fvec4) ImageSampleExplicitLod 103 105 Grad ConstOffset 107 107 109
Store 96(txval30) 110
115: 112 Load 114(g_tTex3di4)
116: 18 Load 20(g_sSamp)
118: 117 SampledImage 115 116
121: 30(ivec4) ImageSampleExplicitLod 118 119 Grad ConstOffset 107 107 120
Store 111(txval31) 121
126: 123 Load 125(g_tTex3du4)
127: 18 Load 20(g_sSamp)
129: 128 SampledImage 126 127
135: 43(ivec4) ImageSampleExplicitLod 129 133 Grad ConstOffset 107 107 134
Store 122(txval32) 135
140: 12(ptr) AccessChain 137(psout) 67
Store 140 139
142: 141(ptr) AccessChain 137(psout) 28
Store 142 138
143:8(PS_OUTPUT) Load 137(psout)
ReturnValue 143
FunctionEnd