hlsl.flattenSubset2.frag WARNING: AST will form illegal SPIR-V; need to transform to legalize Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:8 Function Definition: @main(vf4; ( temp 4-component vector of float) 0:8 Function Parameters: 0:8 'vpos' ( in 4-component vector of float) 0:? Sequence 0:13 move second child to first child ( temp structure{ temp float y, temp texture2D texNested}) 0:13 n: direct index for structure ( temp structure{ temp float y, temp texture2D texNested}) 0:13 'a1' ( temp structure{ temp structure{ temp float y, temp texture2D texNested} n, temp float x}) 0:13 Constant: 0:13 0 (const int) 0:13 n: direct index for structure ( temp structure{ temp float y, temp texture2D texNested}) 0:13 'a2' ( temp structure{ temp structure{ temp float y, temp texture2D texNested} n, temp float x}) 0:13 Constant: 0:13 0 (const int) 0:14 move second child to first child ( temp structure{ temp float y, temp texture2D texNested}) 0:14 n: direct index for structure ( temp structure{ temp float y, temp texture2D texNested}) 0:14 'b' ( temp structure{ temp structure{ temp float y, temp texture2D texNested} n, temp texture2D tex}) 0:14 Constant: 0:14 0 (const int) 0:14 n: direct index for structure ( temp structure{ temp float y, temp texture2D texNested}) 0:14 'a1' ( temp structure{ temp structure{ temp float y, temp texture2D texNested} n, temp float x}) 0:14 Constant: 0:14 0 (const int) 0:17 Sequence 0:17 move second child to first child ( temp structure{ temp float y, temp texture2D texNested}) 0:17 'n' ( temp structure{ temp float y, temp texture2D texNested}) 0:17 n: direct index for structure ( temp structure{ temp float y, temp texture2D texNested}) 0:17 'b' ( temp structure{ temp structure{ temp float y, temp texture2D texNested} n, temp texture2D tex}) 0:17 Constant: 0:17 0 (const int) 0:20 move second child to first child ( temp texture2D) 0:20 texNested: direct index for structure ( temp texture2D) 0:20 n: direct index for structure ( temp structure{ temp float y, temp texture2D texNested}) 0:20 'a2' ( temp structure{ temp structure{ temp float y, temp texture2D texNested} n, temp float x}) 0:20 Constant: 0:20 0 (const int) 0:20 Constant: 0:20 1 (const int) 0:20 'someTex' ( uniform texture2D) 0:21 move second child to first child ( temp float) 0:21 y: direct index for structure ( temp float) 0:21 n: direct index for structure ( temp structure{ temp float y, temp texture2D texNested}) 0:21 'a1' ( temp structure{ temp structure{ temp float y, temp texture2D texNested} n, temp float x}) 0:21 Constant: 0:21 0 (const int) 0:21 Constant: 0:21 0 (const int) 0:21 Constant: 0:21 1.000000 0:23 Branch: Return with expression 0:? Constant: 0:? 0.000000 0:? 0.000000 0:? 0.000000 0:? 0.000000 0:8 Function Definition: main( ( temp void) 0:8 Function Parameters: 0:? Sequence 0:8 move second child to first child ( temp 4-component vector of float) 0:? 'vpos' ( temp 4-component vector of float) 0:? 'vpos' (layout( location=0) in 4-component vector of float) 0:8 move second child to first child ( temp 4-component vector of float) 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 0:8 Function Call: @main(vf4; ( temp 4-component vector of float) 0:? 'vpos' ( temp 4-component vector of float) 0:? Linker Objects 0:? 'someTex' ( uniform texture2D) 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 0:? 'vpos' (layout( location=0) in 4-component vector of float) Linked fragment stage: Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:8 Function Definition: @main(vf4; ( temp 4-component vector of float) 0:8 Function Parameters: 0:8 'vpos' ( in 4-component vector of float) 0:? Sequence 0:13 move second child to first child ( temp structure{ temp float y, temp texture2D texNested}) 0:13 n: direct index for structure ( temp structure{ temp float y, temp texture2D texNested}) 0:13 'a1' ( temp structure{ temp structure{ temp float y, temp texture2D texNested} n, temp float x}) 0:13 Constant: 0:13 0 (const int) 0:13 n: direct index for structure ( temp structure{ temp float y, temp texture2D texNested}) 0:13 'a2' ( temp structure{ temp structure{ temp float y, temp texture2D texNested} n, temp float x}) 0:13 Constant: 0:13 0 (const int) 0:14 move second child to first child ( temp structure{ temp float y, temp texture2D texNested}) 0:14 n: direct index for structure ( temp structure{ temp float y, temp texture2D texNested}) 0:14 'b' ( temp structure{ temp structure{ temp float y, temp texture2D texNested} n, temp texture2D tex}) 0:14 Constant: 0:14 0 (const int) 0:14 n: direct index for structure ( temp structure{ temp float y, temp texture2D texNested}) 0:14 'a1' ( temp structure{ temp structure{ temp float y, temp texture2D texNested} n, temp float x}) 0:14 Constant: 0:14 0 (const int) 0:17 Sequence 0:17 move second child to first child ( temp structure{ temp float y, temp texture2D texNested}) 0:17 'n' ( temp structure{ temp float y, temp texture2D texNested}) 0:17 n: direct index for structure ( temp structure{ temp float y, temp texture2D texNested}) 0:17 'b' ( temp structure{ temp structure{ temp float y, temp texture2D texNested} n, temp texture2D tex}) 0:17 Constant: 0:17 0 (const int) 0:20 move second child to first child ( temp texture2D) 0:20 texNested: direct index for structure ( temp texture2D) 0:20 n: direct index for structure ( temp structure{ temp float y, temp texture2D texNested}) 0:20 'a2' ( temp structure{ temp structure{ temp float y, temp texture2D texNested} n, temp float x}) 0:20 Constant: 0:20 0 (const int) 0:20 Constant: 0:20 1 (const int) 0:20 'someTex' ( uniform texture2D) 0:21 move second child to first child ( temp float) 0:21 y: direct index for structure ( temp float) 0:21 n: direct index for structure ( temp structure{ temp float y, temp texture2D texNested}) 0:21 'a1' ( temp structure{ temp structure{ temp float y, temp texture2D texNested} n, temp float x}) 0:21 Constant: 0:21 0 (const int) 0:21 Constant: 0:21 0 (const int) 0:21 Constant: 0:21 1.000000 0:23 Branch: Return with expression 0:? Constant: 0:? 0.000000 0:? 0.000000 0:? 0.000000 0:? 0.000000 0:8 Function Definition: main( ( temp void) 0:8 Function Parameters: 0:? Sequence 0:8 move second child to first child ( temp 4-component vector of float) 0:? 'vpos' ( temp 4-component vector of float) 0:? 'vpos' (layout( location=0) in 4-component vector of float) 0:8 move second child to first child ( temp 4-component vector of float) 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 0:8 Function Call: @main(vf4; ( temp 4-component vector of float) 0:? 'vpos' ( temp 4-component vector of float) 0:? Linker Objects 0:? 'someTex' ( uniform texture2D) 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 0:? 'vpos' (layout( location=0) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 8000a // Id's are bound by 56 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 49 52 ExecutionMode 4 OriginUpperLeft Source HLSL 500 Name 4 "main" Name 11 "@main(vf4;" Name 10 "vpos" Name 14 "Nested" MemberName 14(Nested) 0 "y" MemberName 14(Nested) 1 "texNested" Name 15 "A" MemberName 15(A) 0 "n" MemberName 15(A) 1 "x" Name 17 "a1" Name 20 "a2" Name 25 "B" MemberName 25(B) 0 "n" MemberName 25(B) 1 "tex" Name 27 "b" Name 31 "n" Name 36 "someTex" Name 47 "vpos" Name 49 "vpos" Name 52 "@entryPointOutput" Name 53 "param" Decorate 36(someTex) DescriptorSet 0 Decorate 36(someTex) Binding 0 Decorate 49(vpos) Location 0 Decorate 52(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 8: TypePointer Function 7(fvec4) 9: TypeFunction 7(fvec4) 8(ptr) 13: TypeImage 6(float) 2D sampled format:Unknown 14(Nested): TypeStruct 6(float) 13 15(A): TypeStruct 14(Nested) 6(float) 16: TypePointer Function 15(A) 18: TypeInt 32 1 19: 18(int) Constant 0 21: TypePointer Function 14(Nested) 25(B): TypeStruct 14(Nested) 13 26: TypePointer Function 25(B) 34: 18(int) Constant 1 35: TypePointer UniformConstant 13 36(someTex): 35(ptr) Variable UniformConstant 38: TypePointer Function 13 40: 6(float) Constant 1065353216 41: TypePointer Function 6(float) 43: 6(float) Constant 0 44: 7(fvec4) ConstantComposite 43 43 43 43 48: TypePointer Input 7(fvec4) 49(vpos): 48(ptr) Variable Input 51: TypePointer Output 7(fvec4) 52(@entryPointOutput): 51(ptr) Variable Output 4(main): 2 Function None 3 5: Label 47(vpos): 8(ptr) Variable Function 53(param): 8(ptr) Variable Function 50: 7(fvec4) Load 49(vpos) Store 47(vpos) 50 54: 7(fvec4) Load 47(vpos) Store 53(param) 54 55: 7(fvec4) FunctionCall 11(@main(vf4;) 53(param) Store 52(@entryPointOutput) 55 Return FunctionEnd 11(@main(vf4;): 7(fvec4) Function None 9 10(vpos): 8(ptr) FunctionParameter 12: Label 17(a1): 16(ptr) Variable Function 20(a2): 16(ptr) Variable Function 27(b): 26(ptr) Variable Function 31(n): 21(ptr) Variable Function 22: 21(ptr) AccessChain 20(a2) 19 23: 14(Nested) Load 22 24: 21(ptr) AccessChain 17(a1) 19 Store 24 23 28: 21(ptr) AccessChain 17(a1) 19 29: 14(Nested) Load 28 30: 21(ptr) AccessChain 27(b) 19 Store 30 29 32: 21(ptr) AccessChain 27(b) 19 33: 14(Nested) Load 32 Store 31(n) 33 37: 13 Load 36(someTex) 39: 38(ptr) AccessChain 20(a2) 19 34 Store 39 37 42: 41(ptr) AccessChain 17(a1) 19 19 Store 42 40 ReturnValue 44 FunctionEnd