hlsl.structarray.flatten.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:23  Function Definition: @main(struct-PS_OUTPUT-vf41; ( temp void)
0:23    Function Parameters: 
0:23      'ps_output' ( out structure{ temp 4-component vector of float color})
0:?     Sequence
0:24      move second child to first child ( temp 4-component vector of float)
0:24        color: direct index for structure ( temp 4-component vector of float)
0:24          'ps_output' ( out structure{ temp 4-component vector of float color})
0:24          Constant:
0:24            0 (const int)
0:26        add ( temp 4-component vector of float)
0:25          add ( temp 4-component vector of float)
0:25            texture ( temp 4-component vector of float)
0:25              Construct combined texture-sampler ( temp sampler1D)
0:?                 'g_texdata.tex' ( uniform texture1D)
0:?                 'g_texdata.samp' ( uniform sampler)
0:25              Constant:
0:25                0.500000
0:26            texture ( temp 4-component vector of float)
0:26              Construct combined texture-sampler ( temp sampler1D)
0:?                 'g_texdata_array[1].tex' ( uniform texture1D)
0:?                 'g_texdata_array[1].samp' ( uniform sampler)
0:26              Constant:
0:26                0.400000
0:27          texture ( temp 4-component vector of float)
0:27            Construct combined texture-sampler ( temp sampler1D)
0:27              direct index ( temp texture1D)
0:?                 'g_texdata_array2[1].tex' ( uniform 2-element array of texture1D)
0:27                Constant:
0:27                  0 (const int)
0:27              direct index ( temp sampler)
0:?                 'g_texdata_array2[1].samp' ( uniform 2-element array of sampler)
0:27                Constant:
0:27                  0 (const int)
0:27            Constant:
0:27              0.300000
0:23  Function Definition: main( ( temp void)
0:23    Function Parameters: 
0:?     Sequence
0:23      Function Call: @main(struct-PS_OUTPUT-vf41; ( temp void)
0:?         'ps_output' ( temp structure{ temp 4-component vector of float color})
0:23      Sequence
0:23        move second child to first child ( temp 4-component vector of float)
0:?           'ps_output.color' (layout( location=0) out 4-component vector of float)
0:23          color: direct index for structure ( temp 4-component vector of float)
0:?             'ps_output' ( temp structure{ temp 4-component vector of float color})
0:23            Constant:
0:23              0 (const int)
0:?   Linker Objects
0:?     'g_samp' ( uniform sampler)
0:?     'g_tex' ( uniform texture1D)
0:?     'g_texdata.samp' ( uniform sampler)
0:?     'g_texdata.tex' ( uniform texture1D)
0:?     'g_texdata.nonopaque_thing' ( uniform int)
0:?     'g_texdata_array[0].samp' ( uniform sampler)
0:?     'g_texdata_array[0].tex' ( uniform texture1D)
0:?     'g_texdata_array[0].nonopaque_thing' ( uniform int)
0:?     'g_texdata_array[1].samp' ( uniform sampler)
0:?     'g_texdata_array[1].tex' ( uniform texture1D)
0:?     'g_texdata_array[1].nonopaque_thing' ( uniform int)
0:?     'g_texdata_array[2].samp' ( uniform sampler)
0:?     'g_texdata_array[2].tex' ( uniform texture1D)
0:?     'g_texdata_array[2].nonopaque_thing' ( uniform int)
0:?     'g_texdata_array2[0].samp' ( uniform 2-element array of sampler)
0:?     'g_texdata_array2[0].tex' ( uniform 2-element array of texture1D)
0:?     'g_texdata_array2[0].nonopaque_thing' ( uniform int)
0:?     'g_texdata_array2[1].samp' ( uniform 2-element array of sampler)
0:?     'g_texdata_array2[1].tex' ( uniform 2-element array of texture1D)
0:?     'g_texdata_array2[1].nonopaque_thing' ( uniform int)
0:?     'g_texdata_array2[2].samp' ( uniform 2-element array of sampler)
0:?     'g_texdata_array2[2].tex' ( uniform 2-element array of texture1D)
0:?     'g_texdata_array2[2].nonopaque_thing' ( uniform int)
0:?     'ps_output.color' (layout( location=0) out 4-component vector of float)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:23  Function Definition: @main(struct-PS_OUTPUT-vf41; ( temp void)
0:23    Function Parameters: 
0:23      'ps_output' ( out structure{ temp 4-component vector of float color})
0:?     Sequence
0:24      move second child to first child ( temp 4-component vector of float)
0:24        color: direct index for structure ( temp 4-component vector of float)
0:24          'ps_output' ( out structure{ temp 4-component vector of float color})
0:24          Constant:
0:24            0 (const int)
0:26        add ( temp 4-component vector of float)
0:25          add ( temp 4-component vector of float)
0:25            texture ( temp 4-component vector of float)
0:25              Construct combined texture-sampler ( temp sampler1D)
0:?                 'g_texdata.tex' ( uniform texture1D)
0:?                 'g_texdata.samp' ( uniform sampler)
0:25              Constant:
0:25                0.500000
0:26            texture ( temp 4-component vector of float)
0:26              Construct combined texture-sampler ( temp sampler1D)
0:?                 'g_texdata_array[1].tex' ( uniform texture1D)
0:?                 'g_texdata_array[1].samp' ( uniform sampler)
0:26              Constant:
0:26                0.400000
0:27          texture ( temp 4-component vector of float)
0:27            Construct combined texture-sampler ( temp sampler1D)
0:27              direct index ( temp texture1D)
0:?                 'g_texdata_array2[1].tex' ( uniform 2-element array of texture1D)
0:27                Constant:
0:27                  0 (const int)
0:27              direct index ( temp sampler)
0:?                 'g_texdata_array2[1].samp' ( uniform 2-element array of sampler)
0:27                Constant:
0:27                  0 (const int)
0:27            Constant:
0:27              0.300000
0:23  Function Definition: main( ( temp void)
0:23    Function Parameters: 
0:?     Sequence
0:23      Function Call: @main(struct-PS_OUTPUT-vf41; ( temp void)
0:?         'ps_output' ( temp structure{ temp 4-component vector of float color})
0:23      Sequence
0:23        move second child to first child ( temp 4-component vector of float)
0:?           'ps_output.color' (layout( location=0) out 4-component vector of float)
0:23          color: direct index for structure ( temp 4-component vector of float)
0:?             'ps_output' ( temp structure{ temp 4-component vector of float color})
0:23            Constant:
0:23              0 (const int)
0:?   Linker Objects
0:?     'g_samp' ( uniform sampler)
0:?     'g_tex' ( uniform texture1D)
0:?     'g_texdata.samp' ( uniform sampler)
0:?     'g_texdata.tex' ( uniform texture1D)
0:?     'g_texdata.nonopaque_thing' ( uniform int)
0:?     'g_texdata_array[0].samp' ( uniform sampler)
0:?     'g_texdata_array[0].tex' ( uniform texture1D)
0:?     'g_texdata_array[0].nonopaque_thing' ( uniform int)
0:?     'g_texdata_array[1].samp' ( uniform sampler)
0:?     'g_texdata_array[1].tex' ( uniform texture1D)
0:?     'g_texdata_array[1].nonopaque_thing' ( uniform int)
0:?     'g_texdata_array[2].samp' ( uniform sampler)
0:?     'g_texdata_array[2].tex' ( uniform texture1D)
0:?     'g_texdata_array[2].nonopaque_thing' ( uniform int)
0:?     'g_texdata_array2[0].samp' ( uniform 2-element array of sampler)
0:?     'g_texdata_array2[0].tex' ( uniform 2-element array of texture1D)
0:?     'g_texdata_array2[0].nonopaque_thing' ( uniform int)
0:?     'g_texdata_array2[1].samp' ( uniform 2-element array of sampler)
0:?     'g_texdata_array2[1].tex' ( uniform 2-element array of texture1D)
0:?     'g_texdata_array2[1].nonopaque_thing' ( uniform int)
0:?     'g_texdata_array2[2].samp' ( uniform 2-element array of sampler)
0:?     'g_texdata_array2[2].tex' ( uniform 2-element array of texture1D)
0:?     'g_texdata_array2[2].nonopaque_thing' ( uniform int)
0:?     'ps_output.color' (layout( location=0) out 4-component vector of float)

Validation failed
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 80

                              Capability Shader
                              Capability Sampled1D
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 59
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 8  "PS_OUTPUT"
                              MemberName 8(PS_OUTPUT) 0  "color"
                              Name 12  "@main(struct-PS_OUTPUT-vf41;"
                              Name 11  "ps_output"
                              Name 18  "g_texdata.tex"
                              Name 22  "g_texdata.samp"
                              Name 28  "g_texdata_array[1].tex"
                              Name 30  "g_texdata_array[1].samp"
                              Name 40  "g_texdata_array2[1].tex"
                              Name 45  "g_texdata_array2[1].samp"
                              Name 54  "ps_output"
                              Name 55  "param"
                              Name 59  "ps_output.color"
                              Name 62  "g_samp"
                              Name 63  "g_tex"
                              Name 65  "g_texdata.nonopaque_thing"
                              Name 66  "g_texdata_array[0].samp"
                              Name 67  "g_texdata_array[0].tex"
                              Name 68  "g_texdata_array[0].nonopaque_thing"
                              Name 69  "g_texdata_array[1].nonopaque_thing"
                              Name 70  "g_texdata_array[2].samp"
                              Name 71  "g_texdata_array[2].tex"
                              Name 72  "g_texdata_array[2].nonopaque_thing"
                              Name 73  "g_texdata_array2[0].samp"
                              Name 74  "g_texdata_array2[0].tex"
                              Name 75  "g_texdata_array2[0].nonopaque_thing"
                              Name 76  "g_texdata_array2[1].nonopaque_thing"
                              Name 77  "g_texdata_array2[2].samp"
                              Name 78  "g_texdata_array2[2].tex"
                              Name 79  "g_texdata_array2[2].nonopaque_thing"
                              Decorate 18(g_texdata.tex) DescriptorSet 0
                              Decorate 18(g_texdata.tex) Binding 0
                              Decorate 22(g_texdata.samp) DescriptorSet 0
                              Decorate 22(g_texdata.samp) Binding 0
                              Decorate 28(g_texdata_array[1].tex) DescriptorSet 0
                              Decorate 28(g_texdata_array[1].tex) Binding 0
                              Decorate 30(g_texdata_array[1].samp) DescriptorSet 0
                              Decorate 30(g_texdata_array[1].samp) Binding 0
                              Decorate 40(g_texdata_array2[1].tex) DescriptorSet 0
                              Decorate 40(g_texdata_array2[1].tex) Binding 0
                              Decorate 45(g_texdata_array2[1].samp) DescriptorSet 0
                              Decorate 45(g_texdata_array2[1].samp) Binding 0
                              Decorate 59(ps_output.color) Location 0
                              Decorate 62(g_samp) DescriptorSet 0
                              Decorate 62(g_samp) Binding 0
                              Decorate 63(g_tex) DescriptorSet 0
                              Decorate 63(g_tex) Binding 0
                              Decorate 66(g_texdata_array[0].samp) DescriptorSet 0
                              Decorate 66(g_texdata_array[0].samp) Binding 0
                              Decorate 67(g_texdata_array[0].tex) DescriptorSet 0
                              Decorate 67(g_texdata_array[0].tex) Binding 0
                              Decorate 70(g_texdata_array[2].samp) DescriptorSet 0
                              Decorate 70(g_texdata_array[2].samp) Binding 0
                              Decorate 71(g_texdata_array[2].tex) DescriptorSet 0
                              Decorate 71(g_texdata_array[2].tex) Binding 0
                              Decorate 73(g_texdata_array2[0].samp) DescriptorSet 0
                              Decorate 73(g_texdata_array2[0].samp) Binding 0
                              Decorate 74(g_texdata_array2[0].tex) DescriptorSet 0
                              Decorate 74(g_texdata_array2[0].tex) Binding 0
                              Decorate 77(g_texdata_array2[2].samp) DescriptorSet 0
                              Decorate 77(g_texdata_array2[2].samp) Binding 0
                              Decorate 78(g_texdata_array2[2].tex) DescriptorSet 0
                              Decorate 78(g_texdata_array2[2].tex) Binding 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
    8(PS_OUTPUT):             TypeStruct 7(fvec4)
               9:             TypePointer Function 8(PS_OUTPUT)
              10:             TypeFunction 2 9(ptr)
              14:             TypeInt 32 1
              15:     14(int) Constant 0
              16:             TypeImage 6(float) 1D sampled format:Unknown
              17:             TypePointer UniformConstant 16
18(g_texdata.tex):     17(ptr) Variable UniformConstant
              20:             TypeSampler
              21:             TypePointer UniformConstant 20
22(g_texdata.samp):     21(ptr) Variable UniformConstant
              24:             TypeSampledImage 16
              26:    6(float) Constant 1056964608
28(g_texdata_array[1].tex):     17(ptr) Variable UniformConstant
30(g_texdata_array[1].samp):     21(ptr) Variable UniformConstant
              33:    6(float) Constant 1053609165
              36:             TypeInt 32 0
              37:     36(int) Constant 2
              38:             TypeArray 16 37
              39:             TypePointer UniformConstant 38
40(g_texdata_array2[1].tex):     39(ptr) Variable UniformConstant
              43:             TypeArray 20 37
              44:             TypePointer UniformConstant 43
45(g_texdata_array2[1].samp):     44(ptr) Variable UniformConstant
              49:    6(float) Constant 1050253722
              52:             TypePointer Function 7(fvec4)
              58:             TypePointer Output 7(fvec4)
59(ps_output.color):     58(ptr) Variable Output
      62(g_samp):     21(ptr) Variable UniformConstant
       63(g_tex):     17(ptr) Variable UniformConstant
              64:             TypePointer UniformConstant 14(int)
65(g_texdata.nonopaque_thing):     64(ptr) Variable UniformConstant
66(g_texdata_array[0].samp):     21(ptr) Variable UniformConstant
67(g_texdata_array[0].tex):     17(ptr) Variable UniformConstant
68(g_texdata_array[0].nonopaque_thing):     64(ptr) Variable UniformConstant
69(g_texdata_array[1].nonopaque_thing):     64(ptr) Variable UniformConstant
70(g_texdata_array[2].samp):     21(ptr) Variable UniformConstant
71(g_texdata_array[2].tex):     17(ptr) Variable UniformConstant
72(g_texdata_array[2].nonopaque_thing):     64(ptr) Variable UniformConstant
73(g_texdata_array2[0].samp):     44(ptr) Variable UniformConstant
74(g_texdata_array2[0].tex):     39(ptr) Variable UniformConstant
75(g_texdata_array2[0].nonopaque_thing):     64(ptr) Variable UniformConstant
76(g_texdata_array2[1].nonopaque_thing):     64(ptr) Variable UniformConstant
77(g_texdata_array2[2].samp):     44(ptr) Variable UniformConstant
78(g_texdata_array2[2].tex):     39(ptr) Variable UniformConstant
79(g_texdata_array2[2].nonopaque_thing):     64(ptr) Variable UniformConstant
         4(main):           2 Function None 3
               5:             Label
   54(ps_output):      9(ptr) Variable Function
       55(param):      9(ptr) Variable Function
              56:           2 FunctionCall 12(@main(struct-PS_OUTPUT-vf41;) 55(param)
              57:8(PS_OUTPUT) Load 55(param)
                              Store 54(ps_output) 57
              60:     52(ptr) AccessChain 54(ps_output) 15
              61:    7(fvec4) Load 60
                              Store 59(ps_output.color) 61
                              Return
                              FunctionEnd
12(@main(struct-PS_OUTPUT-vf41;):           2 Function None 10
   11(ps_output):      9(ptr) FunctionParameter
              13:             Label
              19:          16 Load 18(g_texdata.tex)
              23:          20 Load 22(g_texdata.samp)
              25:          24 SampledImage 19 23
              27:    7(fvec4) ImageSampleImplicitLod 25 26
              29:          16 Load 28(g_texdata_array[1].tex)
              31:          20 Load 30(g_texdata_array[1].samp)
              32:          24 SampledImage 29 31
              34:    7(fvec4) ImageSampleImplicitLod 32 33
              35:    7(fvec4) FAdd 27 34
              41:     17(ptr) AccessChain 40(g_texdata_array2[1].tex) 15
              42:          16 Load 41
              46:     21(ptr) AccessChain 45(g_texdata_array2[1].samp) 15
              47:          20 Load 46
              48:          24 SampledImage 42 47
              50:    7(fvec4) ImageSampleImplicitLod 48 49
              51:    7(fvec4) FAdd 35 50
              53:     52(ptr) AccessChain 11(ps_output) 15
                              Store 53 51
                              Return
                              FunctionEnd