hlsl.attributeC11.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:16  Function Definition: @main(vf4; ( temp 4-component vector of float)
0:16    Function Parameters: 
0:16      'input' ( in 4-component vector of float)
0:?     Sequence
0:17      Branch: Return with expression
0:17        add ( temp 4-component vector of float)
0:17          'input' ( in 4-component vector of float)
0:17          textureFetch ( temp 4-component vector of float)
0:17            'attach' ( uniform texture2D)
0:17            vector swizzle ( temp int)
0:17              Constant:
0:17                0 (const int)
0:17                0 (const int)
0:17              Sequence
0:17                Constant:
0:17                  0 (const int)
0:17            direct index ( temp int)
0:17              Constant:
0:17                0 (const int)
0:17                0 (const int)
0:17              Constant:
0:17                1 (const int)
0:16  Function Definition: main( ( temp void)
0:16    Function Parameters: 
0:?     Sequence
0:16      move second child to first child ( temp 4-component vector of float)
0:?         'input' ( temp 4-component vector of float)
0:?         'input' (layout( location=8) in 4-component vector of float)
0:16      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=7) out 4-component vector of float)
0:16        Function Call: @main(vf4; ( temp 4-component vector of float)
0:?           'input' ( temp 4-component vector of float)
0:?   Linker Objects
0:?     'buffer1' (layout( set=0 binding=1 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 2-component vector of float f} @data})
0:?     'buffer3' (layout( set=2 binding=3 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 2-component vector of float f} @data})
0:?     'attach' ( uniform texture2D)
0:?     '@entryPointOutput' (layout( location=7) out 4-component vector of float)
0:?     'input' (layout( location=8) in 4-component vector of float)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:16  Function Definition: @main(vf4; ( temp 4-component vector of float)
0:16    Function Parameters: 
0:16      'input' ( in 4-component vector of float)
0:?     Sequence
0:17      Branch: Return with expression
0:17        add ( temp 4-component vector of float)
0:17          'input' ( in 4-component vector of float)
0:17          textureFetch ( temp 4-component vector of float)
0:17            'attach' ( uniform texture2D)
0:17            vector swizzle ( temp int)
0:17              Constant:
0:17                0 (const int)
0:17                0 (const int)
0:17              Sequence
0:17                Constant:
0:17                  0 (const int)
0:17            direct index ( temp int)
0:17              Constant:
0:17                0 (const int)
0:17                0 (const int)
0:17              Constant:
0:17                1 (const int)
0:16  Function Definition: main( ( temp void)
0:16    Function Parameters: 
0:?     Sequence
0:16      move second child to first child ( temp 4-component vector of float)
0:?         'input' ( temp 4-component vector of float)
0:?         'input' (layout( location=8) in 4-component vector of float)
0:16      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=7) out 4-component vector of float)
0:16        Function Call: @main(vf4; ( temp 4-component vector of float)
0:?           'input' ( temp 4-component vector of float)
0:?   Linker Objects
0:?     'buffer1' (layout( set=0 binding=1 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 2-component vector of float f} @data})
0:?     'buffer3' (layout( set=2 binding=3 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 2-component vector of float f} @data})
0:?     'attach' ( uniform texture2D)
0:?     '@entryPointOutput' (layout( location=7) out 4-component vector of float)
0:?     'input' (layout( location=8) in 4-component vector of float)

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 33 36
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 11  "@main(vf4;"
                              Name 10  "input"
                              Name 16  "attach"
                              Name 31  "input"
                              Name 33  "input"
                              Name 36  "@entryPointOutput"
                              Name 37  "param"
                              Name 41  "S"
                              MemberName 41(S) 0  "f"
                              Name 43  "buffer1"
                              MemberName 43(buffer1) 0  "@data"
                              Name 45  "buffer1"
                              Name 46  "buffer3"
                              Decorate 16(attach) DescriptorSet 0
                              Decorate 16(attach) InputAttachmentIndex 4
                              Decorate 33(input) Location 8
                              Decorate 36(@entryPointOutput) Location 7
                              MemberDecorate 41(S) 0 Offset 0
                              Decorate 42 ArrayStride 8
                              MemberDecorate 43(buffer1) 0 NonWritable
                              MemberDecorate 43(buffer1) 0 Offset 0
                              Decorate 43(buffer1) BufferBlock
                              Decorate 45(buffer1) DescriptorSet 0
                              Decorate 45(buffer1) Binding 1
                              Decorate 46(buffer3) DescriptorSet 2
                              Decorate 46(buffer3) Binding 3
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Function 7(fvec4)
               9:             TypeFunction 7(fvec4) 8(ptr)
              14:             TypeImage 6(float) 2D sampled format:Unknown
              15:             TypePointer UniformConstant 14
      16(attach):     15(ptr) Variable UniformConstant
              18:             TypeInt 32 1
              19:             TypeVector 18(int) 2
              20:     18(int) Constant 0
              21:   19(ivec2) ConstantComposite 20 20
              22:             TypeInt 32 0
              23:     22(int) Constant 0
              25:     22(int) Constant 1
              32:             TypePointer Input 7(fvec4)
       33(input):     32(ptr) Variable Input
              35:             TypePointer Output 7(fvec4)
36(@entryPointOutput):     35(ptr) Variable Output
              40:             TypeVector 6(float) 2
           41(S):             TypeStruct 40(fvec2)
              42:             TypeRuntimeArray 41(S)
     43(buffer1):             TypeStruct 42
              44:             TypePointer Uniform 43(buffer1)
     45(buffer1):     44(ptr) Variable Uniform
     46(buffer3):     44(ptr) Variable Uniform
         4(main):           2 Function None 3
               5:             Label
       31(input):      8(ptr) Variable Function
       37(param):      8(ptr) Variable Function
              34:    7(fvec4) Load 33(input)
                              Store 31(input) 34
              38:    7(fvec4) Load 31(input)
                              Store 37(param) 38
              39:    7(fvec4) FunctionCall 11(@main(vf4;) 37(param)
                              Store 36(@entryPointOutput) 39
                              Return
                              FunctionEnd
  11(@main(vf4;):    7(fvec4) Function None 9
       10(input):      8(ptr) FunctionParameter
              12:             Label
              13:    7(fvec4) Load 10(input)
              17:          14 Load 16(attach)
              24:     18(int) CompositeExtract 21 0
              26:     18(int) CompositeExtract 21 1
              27:    7(fvec4) ImageFetch 17 24 Lod 26
              28:    7(fvec4) FAdd 13 27
                              ReturnValue 28
                              FunctionEnd
