hlsl.attributeC11.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:20  Function Definition: @main(vf4; ( temp 4-component vector of float)
0:20    Function Parameters: 
0:20      'input' ( in 4-component vector of float)
0:?     Sequence
0:21      Branch: Return with expression
0:21        add ( temp 4-component vector of float)
0:21          'input' ( in 4-component vector of float)
0:21          textureFetch ( temp 4-component vector of float)
0:21            'attach' ( uniform texture2D)
0:21            vector swizzle ( temp int)
0:21              Constant:
0:21                0 (const int)
0:21                0 (const int)
0:21              Sequence
0:21                Constant:
0:21                  0 (const int)
0:21            direct index ( temp int)
0:21              Constant:
0:21                0 (const int)
0:21                0 (const int)
0:21              Constant:
0:21                1 (const int)
0:20  Function Definition: main( ( temp void)
0:20    Function Parameters: 
0:?     Sequence
0:20      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:20      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=7) out 4-component vector of float)
0:20        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 unsized 1-element 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 unsized 1-element array of structure{ temp 2-component vector of float f} @data})
0:?     'attach' ( uniform texture2D)
0:?     'ci' ( specialization-constant const int)
0:?       11 (const int)
0:?     'anon@0' (layout( row_major std430 push_constant) uniform block{layout( row_major std430 offset=0) uniform int a})
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:20  Function Definition: @main(vf4; ( temp 4-component vector of float)
0:20    Function Parameters: 
0:20      'input' ( in 4-component vector of float)
0:?     Sequence
0:21      Branch: Return with expression
0:21        add ( temp 4-component vector of float)
0:21          'input' ( in 4-component vector of float)
0:21          textureFetch ( temp 4-component vector of float)
0:21            'attach' ( uniform texture2D)
0:21            vector swizzle ( temp int)
0:21              Constant:
0:21                0 (const int)
0:21                0 (const int)
0:21              Sequence
0:21                Constant:
0:21                  0 (const int)
0:21            direct index ( temp int)
0:21              Constant:
0:21                0 (const int)
0:21                0 (const int)
0:21              Constant:
0:21                1 (const int)
0:20  Function Definition: main( ( temp void)
0:20    Function Parameters: 
0:?     Sequence
0:20      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:20      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=7) out 4-component vector of float)
0:20        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 unsized 1-element 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 unsized 1-element array of structure{ temp 2-component vector of float f} @data})
0:?     'attach' ( uniform texture2D)
0:?     'ci' ( specialization-constant const int)
0:?       11 (const int)
0:?     'anon@0' (layout( row_major std430 push_constant) uniform block{layout( row_major std430 offset=0) uniform int a})
0:?     '@entryPointOutput' (layout( location=7) out 4-component vector of float)
0:?     'input' (layout( location=8) in 4-component vector of float)

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

                              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"
                              Name 47  "ci"
                              Name 48  "pcBuf"
                              MemberName 48(pcBuf) 0  "a"
                              Name 50  ""
                              Decorate 16(attach) DescriptorSet 0
                              Decorate 16(attach) Binding 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
                              Decorate 47(ci) SpecId 13
                              MemberDecorate 48(pcBuf) 0 Offset 0
                              Decorate 48(pcBuf) Block
               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
          47(ci):     18(int) SpecConstant 11
       48(pcBuf):             TypeStruct 18(int)
              49:             TypePointer PushConstant 48(pcBuf)
              50:     49(ptr) Variable PushConstant
         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
