hlsl.struct.frag
WARNING: 0:26: 'register' : ignoring shader_profile 
WARNING: 0:27: 'register' : ignoring shader_profile 
WARNING: 0:30: 'register' : ignoring shader_profile 

Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:40  Function Definition: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; ( temp 4-component vector of float)
0:40    Function Parameters: 
0:40      'input' ( in 4-component vector of float)
0:40      's' ( in structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
0:?     Sequence
0:45      Compare Equal ( temp bool)
0:45        's3' ( temp structure{ temp 3-component vector of bool b3})
0:45        's3' ( temp structure{ temp 3-component vector of bool b3})
0:46      move second child to first child ( temp 4-component vector of float)
0:46        i: direct index for structure ( temp 4-component vector of float)
0:46          's2' ( global structure{ temp 4-component vector of float i})
0:46          Constant:
0:46            0 (const int)
0:46        ff4: direct index for structure ( temp 4-component vector of float)
0:46          's' ( in structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
0:46          Constant:
0:46            7 (const int)
0:50      move second child to first child ( temp structure{})
0:50        'e' ( temp structure{})
0:50        e: direct index for structure ( temp structure{})
0:50          'ce' ( temp structure{ temp structure{} e})
0:50          Constant:
0:50            0 (const int)
0:52      Branch: Return with expression
0:52        'input' ( in 4-component vector of float)
0:40  Function Definition: PixelShaderFunction( ( temp void)
0:40    Function Parameters: 
0:?     Sequence
0:40      move second child to first child ( temp 4-component vector of float)
0:?         'input' ( temp 4-component vector of float)
0:?         'input' (layout( location=0) in 4-component vector of float)
0:40      Sequence
0:40        move second child to first child ( temp 4-component vector of float)
0:40          a: direct index for structure ( temp 4-component vector of float)
0:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
0:40            Constant:
0:40              0 (const int)
0:?           's.a' (layout( location=1) smooth in 4-component vector of float)
0:40        move second child to first child ( temp bool)
0:40          b: direct index for structure ( temp bool)
0:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
0:40            Constant:
0:40              1 (const int)
0:?           's.b' (layout( location=2) flat in bool)
0:40        move second child to first child ( temp 1-component vector of float)
0:40          c: direct index for structure ( temp 1-component vector of float)
0:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
0:40            Constant:
0:40              2 (const int)
0:?           's.c' (layout( location=3) centroid noperspective in 1-component vector of float)
0:40        move second child to first child ( temp 2-component vector of float)
0:40          d: direct index for structure ( temp 2-component vector of float)
0:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
0:40            Constant:
0:40              3 (const int)
0:?           's.d' (layout( location=4) centroid sample in 2-component vector of float)
0:40        move second child to first child ( temp bool)
0:40          ff1: direct index for structure ( temp bool)
0:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
0:40            Constant:
0:40              4 (const int)
0:?           's.ff1' ( flat in bool Face)
0:40        move second child to first child ( temp bool)
0:40          ff2: direct index for structure ( temp bool)
0:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
0:40            Constant:
0:40              5 (const int)
0:?           's.ff2' (layout( location=5) flat in bool)
0:40        move second child to first child ( temp bool)
0:40          ff3: direct index for structure ( temp bool)
0:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
0:40            Constant:
0:40              6 (const int)
0:?           's.ff3' (layout( location=6) flat in bool)
0:40        move second child to first child ( temp 4-component vector of float)
0:40          ff4: direct index for structure ( temp 4-component vector of float)
0:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
0:40            Constant:
0:40              7 (const int)
0:?           's.ff4' (layout( location=7) in 4-component vector of float)
0:40      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:40        Function Call: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; ( temp 4-component vector of float)
0:?           'input' ( temp 4-component vector of float)
0:?           's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
0:?   Linker Objects
0:?     'anon@0' (layout( row_major std140) uniform block{ uniform structure{ temp bool b,  temp bool c,  temp 4-component vector of float a,  temp 4-component vector of float d} s1, layout( binding=5 offset=1620) uniform float ff5, layout( binding=8 offset=1636) uniform float ff6})
0:?     's2' ( global structure{ temp 4-component vector of float i})
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:?     'input' (layout( location=0) in 4-component vector of float)
0:?     's.ff1' ( flat in bool Face)
0:?     's.a' (layout( location=1) smooth in 4-component vector of float)
0:?     's.b' (layout( location=2) flat in bool)
0:?     's.c' (layout( location=3) centroid noperspective in 1-component vector of float)
0:?     's.d' (layout( location=4) centroid sample in 2-component vector of float)
0:?     's.ff2' (layout( location=5) flat in bool)
0:?     's.ff3' (layout( location=6) flat in bool)
0:?     's.ff4' (layout( location=7) in 4-component vector of float)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:40  Function Definition: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; ( temp 4-component vector of float)
0:40    Function Parameters: 
0:40      'input' ( in 4-component vector of float)
0:40      's' ( in structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
0:?     Sequence
0:45      Compare Equal ( temp bool)
0:45        's3' ( temp structure{ temp 3-component vector of bool b3})
0:45        's3' ( temp structure{ temp 3-component vector of bool b3})
0:46      move second child to first child ( temp 4-component vector of float)
0:46        i: direct index for structure ( temp 4-component vector of float)
0:46          's2' ( global structure{ temp 4-component vector of float i})
0:46          Constant:
0:46            0 (const int)
0:46        ff4: direct index for structure ( temp 4-component vector of float)
0:46          's' ( in structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
0:46          Constant:
0:46            7 (const int)
0:50      move second child to first child ( temp structure{})
0:50        'e' ( temp structure{})
0:50        e: direct index for structure ( temp structure{})
0:50          'ce' ( temp structure{ temp structure{} e})
0:50          Constant:
0:50            0 (const int)
0:52      Branch: Return with expression
0:52        'input' ( in 4-component vector of float)
0:40  Function Definition: PixelShaderFunction( ( temp void)
0:40    Function Parameters: 
0:?     Sequence
0:40      move second child to first child ( temp 4-component vector of float)
0:?         'input' ( temp 4-component vector of float)
0:?         'input' (layout( location=0) in 4-component vector of float)
0:40      Sequence
0:40        move second child to first child ( temp 4-component vector of float)
0:40          a: direct index for structure ( temp 4-component vector of float)
0:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
0:40            Constant:
0:40              0 (const int)
0:?           's.a' (layout( location=1) smooth in 4-component vector of float)
0:40        move second child to first child ( temp bool)
0:40          b: direct index for structure ( temp bool)
0:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
0:40            Constant:
0:40              1 (const int)
0:?           's.b' (layout( location=2) flat in bool)
0:40        move second child to first child ( temp 1-component vector of float)
0:40          c: direct index for structure ( temp 1-component vector of float)
0:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
0:40            Constant:
0:40              2 (const int)
0:?           's.c' (layout( location=3) centroid noperspective in 1-component vector of float)
0:40        move second child to first child ( temp 2-component vector of float)
0:40          d: direct index for structure ( temp 2-component vector of float)
0:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
0:40            Constant:
0:40              3 (const int)
0:?           's.d' (layout( location=4) centroid sample in 2-component vector of float)
0:40        move second child to first child ( temp bool)
0:40          ff1: direct index for structure ( temp bool)
0:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
0:40            Constant:
0:40              4 (const int)
0:?           's.ff1' ( flat in bool Face)
0:40        move second child to first child ( temp bool)
0:40          ff2: direct index for structure ( temp bool)
0:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
0:40            Constant:
0:40              5 (const int)
0:?           's.ff2' (layout( location=5) flat in bool)
0:40        move second child to first child ( temp bool)
0:40          ff3: direct index for structure ( temp bool)
0:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
0:40            Constant:
0:40              6 (const int)
0:?           's.ff3' (layout( location=6) flat in bool)
0:40        move second child to first child ( temp 4-component vector of float)
0:40          ff4: direct index for structure ( temp 4-component vector of float)
0:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
0:40            Constant:
0:40              7 (const int)
0:?           's.ff4' (layout( location=7) in 4-component vector of float)
0:40      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:40        Function Call: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; ( temp 4-component vector of float)
0:?           'input' ( temp 4-component vector of float)
0:?           's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
0:?   Linker Objects
0:?     'anon@0' (layout( row_major std140) uniform block{ uniform structure{ temp bool b,  temp bool c,  temp 4-component vector of float a,  temp 4-component vector of float d} s1, layout( binding=5 offset=1620) uniform float ff5, layout( binding=8 offset=1636) uniform float ff6})
0:?     's2' ( global structure{ temp 4-component vector of float i})
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:?     'input' (layout( location=0) in 4-component vector of float)
0:?     's.ff1' ( flat in bool Face)
0:?     's.a' (layout( location=1) smooth in 4-component vector of float)
0:?     's.b' (layout( location=2) flat in bool)
0:?     's.c' (layout( location=3) centroid noperspective in 1-component vector of float)
0:?     's.d' (layout( location=4) centroid sample in 2-component vector of float)
0:?     's.ff2' (layout( location=5) flat in bool)
0:?     's.ff3' (layout( location=6) flat in bool)
0:?     's.ff4' (layout( location=7) in 4-component vector of float)

// Module Version 10000
// Generated by (magic number): 80005
// Id's are bound by 102

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "PixelShaderFunction" 51 54 59 65 71 76 80 84 87 91
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "PixelShaderFunction"
                              Name 11  "IN_S"
                              MemberName 11(IN_S) 0  "a"
                              MemberName 11(IN_S) 1  "b"
                              MemberName 11(IN_S) 2  "c"
                              MemberName 11(IN_S) 3  "d"
                              MemberName 11(IN_S) 4  "ff1"
                              MemberName 11(IN_S) 5  "ff2"
                              MemberName 11(IN_S) 6  "ff3"
                              MemberName 11(IN_S) 7  "ff4"
                              Name 16  "@PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41;"
                              Name 14  "input"
                              Name 15  "s"
                              Name 19  "FS"
                              MemberName 19(FS) 0  "b3"
                              Name 21  "s3"
                              Name 28  ""
                              MemberName 28 0  "i"
                              Name 30  "s2"
                              Name 38  "empty"
                              Name 40  "e"
                              Name 41  "containEmpty"
                              MemberName 41(containEmpty) 0  "e"
                              Name 43  "ce"
                              Name 49  "input"
                              Name 51  "input"
                              Name 53  "s"
                              Name 54  "s.a"
                              Name 59  "s.b"
                              Name 65  "s.c"
                              Name 71  "s.d"
                              Name 76  "s.ff1"
                              Name 80  "s.ff2"
                              Name 84  "s.ff3"
                              Name 87  "s.ff4"
                              Name 91  "@entryPointOutput"
                              Name 92  "param"
                              Name 94  "param"
                              Name 98  "myS"
                              MemberName 98(myS) 0  "b"
                              MemberName 98(myS) 1  "c"
                              MemberName 98(myS) 2  "a"
                              MemberName 98(myS) 3  "d"
                              Name 99  "$Global"
                              MemberName 99($Global) 0  "s1"
                              MemberName 99($Global) 1  "ff5"
                              MemberName 99($Global) 2  "ff6"
                              Name 101  ""
                              Decorate 51(input) Location 0
                              Decorate 54(s.a) Location 1
                              Decorate 59(s.b) Flat
                              Decorate 59(s.b) Location 2
                              Decorate 65(s.c) NoPerspective
                              Decorate 65(s.c) Centroid
                              Decorate 65(s.c) Location 3
                              Decorate 71(s.d) Centroid
                              Decorate 71(s.d) Location 4
                              Decorate 76(s.ff1) Flat
                              Decorate 76(s.ff1) BuiltIn FrontFacing
                              Decorate 80(s.ff2) Flat
                              Decorate 80(s.ff2) Location 5
                              Decorate 84(s.ff3) Flat
                              Decorate 84(s.ff3) Location 6
                              Decorate 87(s.ff4) Location 7
                              Decorate 91(@entryPointOutput) Location 0
                              MemberDecorate 98(myS) 0 Offset 0
                              MemberDecorate 98(myS) 1 Offset 4
                              MemberDecorate 98(myS) 2 Offset 16
                              MemberDecorate 98(myS) 3 Offset 32
                              MemberDecorate 99($Global) 0 Offset 0
                              MemberDecorate 99($Global) 1 Offset 1620
                              MemberDecorate 99($Global) 2 Offset 1636
                              Decorate 99($Global) Block
                              Decorate 101 DescriptorSet 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Function 7(fvec4)
               9:             TypeBool
              10:             TypeVector 6(float) 2
        11(IN_S):             TypeStruct 7(fvec4) 9(bool) 6(float) 10(fvec2) 9(bool) 9(bool) 9(bool) 7(fvec4)
              12:             TypePointer Function 11(IN_S)
              13:             TypeFunction 7(fvec4) 8(ptr) 12(ptr)
              18:             TypeVector 9(bool) 3
          19(FS):             TypeStruct 18(bvec3)
              20:             TypePointer Function 19(FS)
              28:             TypeStruct 7(fvec4)
              29:             TypePointer Private 28(struct)
          30(s2):     29(ptr) Variable Private
              31:             TypeInt 32 1
              32:     31(int) Constant 0
              33:     31(int) Constant 7
              36:             TypePointer Private 7(fvec4)
       38(empty):             TypeStruct
              39:             TypePointer Function 38(empty)
41(containEmpty):             TypeStruct 38(empty)
              42:             TypePointer Function 41(containEmpty)
              50:             TypePointer Input 7(fvec4)
       51(input):     50(ptr) Variable Input
         54(s.a):     50(ptr) Variable Input
              57:     31(int) Constant 1
              58:             TypePointer Input 9(bool)
         59(s.b):     58(ptr) Variable Input
              61:             TypePointer Function 9(bool)
              63:     31(int) Constant 2
              64:             TypePointer Input 6(float)
         65(s.c):     64(ptr) Variable Input
              67:             TypePointer Function 6(float)
              69:     31(int) Constant 3
              70:             TypePointer Input 10(fvec2)
         71(s.d):     70(ptr) Variable Input
              73:             TypePointer Function 10(fvec2)
              75:     31(int) Constant 4
       76(s.ff1):     58(ptr) Variable Input
              79:     31(int) Constant 5
       80(s.ff2):     58(ptr) Variable Input
              83:     31(int) Constant 6
       84(s.ff3):     58(ptr) Variable Input
       87(s.ff4):     50(ptr) Variable Input
              90:             TypePointer Output 7(fvec4)
91(@entryPointOutput):     90(ptr) Variable Output
              97:             TypeInt 32 0
         98(myS):             TypeStruct 97(int) 97(int) 7(fvec4) 7(fvec4)
     99($Global):             TypeStruct 98(myS) 6(float) 6(float)
             100:             TypePointer Uniform 99($Global)
             101:    100(ptr) Variable Uniform
4(PixelShaderFunction):           2 Function None 3
               5:             Label
       49(input):      8(ptr) Variable Function
           53(s):     12(ptr) Variable Function
       92(param):      8(ptr) Variable Function
       94(param):     12(ptr) Variable Function
              52:    7(fvec4) Load 51(input)
                              Store 49(input) 52
              55:    7(fvec4) Load 54(s.a)
              56:      8(ptr) AccessChain 53(s) 32
                              Store 56 55
              60:     9(bool) Load 59(s.b)
              62:     61(ptr) AccessChain 53(s) 57
                              Store 62 60
              66:    6(float) Load 65(s.c)
              68:     67(ptr) AccessChain 53(s) 63
                              Store 68 66
              72:   10(fvec2) Load 71(s.d)
              74:     73(ptr) AccessChain 53(s) 69
                              Store 74 72
              77:     9(bool) Load 76(s.ff1)
              78:     61(ptr) AccessChain 53(s) 75
                              Store 78 77
              81:     9(bool) Load 80(s.ff2)
              82:     61(ptr) AccessChain 53(s) 79
                              Store 82 81
              85:     9(bool) Load 84(s.ff3)
              86:     61(ptr) AccessChain 53(s) 83
                              Store 86 85
              88:    7(fvec4) Load 87(s.ff4)
              89:      8(ptr) AccessChain 53(s) 33
                              Store 89 88
              93:    7(fvec4) Load 49(input)
                              Store 92(param) 93
              95:    11(IN_S) Load 53(s)
                              Store 94(param) 95
              96:    7(fvec4) FunctionCall 16(@PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41;) 92(param) 94(param)
                              Store 91(@entryPointOutput) 96
                              Return
                              FunctionEnd
16(@PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41;):    7(fvec4) Function None 13
       14(input):      8(ptr) FunctionParameter
           15(s):     12(ptr) FunctionParameter
              17:             Label
          21(s3):     20(ptr) Variable Function
           40(e):     39(ptr) Variable Function
          43(ce):     42(ptr) Variable Function
              22:      19(FS) Load 21(s3)
              23:      19(FS) Load 21(s3)
              24:   18(bvec3) CompositeExtract 22 0
              25:   18(bvec3) CompositeExtract 23 0
              26:   18(bvec3) LogicalEqual 24 25
              27:     9(bool) All 26
              34:      8(ptr) AccessChain 15(s) 33
              35:    7(fvec4) Load 34
              37:     36(ptr) AccessChain 30(s2) 32
                              Store 37 35
              44:     39(ptr) AccessChain 43(ce) 32
              45:   38(empty) Load 44
                              Store 40(e) 45
              46:    7(fvec4) Load 14(input)
                              ReturnValue 46
                              FunctionEnd
