1hlsl.flattenSubset.frag
2WARNING: AST will form illegal SPIR-V; need to transform to legalize
3Shader version: 500
4gl_FragCoord origin is upper left
50:? Sequence
60:30  Function Definition: @main(vf4; ( temp 4-component vector of float)
70:30    Function Parameters:
80:30      'vpos' ( in 4-component vector of float)
90:?     Sequence
100:33      move second child to first child ( temp sampler)
110:33        ss: direct index for structure ( temp sampler)
120:33          s0: direct index for structure ( temp structure{ temp int x,  temp int y,  temp sampler ss})
130:33            's1' ( temp structure{ temp float b,  temp sampler samplerState,  temp structure{ temp int x,  temp int y,  temp sampler ss} s0,  temp int a})
140:33            Constant:
150:33              2 (const int)
160:33          Constant:
170:33            2 (const int)
180:33        'samp' ( uniform sampler)
190:34      move second child to first child ( temp structure{ temp float b,  temp sampler samplerState,  temp structure{ temp int x,  temp int y,  temp sampler ss} s0,  temp int a})
200:34        resources: direct index for structure ( temp structure{ temp float b,  temp sampler samplerState,  temp structure{ temp int x,  temp int y,  temp sampler ss} s0,  temp int a})
210:34          's2' ( temp structure{ temp int a1,  temp int a2,  temp int a3,  temp int a4,  temp int a5,  temp structure{ temp float b,  temp sampler samplerState,  temp structure{ temp int x,  temp int y,  temp sampler ss} s0,  temp int a} resources})
220:34          Constant:
230:34            5 (const int)
240:34        's1' ( temp structure{ temp float b,  temp sampler samplerState,  temp structure{ temp int x,  temp int y,  temp sampler ss} s0,  temp int a})
250:35      Branch: Return with expression
260:35        texture ( temp 4-component vector of float)
270:35          Construct combined texture-sampler ( temp sampler2D)
280:35            'tex' ( uniform texture2D)
290:35            ss: direct index for structure ( temp sampler)
300:35              s0: direct index for structure ( temp structure{ temp int x,  temp int y,  temp sampler ss})
310:35                resources: direct index for structure ( temp structure{ temp float b,  temp sampler samplerState,  temp structure{ temp int x,  temp int y,  temp sampler ss} s0,  temp int a})
320:35                  's2' ( temp structure{ temp int a1,  temp int a2,  temp int a3,  temp int a4,  temp int a5,  temp structure{ temp float b,  temp sampler samplerState,  temp structure{ temp int x,  temp int y,  temp sampler ss} s0,  temp int a} resources})
330:35                  Constant:
340:35                    5 (const int)
350:35                Constant:
360:35                  2 (const int)
370:35              Constant:
380:35                2 (const int)
390:35          Constant:
400:35            0.500000
410:35            0.500000
420:30  Function Definition: main( ( temp void)
430:30    Function Parameters:
440:?     Sequence
450:30      move second child to first child ( temp 4-component vector of float)
460:?         'vpos' ( temp 4-component vector of float)
470:?         'vpos' (layout( location=0) in 4-component vector of float)
480:30      move second child to first child ( temp 4-component vector of float)
490:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
500:30        Function Call: @main(vf4; ( temp 4-component vector of float)
510:?           'vpos' ( temp 4-component vector of float)
520:?   Linker Objects
530:?     'samp' ( uniform sampler)
540:?     'tex' ( uniform texture2D)
550:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
560:?     'vpos' (layout( location=0) in 4-component vector of float)
57
58
59Linked fragment stage:
60
61
62Shader version: 500
63gl_FragCoord origin is upper left
640:? Sequence
650:30  Function Definition: @main(vf4; ( temp 4-component vector of float)
660:30    Function Parameters:
670:30      'vpos' ( in 4-component vector of float)
680:?     Sequence
690:33      move second child to first child ( temp sampler)
700:33        ss: direct index for structure ( temp sampler)
710:33          s0: direct index for structure ( temp structure{ temp int x,  temp int y,  temp sampler ss})
720:33            's1' ( temp structure{ temp float b,  temp sampler samplerState,  temp structure{ temp int x,  temp int y,  temp sampler ss} s0,  temp int a})
730:33            Constant:
740:33              2 (const int)
750:33          Constant:
760:33            2 (const int)
770:33        'samp' ( uniform sampler)
780:34      move second child to first child ( temp structure{ temp float b,  temp sampler samplerState,  temp structure{ temp int x,  temp int y,  temp sampler ss} s0,  temp int a})
790:34        resources: direct index for structure ( temp structure{ temp float b,  temp sampler samplerState,  temp structure{ temp int x,  temp int y,  temp sampler ss} s0,  temp int a})
800:34          's2' ( temp structure{ temp int a1,  temp int a2,  temp int a3,  temp int a4,  temp int a5,  temp structure{ temp float b,  temp sampler samplerState,  temp structure{ temp int x,  temp int y,  temp sampler ss} s0,  temp int a} resources})
810:34          Constant:
820:34            5 (const int)
830:34        's1' ( temp structure{ temp float b,  temp sampler samplerState,  temp structure{ temp int x,  temp int y,  temp sampler ss} s0,  temp int a})
840:35      Branch: Return with expression
850:35        texture ( temp 4-component vector of float)
860:35          Construct combined texture-sampler ( temp sampler2D)
870:35            'tex' ( uniform texture2D)
880:35            ss: direct index for structure ( temp sampler)
890:35              s0: direct index for structure ( temp structure{ temp int x,  temp int y,  temp sampler ss})
900:35                resources: direct index for structure ( temp structure{ temp float b,  temp sampler samplerState,  temp structure{ temp int x,  temp int y,  temp sampler ss} s0,  temp int a})
910:35                  's2' ( temp structure{ temp int a1,  temp int a2,  temp int a3,  temp int a4,  temp int a5,  temp structure{ temp float b,  temp sampler samplerState,  temp structure{ temp int x,  temp int y,  temp sampler ss} s0,  temp int a} resources})
920:35                  Constant:
930:35                    5 (const int)
940:35                Constant:
950:35                  2 (const int)
960:35              Constant:
970:35                2 (const int)
980:35          Constant:
990:35            0.500000
1000:35            0.500000
1010:30  Function Definition: main( ( temp void)
1020:30    Function Parameters:
1030:?     Sequence
1040:30      move second child to first child ( temp 4-component vector of float)
1050:?         'vpos' ( temp 4-component vector of float)
1060:?         'vpos' (layout( location=0) in 4-component vector of float)
1070:30      move second child to first child ( temp 4-component vector of float)
1080:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
1090:30        Function Call: @main(vf4; ( temp 4-component vector of float)
1100:?           'vpos' ( temp 4-component vector of float)
1110:?   Linker Objects
1120:?     'samp' ( uniform sampler)
1130:?     'tex' ( uniform texture2D)
1140:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
1150:?     'vpos' (layout( location=0) in 4-component vector of float)
116
117// Module Version 10000
118// Generated by (magic number): 80007
119// Id's are bound by 54
120
121                              Capability Shader
122               1:             ExtInstImport  "GLSL.std.450"
123                              MemoryModel Logical GLSL450
124                              EntryPoint Fragment 4  "main" 47 50
125                              ExecutionMode 4 OriginUpperLeft
126                              Source HLSL 500
127                              Name 4  "main"
128                              Name 11  "@main(vf4;"
129                              Name 10  "vpos"
130                              Name 15  "S0"
131                              MemberName 15(S0) 0  "x"
132                              MemberName 15(S0) 1  "y"
133                              MemberName 15(S0) 2  "ss"
134                              Name 16  "S1"
135                              MemberName 16(S1) 0  "b"
136                              MemberName 16(S1) 1  "samplerState"
137                              MemberName 16(S1) 2  "s0"
138                              MemberName 16(S1) 3  "a"
139                              Name 18  "s1"
140                              Name 21  "samp"
141                              Name 25  "S2"
142                              MemberName 25(S2) 0  "a1"
143                              MemberName 25(S2) 1  "a2"
144                              MemberName 25(S2) 2  "a3"
145                              MemberName 25(S2) 3  "a4"
146                              MemberName 25(S2) 4  "a5"
147                              MemberName 25(S2) 5  "resources"
148                              Name 27  "s2"
149                              Name 33  "tex"
150                              Name 45  "vpos"
151                              Name 47  "vpos"
152                              Name 50  "@entryPointOutput"
153                              Name 51  "param"
154                              Decorate 21(samp) DescriptorSet 0
155                              Decorate 33(tex) DescriptorSet 0
156                              Decorate 47(vpos) Location 0
157                              Decorate 50(@entryPointOutput) Location 0
158               2:             TypeVoid
159               3:             TypeFunction 2
160               6:             TypeFloat 32
161               7:             TypeVector 6(float) 4
162               8:             TypePointer Function 7(fvec4)
163               9:             TypeFunction 7(fvec4) 8(ptr)
164              13:             TypeSampler
165              14:             TypeInt 32 1
166          15(S0):             TypeStruct 14(int) 14(int) 13
167          16(S1):             TypeStruct 6(float) 13 15(S0) 14(int)
168              17:             TypePointer Function 16(S1)
169              19:     14(int) Constant 2
170              20:             TypePointer UniformConstant 13
171        21(samp):     20(ptr) Variable UniformConstant
172              23:             TypePointer Function 13
173          25(S2):             TypeStruct 14(int) 14(int) 14(int) 14(int) 14(int) 16(S1)
174              26:             TypePointer Function 25(S2)
175              28:     14(int) Constant 5
176              31:             TypeImage 6(float) 2D sampled format:Unknown
177              32:             TypePointer UniformConstant 31
178         33(tex):     32(ptr) Variable UniformConstant
179              37:             TypeSampledImage 31
180              39:             TypeVector 6(float) 2
181              40:    6(float) Constant 1056964608
182              41:   39(fvec2) ConstantComposite 40 40
183              46:             TypePointer Input 7(fvec4)
184        47(vpos):     46(ptr) Variable Input
185              49:             TypePointer Output 7(fvec4)
18650(@entryPointOutput):     49(ptr) Variable Output
187         4(main):           2 Function None 3
188               5:             Label
189        45(vpos):      8(ptr) Variable Function
190       51(param):      8(ptr) Variable Function
191              48:    7(fvec4) Load 47(vpos)
192                              Store 45(vpos) 48
193              52:    7(fvec4) Load 45(vpos)
194                              Store 51(param) 52
195              53:    7(fvec4) FunctionCall 11(@main(vf4;) 51(param)
196                              Store 50(@entryPointOutput) 53
197                              Return
198                              FunctionEnd
199  11(@main(vf4;):    7(fvec4) Function None 9
200        10(vpos):      8(ptr) FunctionParameter
201              12:             Label
202          18(s1):     17(ptr) Variable Function
203          27(s2):     26(ptr) Variable Function
204              22:          13 Load 21(samp)
205              24:     23(ptr) AccessChain 18(s1) 19 19
206                              Store 24 22
207              29:      16(S1) Load 18(s1)
208              30:     17(ptr) AccessChain 27(s2) 28
209                              Store 30 29
210              34:          31 Load 33(tex)
211              35:     23(ptr) AccessChain 27(s2) 28 19 19
212              36:          13 Load 35
213              38:          37 SampledImage 34 36
214              42:    7(fvec4) ImageSampleImplicitLod 38 41
215                              ReturnValue 42
216                              FunctionEnd
217