Home | History | Annotate | Download | only in baseResults
      1 hlsl.structbuffer.frag
      2 Shader version: 500
      3 gl_FragCoord origin is upper left
      4 0:? Sequence
      5 0:12  Function Definition: @main(u1; ( temp 4-component vector of float)
      6 0:12    Function Parameters: 
      7 0:12      'pos' ( in uint)
      8 0:?     Sequence
      9 0:13      Sequence
     10 0:13        move second child to first child ( temp structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2})
     11 0:13          'mydata' ( temp structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2})
     12 0:13          indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2})
     13 0:13            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2})
     14 0:13              'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2} @data})
     15 0:13              Constant:
     16 0:13                0 (const uint)
     17 0:13            'pos' ( in uint)
     18 0:17      Sequence
     19 0:17        move second child to first child ( temp uint)
     20 0:17          'size' ( temp uint)
     21 0:17          array length ( temp uint)
     22 0:17            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2})
     23 0:17              'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2} @data})
     24 0:17              Constant:
     25 0:17                0 (const uint)
     26 0:17        move second child to first child ( temp uint)
     27 0:17          'stride' ( temp uint)
     28 0:17          Constant:
     29 0:17            32 (const uint)
     30 0:19      Test condition and select ( temp void)
     31 0:19        Condition
     32 0:19        test: direct index for structure ( temp bool)
     33 0:19          indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2})
     34 0:19            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2})
     35 0:19              'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2} @data})
     36 0:19              Constant:
     37 0:19                0 (const uint)
     38 0:19            'pos' ( in uint)
     39 0:19          Constant:
     40 0:19            1 (const int)
     41 0:19        true case
     42 0:20        Branch: Return with expression
     43 0:?           Construct vec4 ( temp 4-component vector of float)
     44 0:20            add ( temp 3-component vector of float)
     45 0:20              color: direct index for structure ( temp 3-component vector of float)
     46 0:20                indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2})
     47 0:20                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2})
     48 0:20                    'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2} @data})
     49 0:20                    Constant:
     50 0:20                      0 (const uint)
     51 0:20                  'pos' ( in uint)
     52 0:20                Constant:
     53 0:20                  0 (const int)
     54 0:20              indirect index (layout( row_major std430) buffer float)
     55 0:20                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of float)
     56 0:20                  'sbuf2' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
     57 0:20                  Constant:
     58 0:20                    0 (const uint)
     59 0:20                'pos' ( in uint)
     60 0:20            Constant:
     61 0:20              0.000000
     62 0:19        false case
     63 0:22        Branch: Return with expression
     64 0:22          Construct vec4 ( temp 4-component vector of float)
     65 0:22            add ( temp float)
     66 0:22              add ( temp float)
     67 0:22                direct index ( temp float)
     68 0:22                  color: direct index for structure ( temp 3-component vector of float)
     69 0:22                    'mydata' ( temp structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2})
     70 0:22                    Constant:
     71 0:22                      0 (const int)
     72 0:22                  Constant:
     73 0:22                    0 (const int)
     74 0:22                Convert uint to float ( temp float)
     75 0:22                  'size' ( temp uint)
     76 0:22              Convert uint to float ( temp float)
     77 0:22                'stride' ( temp uint)
     78 0:12  Function Definition: main( ( temp void)
     79 0:12    Function Parameters: 
     80 0:?     Sequence
     81 0:12      move second child to first child ( temp uint)
     82 0:?         'pos' ( temp uint)
     83 0:?         'pos' (layout( location=0) flat in uint)
     84 0:12      move second child to first child ( temp 4-component vector of float)
     85 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
     86 0:12        Function Call: @main(u1; ( temp 4-component vector of float)
     87 0:?           'pos' ( temp uint)
     88 0:?   Linker Objects
     89 0:?     'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2} @data})
     90 0:?     'sbuf2' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
     91 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
     92 0:?     'pos' (layout( location=0) flat in uint)
     93 
     94 
     95 Linked fragment stage:
     96 
     97 
     98 Shader version: 500
     99 gl_FragCoord origin is upper left
    100 0:? Sequence
    101 0:12  Function Definition: @main(u1; ( temp 4-component vector of float)
    102 0:12    Function Parameters: 
    103 0:12      'pos' ( in uint)
    104 0:?     Sequence
    105 0:13      Sequence
    106 0:13        move second child to first child ( temp structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2})
    107 0:13          'mydata' ( temp structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2})
    108 0:13          indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2})
    109 0:13            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2})
    110 0:13              'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2} @data})
    111 0:13              Constant:
    112 0:13                0 (const uint)
    113 0:13            'pos' ( in uint)
    114 0:17      Sequence
    115 0:17        move second child to first child ( temp uint)
    116 0:17          'size' ( temp uint)
    117 0:17          array length ( temp uint)
    118 0:17            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2})
    119 0:17              'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2} @data})
    120 0:17              Constant:
    121 0:17                0 (const uint)
    122 0:17        move second child to first child ( temp uint)
    123 0:17          'stride' ( temp uint)
    124 0:17          Constant:
    125 0:17            32 (const uint)
    126 0:19      Test condition and select ( temp void)
    127 0:19        Condition
    128 0:19        test: direct index for structure ( temp bool)
    129 0:19          indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2})
    130 0:19            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2})
    131 0:19              'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2} @data})
    132 0:19              Constant:
    133 0:19                0 (const uint)
    134 0:19            'pos' ( in uint)
    135 0:19          Constant:
    136 0:19            1 (const int)
    137 0:19        true case
    138 0:20        Branch: Return with expression
    139 0:?           Construct vec4 ( temp 4-component vector of float)
    140 0:20            add ( temp 3-component vector of float)
    141 0:20              color: direct index for structure ( temp 3-component vector of float)
    142 0:20                indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2})
    143 0:20                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2})
    144 0:20                    'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2} @data})
    145 0:20                    Constant:
    146 0:20                      0 (const uint)
    147 0:20                  'pos' ( in uint)
    148 0:20                Constant:
    149 0:20                  0 (const int)
    150 0:20              indirect index (layout( row_major std430) buffer float)
    151 0:20                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of float)
    152 0:20                  'sbuf2' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
    153 0:20                  Constant:
    154 0:20                    0 (const uint)
    155 0:20                'pos' ( in uint)
    156 0:20            Constant:
    157 0:20              0.000000
    158 0:19        false case
    159 0:22        Branch: Return with expression
    160 0:22          Construct vec4 ( temp 4-component vector of float)
    161 0:22            add ( temp float)
    162 0:22              add ( temp float)
    163 0:22                direct index ( temp float)
    164 0:22                  color: direct index for structure ( temp 3-component vector of float)
    165 0:22                    'mydata' ( temp structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2})
    166 0:22                    Constant:
    167 0:22                      0 (const int)
    168 0:22                  Constant:
    169 0:22                    0 (const int)
    170 0:22                Convert uint to float ( temp float)
    171 0:22                  'size' ( temp uint)
    172 0:22              Convert uint to float ( temp float)
    173 0:22                'stride' ( temp uint)
    174 0:12  Function Definition: main( ( temp void)
    175 0:12    Function Parameters: 
    176 0:?     Sequence
    177 0:12      move second child to first child ( temp uint)
    178 0:?         'pos' ( temp uint)
    179 0:?         'pos' (layout( location=0) flat in uint)
    180 0:12      move second child to first child ( temp 4-component vector of float)
    181 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
    182 0:12        Function Call: @main(u1; ( temp 4-component vector of float)
    183 0:?           'pos' ( temp uint)
    184 0:?   Linker Objects
    185 0:?     'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test,  temp bool test2} @data})
    186 0:?     'sbuf2' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
    187 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
    188 0:?     'pos' (layout( location=0) flat in uint)
    189 
    190 // Module Version 10000
    191 // Generated by (magic number): 80007
    192 // Id's are bound by 96
    193 
    194                               Capability Shader
    195                1:             ExtInstImport  "GLSL.std.450"
    196                               MemoryModel Logical GLSL450
    197                               EntryPoint Fragment 4  "main" 89 92
    198                               ExecutionMode 4 OriginUpperLeft
    199                               Source HLSL 500
    200                               Name 4  "main"
    201                               Name 12  "@main(u1;"
    202                               Name 11  "pos"
    203                               Name 16  "sb_t"
    204                               MemberName 16(sb_t) 0  "color"
    205                               MemberName 16(sb_t) 1  "test"
    206                               MemberName 16(sb_t) 2  "test2"
    207                               Name 18  "mydata"
    208                               Name 19  "sb_t"
    209                               MemberName 19(sb_t) 0  "color"
    210                               MemberName 19(sb_t) 1  "test"
    211                               MemberName 19(sb_t) 2  "test2"
    212                               Name 21  "sbuf"
    213                               MemberName 21(sbuf) 0  "@data"
    214                               Name 23  "sbuf"
    215                               Name 43  "size"
    216                               Name 45  "stride"
    217                               Name 59  "sbuf2"
    218                               MemberName 59(sbuf2) 0  "@data"
    219                               Name 61  "sbuf2"
    220                               Name 87  "pos"
    221                               Name 89  "pos"
    222                               Name 92  "@entryPointOutput"
    223                               Name 93  "param"
    224                               MemberDecorate 19(sb_t) 0 Offset 0
    225                               MemberDecorate 19(sb_t) 1 Offset 12
    226                               MemberDecorate 19(sb_t) 2 Offset 16
    227                               Decorate 20 ArrayStride 32
    228                               MemberDecorate 21(sbuf) 0 NonWritable
    229                               MemberDecorate 21(sbuf) 0 Offset 0
    230                               Decorate 21(sbuf) BufferBlock
    231                               Decorate 23(sbuf) DescriptorSet 0
    232                               Decorate 23(sbuf) Binding 10
    233                               Decorate 58 ArrayStride 4
    234                               MemberDecorate 59(sbuf2) 0 NonWritable
    235                               MemberDecorate 59(sbuf2) 0 Offset 0
    236                               Decorate 59(sbuf2) BufferBlock
    237                               Decorate 61(sbuf2) DescriptorSet 0
    238                               Decorate 61(sbuf2) Binding 0
    239                               Decorate 89(pos) Flat
    240                               Decorate 89(pos) Location 0
    241                               Decorate 92(@entryPointOutput) Location 0
    242                2:             TypeVoid
    243                3:             TypeFunction 2
    244                6:             TypeInt 32 0
    245                7:             TypePointer Function 6(int)
    246                8:             TypeFloat 32
    247                9:             TypeVector 8(float) 4
    248               10:             TypeFunction 9(fvec4) 7(ptr)
    249               14:             TypeVector 8(float) 3
    250               15:             TypeBool
    251         16(sb_t):             TypeStruct 14(fvec3) 15(bool) 15(bool)
    252               17:             TypePointer Function 16(sb_t)
    253         19(sb_t):             TypeStruct 14(fvec3) 6(int) 6(int)
    254               20:             TypeRuntimeArray 19(sb_t)
    255         21(sbuf):             TypeStruct 20
    256               22:             TypePointer Uniform 21(sbuf)
    257         23(sbuf):     22(ptr) Variable Uniform
    258               24:             TypeInt 32 1
    259               25:     24(int) Constant 0
    260               27:             TypePointer Uniform 19(sb_t)
    261               31:             TypePointer Function 14(fvec3)
    262               34:     24(int) Constant 1
    263               35:      6(int) Constant 0
    264               37:             TypePointer Function 15(bool)
    265               40:     24(int) Constant 2
    266               46:      6(int) Constant 32
    267               48:             TypePointer Uniform 6(int)
    268               55:             TypePointer Uniform 14(fvec3)
    269               58:             TypeRuntimeArray 8(float)
    270        59(sbuf2):             TypeStruct 58
    271               60:             TypePointer Uniform 59(sbuf2)
    272        61(sbuf2):     60(ptr) Variable Uniform
    273               63:             TypePointer Uniform 8(float)
    274               68:    8(float) Constant 0
    275               75:             TypePointer Function 8(float)
    276               88:             TypePointer Input 6(int)
    277          89(pos):     88(ptr) Variable Input
    278               91:             TypePointer Output 9(fvec4)
    279 92(@entryPointOutput):     91(ptr) Variable Output
    280          4(main):           2 Function None 3
    281                5:             Label
    282          87(pos):      7(ptr) Variable Function
    283        93(param):      7(ptr) Variable Function
    284               90:      6(int) Load 89(pos)
    285                               Store 87(pos) 90
    286               94:      6(int) Load 87(pos)
    287                               Store 93(param) 94
    288               95:    9(fvec4) FunctionCall 12(@main(u1;) 93(param)
    289                               Store 92(@entryPointOutput) 95
    290                               Return
    291                               FunctionEnd
    292    12(@main(u1;):    9(fvec4) Function None 10
    293          11(pos):      7(ptr) FunctionParameter
    294               13:             Label
    295       18(mydata):     17(ptr) Variable Function
    296         43(size):      7(ptr) Variable Function
    297       45(stride):      7(ptr) Variable Function
    298               26:      6(int) Load 11(pos)
    299               28:     27(ptr) AccessChain 23(sbuf) 25 26
    300               29:    19(sb_t) Load 28
    301               30:   14(fvec3) CompositeExtract 29 0
    302               32:     31(ptr) AccessChain 18(mydata) 25
    303                               Store 32 30
    304               33:      6(int) CompositeExtract 29 1
    305               36:    15(bool) INotEqual 33 35
    306               38:     37(ptr) AccessChain 18(mydata) 34
    307                               Store 38 36
    308               39:      6(int) CompositeExtract 29 2
    309               41:    15(bool) INotEqual 39 35
    310               42:     37(ptr) AccessChain 18(mydata) 40
    311                               Store 42 41
    312               44:      6(int) ArrayLength 23(sbuf) 0
    313                               Store 43(size) 44
    314                               Store 45(stride) 46
    315               47:      6(int) Load 11(pos)
    316               49:     48(ptr) AccessChain 23(sbuf) 25 47 34
    317               50:      6(int) Load 49
    318               51:    15(bool) INotEqual 50 35
    319                               SelectionMerge 53 None
    320                               BranchConditional 51 52 74
    321               52:               Label
    322               54:      6(int)   Load 11(pos)
    323               56:     55(ptr)   AccessChain 23(sbuf) 25 54 25
    324               57:   14(fvec3)   Load 56
    325               62:      6(int)   Load 11(pos)
    326               64:     63(ptr)   AccessChain 61(sbuf2) 25 62
    327               65:    8(float)   Load 64
    328               66:   14(fvec3)   CompositeConstruct 65 65 65
    329               67:   14(fvec3)   FAdd 57 66
    330               69:    8(float)   CompositeExtract 67 0
    331               70:    8(float)   CompositeExtract 67 1
    332               71:    8(float)   CompositeExtract 67 2
    333               72:    9(fvec4)   CompositeConstruct 69 70 71 68
    334                                 ReturnValue 72
    335               74:               Label
    336               76:     75(ptr)   AccessChain 18(mydata) 25 35
    337               77:    8(float)   Load 76
    338               78:      6(int)   Load 43(size)
    339               79:    8(float)   ConvertUToF 78
    340               80:    8(float)   FAdd 77 79
    341               81:      6(int)   Load 45(stride)
    342               82:    8(float)   ConvertUToF 81
    343               83:    8(float)   FAdd 80 82
    344               84:    9(fvec4)   CompositeConstruct 83 83 83 83
    345                                 ReturnValue 84
    346               53:             Label
    347               86:    9(fvec4) Undef
    348                               ReturnValue 86
    349                               FunctionEnd
    350