Home | History | Annotate | Download | only in baseResults
      1 hlsl.struct.frag
      2 WARNING: 0:26: 'register' : ignoring shader_profile 
      3 WARNING: 0:27: 'register' : ignoring shader_profile 
      4 WARNING: 0:30: 'register' : ignoring shader_profile 
      5 
      6 Shader version: 500
      7 gl_FragCoord origin is upper left
      8 0:? Sequence
      9 0:40  Function Definition: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; ( temp 4-component vector of float)
     10 0:40    Function Parameters: 
     11 0:40      'input' ( in 4-component vector of float)
     12 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})
     13 0:?     Sequence
     14 0:45      Compare Equal ( temp bool)
     15 0:45        's3' ( temp structure{ temp 3-component vector of bool b3})
     16 0:45        's3' ( temp structure{ temp 3-component vector of bool b3})
     17 0:46      move second child to first child ( temp 4-component vector of float)
     18 0:46        i: direct index for structure ( temp 4-component vector of float)
     19 0:46          's2' ( global structure{ temp 4-component vector of float i})
     20 0:46          Constant:
     21 0:46            0 (const int)
     22 0:46        ff4: direct index for structure ( temp 4-component vector of float)
     23 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})
     24 0:46          Constant:
     25 0:46            7 (const int)
     26 0:50      move second child to first child ( temp structure{})
     27 0:50        'e' ( temp structure{})
     28 0:50        e: direct index for structure ( temp structure{})
     29 0:50          'ce' ( temp structure{ temp structure{} e})
     30 0:50          Constant:
     31 0:50            0 (const int)
     32 0:52      Branch: Return with expression
     33 0:52        'input' ( in 4-component vector of float)
     34 0:40  Function Definition: PixelShaderFunction( ( temp void)
     35 0:40    Function Parameters: 
     36 0:?     Sequence
     37 0:40      move second child to first child ( temp 4-component vector of float)
     38 0:?         'input' ( temp 4-component vector of float)
     39 0:?         'input' (layout( location=0) in 4-component vector of float)
     40 0:40      Sequence
     41 0:40        move second child to first child ( temp 4-component vector of float)
     42 0:40          a: direct index for structure ( temp 4-component vector of float)
     43 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})
     44 0:40            Constant:
     45 0:40              0 (const int)
     46 0:?           's.a' (layout( location=1) smooth in 4-component vector of float)
     47 0:40        move second child to first child ( temp bool)
     48 0:40          b: direct index for structure ( temp bool)
     49 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})
     50 0:40            Constant:
     51 0:40              1 (const int)
     52 0:?           's.b' (layout( location=2) flat in bool)
     53 0:40        move second child to first child ( temp 1-component vector of float)
     54 0:40          c: direct index for structure ( temp 1-component vector of float)
     55 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})
     56 0:40            Constant:
     57 0:40              2 (const int)
     58 0:?           's.c' (layout( location=3) centroid noperspective in 1-component vector of float)
     59 0:40        move second child to first child ( temp 2-component vector of float)
     60 0:40          d: direct index for structure ( temp 2-component vector of float)
     61 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})
     62 0:40            Constant:
     63 0:40              3 (const int)
     64 0:?           's.d' (layout( location=4) centroid sample in 2-component vector of float)
     65 0:40        move second child to first child ( temp bool)
     66 0:40          ff1: direct index for structure ( temp bool)
     67 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})
     68 0:40            Constant:
     69 0:40              4 (const int)
     70 0:?           's.ff1' ( flat in bool Face)
     71 0:40        move second child to first child ( temp bool)
     72 0:40          ff2: direct index for structure ( temp bool)
     73 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})
     74 0:40            Constant:
     75 0:40              5 (const int)
     76 0:?           's.ff2' (layout( location=5) flat in bool)
     77 0:40        move second child to first child ( temp bool)
     78 0:40          ff3: direct index for structure ( temp bool)
     79 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})
     80 0:40            Constant:
     81 0:40              6 (const int)
     82 0:?           's.ff3' (layout( location=6) flat in bool)
     83 0:40        move second child to first child ( temp 4-component vector of float)
     84 0:40          ff4: direct index for structure ( temp 4-component vector of float)
     85 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})
     86 0:40            Constant:
     87 0:40              7 (const int)
     88 0:?           's.ff4' (layout( location=7) in 4-component vector of float)
     89 0:40      move second child to first child ( temp 4-component vector of float)
     90 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
     91 0:40        Function Call: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; ( temp 4-component vector of float)
     92 0:?           'input' ( temp 4-component vector of float)
     93 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})
     94 0:?   Linker Objects
     95 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})
     96 0:?     's2' ( global structure{ temp 4-component vector of float i})
     97 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
     98 0:?     'input' (layout( location=0) in 4-component vector of float)
     99 0:?     's.ff1' ( flat in bool Face)
    100 0:?     's.a' (layout( location=1) smooth in 4-component vector of float)
    101 0:?     's.b' (layout( location=2) flat in bool)
    102 0:?     's.c' (layout( location=3) centroid noperspective in 1-component vector of float)
    103 0:?     's.d' (layout( location=4) centroid sample in 2-component vector of float)
    104 0:?     's.ff2' (layout( location=5) flat in bool)
    105 0:?     's.ff3' (layout( location=6) flat in bool)
    106 0:?     's.ff4' (layout( location=7) in 4-component vector of float)
    107 
    108 
    109 Linked fragment stage:
    110 
    111 
    112 Shader version: 500
    113 gl_FragCoord origin is upper left
    114 0:? Sequence
    115 0:40  Function Definition: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; ( temp 4-component vector of float)
    116 0:40    Function Parameters: 
    117 0:40      'input' ( in 4-component vector of float)
    118 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})
    119 0:?     Sequence
    120 0:45      Compare Equal ( temp bool)
    121 0:45        's3' ( temp structure{ temp 3-component vector of bool b3})
    122 0:45        's3' ( temp structure{ temp 3-component vector of bool b3})
    123 0:46      move second child to first child ( temp 4-component vector of float)
    124 0:46        i: direct index for structure ( temp 4-component vector of float)
    125 0:46          's2' ( global structure{ temp 4-component vector of float i})
    126 0:46          Constant:
    127 0:46            0 (const int)
    128 0:46        ff4: direct index for structure ( temp 4-component vector of float)
    129 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})
    130 0:46          Constant:
    131 0:46            7 (const int)
    132 0:50      move second child to first child ( temp structure{})
    133 0:50        'e' ( temp structure{})
    134 0:50        e: direct index for structure ( temp structure{})
    135 0:50          'ce' ( temp structure{ temp structure{} e})
    136 0:50          Constant:
    137 0:50            0 (const int)
    138 0:52      Branch: Return with expression
    139 0:52        'input' ( in 4-component vector of float)
    140 0:40  Function Definition: PixelShaderFunction( ( temp void)
    141 0:40    Function Parameters: 
    142 0:?     Sequence
    143 0:40      move second child to first child ( temp 4-component vector of float)
    144 0:?         'input' ( temp 4-component vector of float)
    145 0:?         'input' (layout( location=0) in 4-component vector of float)
    146 0:40      Sequence
    147 0:40        move second child to first child ( temp 4-component vector of float)
    148 0:40          a: direct index for structure ( temp 4-component vector of float)
    149 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})
    150 0:40            Constant:
    151 0:40              0 (const int)
    152 0:?           's.a' (layout( location=1) smooth in 4-component vector of float)
    153 0:40        move second child to first child ( temp bool)
    154 0:40          b: direct index for structure ( temp bool)
    155 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})
    156 0:40            Constant:
    157 0:40              1 (const int)
    158 0:?           's.b' (layout( location=2) flat in bool)
    159 0:40        move second child to first child ( temp 1-component vector of float)
    160 0:40          c: direct index for structure ( temp 1-component vector of float)
    161 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})
    162 0:40            Constant:
    163 0:40              2 (const int)
    164 0:?           's.c' (layout( location=3) centroid noperspective in 1-component vector of float)
    165 0:40        move second child to first child ( temp 2-component vector of float)
    166 0:40          d: direct index for structure ( temp 2-component vector of float)
    167 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})
    168 0:40            Constant:
    169 0:40              3 (const int)
    170 0:?           's.d' (layout( location=4) centroid sample in 2-component vector of float)
    171 0:40        move second child to first child ( temp bool)
    172 0:40          ff1: direct index for structure ( temp bool)
    173 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})
    174 0:40            Constant:
    175 0:40              4 (const int)
    176 0:?           's.ff1' ( flat in bool Face)
    177 0:40        move second child to first child ( temp bool)
    178 0:40          ff2: direct index for structure ( temp bool)
    179 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})
    180 0:40            Constant:
    181 0:40              5 (const int)
    182 0:?           's.ff2' (layout( location=5) flat in bool)
    183 0:40        move second child to first child ( temp bool)
    184 0:40          ff3: direct index for structure ( temp bool)
    185 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})
    186 0:40            Constant:
    187 0:40              6 (const int)
    188 0:?           's.ff3' (layout( location=6) flat in bool)
    189 0:40        move second child to first child ( temp 4-component vector of float)
    190 0:40          ff4: direct index for structure ( temp 4-component vector of float)
    191 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})
    192 0:40            Constant:
    193 0:40              7 (const int)
    194 0:?           's.ff4' (layout( location=7) in 4-component vector of float)
    195 0:40      move second child to first child ( temp 4-component vector of float)
    196 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
    197 0:40        Function Call: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; ( temp 4-component vector of float)
    198 0:?           'input' ( temp 4-component vector of float)
    199 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})
    200 0:?   Linker Objects
    201 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})
    202 0:?     's2' ( global structure{ temp 4-component vector of float i})
    203 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
    204 0:?     'input' (layout( location=0) in 4-component vector of float)
    205 0:?     's.ff1' ( flat in bool Face)
    206 0:?     's.a' (layout( location=1) smooth in 4-component vector of float)
    207 0:?     's.b' (layout( location=2) flat in bool)
    208 0:?     's.c' (layout( location=3) centroid noperspective in 1-component vector of float)
    209 0:?     's.d' (layout( location=4) centroid sample in 2-component vector of float)
    210 0:?     's.ff2' (layout( location=5) flat in bool)
    211 0:?     's.ff3' (layout( location=6) flat in bool)
    212 0:?     's.ff4' (layout( location=7) in 4-component vector of float)
    213 
    214 Validation failed
    215 // Module Version 10000
    216 // Generated by (magic number): 80007
    217 // Id's are bound by 102
    218 
    219                               Capability Shader
    220                1:             ExtInstImport  "GLSL.std.450"
    221                               MemoryModel Logical GLSL450
    222                               EntryPoint Fragment 4  "PixelShaderFunction" 51 54 59 65 71 76 80 84 87 91
    223                               ExecutionMode 4 OriginUpperLeft
    224                               Source HLSL 500
    225                               Name 4  "PixelShaderFunction"
    226                               Name 11  "IN_S"
    227                               MemberName 11(IN_S) 0  "a"
    228                               MemberName 11(IN_S) 1  "b"
    229                               MemberName 11(IN_S) 2  "c"
    230                               MemberName 11(IN_S) 3  "d"
    231                               MemberName 11(IN_S) 4  "ff1"
    232                               MemberName 11(IN_S) 5  "ff2"
    233                               MemberName 11(IN_S) 6  "ff3"
    234                               MemberName 11(IN_S) 7  "ff4"
    235                               Name 16  "@PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41;"
    236                               Name 14  "input"
    237                               Name 15  "s"
    238                               Name 19  "FS"
    239                               MemberName 19(FS) 0  "b3"
    240                               Name 21  "s3"
    241                               Name 28  ""
    242                               MemberName 28 0  "i"
    243                               Name 30  "s2"
    244                               Name 38  "empty"
    245                               Name 40  "e"
    246                               Name 41  "containEmpty"
    247                               MemberName 41(containEmpty) 0  "e"
    248                               Name 43  "ce"
    249                               Name 49  "input"
    250                               Name 51  "input"
    251                               Name 53  "s"
    252                               Name 54  "s.a"
    253                               Name 59  "s.b"
    254                               Name 65  "s.c"
    255                               Name 71  "s.d"
    256                               Name 76  "s.ff1"
    257                               Name 80  "s.ff2"
    258                               Name 84  "s.ff3"
    259                               Name 87  "s.ff4"
    260                               Name 91  "@entryPointOutput"
    261                               Name 92  "param"
    262                               Name 94  "param"
    263                               Name 98  "myS"
    264                               MemberName 98(myS) 0  "b"
    265                               MemberName 98(myS) 1  "c"
    266                               MemberName 98(myS) 2  "a"
    267                               MemberName 98(myS) 3  "d"
    268                               Name 99  "$Global"
    269                               MemberName 99($Global) 0  "s1"
    270                               MemberName 99($Global) 1  "ff5"
    271                               MemberName 99($Global) 2  "ff6"
    272                               Name 101  ""
    273                               Decorate 51(input) Location 0
    274                               Decorate 54(s.a) Location 1
    275                               Decorate 59(s.b) Flat
    276                               Decorate 59(s.b) Location 2
    277                               Decorate 65(s.c) NoPerspective
    278                               Decorate 65(s.c) Centroid
    279                               Decorate 65(s.c) Location 3
    280                               Decorate 71(s.d) Centroid
    281                               Decorate 71(s.d) Location 4
    282                               Decorate 76(s.ff1) Flat
    283                               Decorate 76(s.ff1) BuiltIn FrontFacing
    284                               Decorate 80(s.ff2) Flat
    285                               Decorate 80(s.ff2) Location 5
    286                               Decorate 84(s.ff3) Flat
    287                               Decorate 84(s.ff3) Location 6
    288                               Decorate 87(s.ff4) Location 7
    289                               Decorate 91(@entryPointOutput) Location 0
    290                               MemberDecorate 98(myS) 0 Offset 0
    291                               MemberDecorate 98(myS) 1 Offset 4
    292                               MemberDecorate 98(myS) 2 Offset 16
    293                               MemberDecorate 98(myS) 3 Offset 32
    294                               MemberDecorate 99($Global) 0 Offset 0
    295                               MemberDecorate 99($Global) 1 Offset 1620
    296                               MemberDecorate 99($Global) 2 Offset 1636
    297                               Decorate 99($Global) Block
    298                               Decorate 101 DescriptorSet 0
    299                               Decorate 101 Binding 0
    300                2:             TypeVoid
    301                3:             TypeFunction 2
    302                6:             TypeFloat 32
    303                7:             TypeVector 6(float) 4
    304                8:             TypePointer Function 7(fvec4)
    305                9:             TypeBool
    306               10:             TypeVector 6(float) 2
    307         11(IN_S):             TypeStruct 7(fvec4) 9(bool) 6(float) 10(fvec2) 9(bool) 9(bool) 9(bool) 7(fvec4)
    308               12:             TypePointer Function 11(IN_S)
    309               13:             TypeFunction 7(fvec4) 8(ptr) 12(ptr)
    310               18:             TypeVector 9(bool) 3
    311           19(FS):             TypeStruct 18(bvec3)
    312               20:             TypePointer Function 19(FS)
    313               28:             TypeStruct 7(fvec4)
    314               29:             TypePointer Private 28(struct)
    315           30(s2):     29(ptr) Variable Private
    316               31:             TypeInt 32 1
    317               32:     31(int) Constant 0
    318               33:     31(int) Constant 7
    319               36:             TypePointer Private 7(fvec4)
    320        38(empty):             TypeStruct
    321               39:             TypePointer Function 38(empty)
    322 41(containEmpty):             TypeStruct 38(empty)
    323               42:             TypePointer Function 41(containEmpty)
    324               50:             TypePointer Input 7(fvec4)
    325        51(input):     50(ptr) Variable Input
    326          54(s.a):     50(ptr) Variable Input
    327               57:     31(int) Constant 1
    328               58:             TypePointer Input 9(bool)
    329          59(s.b):     58(ptr) Variable Input
    330               61:             TypePointer Function 9(bool)
    331               63:     31(int) Constant 2
    332               64:             TypePointer Input 6(float)
    333          65(s.c):     64(ptr) Variable Input
    334               67:             TypePointer Function 6(float)
    335               69:     31(int) Constant 3
    336               70:             TypePointer Input 10(fvec2)
    337          71(s.d):     70(ptr) Variable Input
    338               73:             TypePointer Function 10(fvec2)
    339               75:     31(int) Constant 4
    340        76(s.ff1):     58(ptr) Variable Input
    341               79:     31(int) Constant 5
    342        80(s.ff2):     58(ptr) Variable Input
    343               83:     31(int) Constant 6
    344        84(s.ff3):     58(ptr) Variable Input
    345        87(s.ff4):     50(ptr) Variable Input
    346               90:             TypePointer Output 7(fvec4)
    347 91(@entryPointOutput):     90(ptr) Variable Output
    348               97:             TypeInt 32 0
    349          98(myS):             TypeStruct 97(int) 97(int) 7(fvec4) 7(fvec4)
    350      99($Global):             TypeStruct 98(myS) 6(float) 6(float)
    351              100:             TypePointer Uniform 99($Global)
    352              101:    100(ptr) Variable Uniform
    353 4(PixelShaderFunction):           2 Function None 3
    354                5:             Label
    355        49(input):      8(ptr) Variable Function
    356            53(s):     12(ptr) Variable Function
    357        92(param):      8(ptr) Variable Function
    358        94(param):     12(ptr) Variable Function
    359               52:    7(fvec4) Load 51(input)
    360                               Store 49(input) 52
    361               55:    7(fvec4) Load 54(s.a)
    362               56:      8(ptr) AccessChain 53(s) 32
    363                               Store 56 55
    364               60:     9(bool) Load 59(s.b)
    365               62:     61(ptr) AccessChain 53(s) 57
    366                               Store 62 60
    367               66:    6(float) Load 65(s.c)
    368               68:     67(ptr) AccessChain 53(s) 63
    369                               Store 68 66
    370               72:   10(fvec2) Load 71(s.d)
    371               74:     73(ptr) AccessChain 53(s) 69
    372                               Store 74 72
    373               77:     9(bool) Load 76(s.ff1)
    374               78:     61(ptr) AccessChain 53(s) 75
    375                               Store 78 77
    376               81:     9(bool) Load 80(s.ff2)
    377               82:     61(ptr) AccessChain 53(s) 79
    378                               Store 82 81
    379               85:     9(bool) Load 84(s.ff3)
    380               86:     61(ptr) AccessChain 53(s) 83
    381                               Store 86 85
    382               88:    7(fvec4) Load 87(s.ff4)
    383               89:      8(ptr) AccessChain 53(s) 33
    384                               Store 89 88
    385               93:    7(fvec4) Load 49(input)
    386                               Store 92(param) 93
    387               95:    11(IN_S) Load 53(s)
    388                               Store 94(param) 95
    389               96:    7(fvec4) FunctionCall 16(@PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41;) 92(param) 94(param)
    390                               Store 91(@entryPointOutput) 96
    391                               Return
    392                               FunctionEnd
    393 16(@PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41;):    7(fvec4) Function None 13
    394        14(input):      8(ptr) FunctionParameter
    395            15(s):     12(ptr) FunctionParameter
    396               17:             Label
    397           21(s3):     20(ptr) Variable Function
    398            40(e):     39(ptr) Variable Function
    399           43(ce):     42(ptr) Variable Function
    400               22:      19(FS) Load 21(s3)
    401               23:      19(FS) Load 21(s3)
    402               24:   18(bvec3) CompositeExtract 22 0
    403               25:   18(bvec3) CompositeExtract 23 0
    404               26:   18(bvec3) LogicalEqual 24 25
    405               27:     9(bool) All 26
    406               34:      8(ptr) AccessChain 15(s) 33
    407               35:    7(fvec4) Load 34
    408               37:     36(ptr) AccessChain 30(s2) 32
    409                               Store 37 35
    410               44:     39(ptr) AccessChain 43(ce) 32
    411               45:   38(empty) Load 44
    412                               Store 40(e) 45
    413               46:    7(fvec4) Load 14(input)
    414                               ReturnValue 46
    415                               FunctionEnd
    416