hlsl.load.rwbuffer.dx10.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:22  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color})
0:22    Function Parameters: 
0:?     Sequence
0:25      imageLoad ( temp 4-component vector of float)
0:25        'g_tBuffF' (layout( rgba32f) uniform imageBuffer)
0:25        c1: direct index for structure ( uniform int)
0:25          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:25          Constant:
0:25            0 (const uint)
0:26      imageLoad ( temp 4-component vector of uint)
0:26        'g_tBuffU' (layout( rgba32ui) uniform uimageBuffer)
0:26        c1: direct index for structure ( uniform int)
0:26          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:26          Constant:
0:26            0 (const uint)
0:27      imageLoad ( temp 4-component vector of int)
0:27        'g_tBuffI' (layout( rgba32i) uniform iimageBuffer)
0:27        c1: direct index for structure ( uniform int)
0:27          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:27          Constant:
0:27            0 (const uint)
0:29      move second child to first child ( temp 4-component vector of float)
0:29        Color: direct index for structure ( temp 4-component vector of float)
0:29          'psout' ( temp structure{ temp 4-component vector of float Color})
0:29          Constant:
0:29            0 (const int)
0:29        Constant:
0:29          1.000000
0:29          1.000000
0:29          1.000000
0:29          1.000000
0:31      Branch: Return with expression
0:31        'psout' ( temp structure{ temp 4-component vector of float Color})
0:22  Function Definition: main( ( temp void)
0:22    Function Parameters: 
0:?     Sequence
0:22      Sequence
0:22        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
0:22          Color: direct index for structure ( temp 4-component vector of float)
0:22            Function Call: @main( ( temp structure{ temp 4-component vector of float Color})
0:22            Constant:
0:22              0 (const int)
0:?   Linker Objects
0:?     'g_tBuffF' (layout( rgba32f) uniform imageBuffer)
0:?     'g_tBuffI' (layout( rgba32i) uniform iimageBuffer)
0:?     'g_tBuffU' (layout( rgba32ui) uniform uimageBuffer)
0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:?     '@entryPointOutput.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:22  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color})
0:22    Function Parameters: 
0:?     Sequence
0:25      imageLoad ( temp 4-component vector of float)
0:25        'g_tBuffF' (layout( rgba32f) uniform imageBuffer)
0:25        c1: direct index for structure ( uniform int)
0:25          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:25          Constant:
0:25            0 (const uint)
0:26      imageLoad ( temp 4-component vector of uint)
0:26        'g_tBuffU' (layout( rgba32ui) uniform uimageBuffer)
0:26        c1: direct index for structure ( uniform int)
0:26          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:26          Constant:
0:26            0 (const uint)
0:27      imageLoad ( temp 4-component vector of int)
0:27        'g_tBuffI' (layout( rgba32i) uniform iimageBuffer)
0:27        c1: direct index for structure ( uniform int)
0:27          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:27          Constant:
0:27            0 (const uint)
0:29      move second child to first child ( temp 4-component vector of float)
0:29        Color: direct index for structure ( temp 4-component vector of float)
0:29          'psout' ( temp structure{ temp 4-component vector of float Color})
0:29          Constant:
0:29            0 (const int)
0:29        Constant:
0:29          1.000000
0:29          1.000000
0:29          1.000000
0:29          1.000000
0:31      Branch: Return with expression
0:31        'psout' ( temp structure{ temp 4-component vector of float Color})
0:22  Function Definition: main( ( temp void)
0:22    Function Parameters: 
0:?     Sequence
0:22      Sequence
0:22        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
0:22          Color: direct index for structure ( temp 4-component vector of float)
0:22            Function Call: @main( ( temp structure{ temp 4-component vector of float Color})
0:22            Constant:
0:22              0 (const int)
0:?   Linker Objects
0:?     'g_tBuffF' (layout( rgba32f) uniform imageBuffer)
0:?     'g_tBuffI' (layout( rgba32i) uniform iimageBuffer)
0:?     'g_tBuffU' (layout( rgba32ui) uniform uimageBuffer)
0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)

// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 57

                              Capability Shader
                              Capability ImageBuffer
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 54
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 8  "PS_OUTPUT"
                              MemberName 8(PS_OUTPUT) 0  "Color"
                              Name 10  "@main("
                              Name 14  "g_tBuffF"
                              Name 20  "$Global"
                              MemberName 20($Global) 0  "c1"
                              MemberName 20($Global) 1  "c2"
                              MemberName 20($Global) 2  "c3"
                              MemberName 20($Global) 3  "c4"
                              MemberName 20($Global) 4  "o1"
                              MemberName 20($Global) 5  "o2"
                              MemberName 20($Global) 6  "o3"
                              MemberName 20($Global) 7  "o4"
                              Name 22  ""
                              Name 31  "g_tBuffU"
                              Name 39  "g_tBuffI"
                              Name 45  "psout"
                              Name 54  "@entryPointOutput.Color"
                              Decorate 14(g_tBuffF) DescriptorSet 0
                              Decorate 14(g_tBuffF) Binding 0
                              MemberDecorate 20($Global) 0 Offset 0
                              MemberDecorate 20($Global) 1 Offset 8
                              MemberDecorate 20($Global) 2 Offset 16
                              MemberDecorate 20($Global) 3 Offset 32
                              MemberDecorate 20($Global) 4 Offset 48
                              MemberDecorate 20($Global) 5 Offset 56
                              MemberDecorate 20($Global) 6 Offset 64
                              MemberDecorate 20($Global) 7 Offset 80
                              Decorate 20($Global) Block
                              Decorate 22 DescriptorSet 0
                              Decorate 22 Binding 3
                              Decorate 31(g_tBuffU) DescriptorSet 0
                              Decorate 31(g_tBuffU) Binding 2
                              Decorate 39(g_tBuffI) DescriptorSet 0
                              Decorate 39(g_tBuffI) Binding 1
                              Decorate 54(@entryPointOutput.Color) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
    8(PS_OUTPUT):             TypeStruct 7(fvec4)
               9:             TypeFunction 8(PS_OUTPUT)
              12:             TypeImage 6(float) Buffer nonsampled format:Rgba32f
              13:             TypePointer UniformConstant 12
    14(g_tBuffF):     13(ptr) Variable UniformConstant
              16:             TypeInt 32 1
              17:             TypeVector 16(int) 2
              18:             TypeVector 16(int) 3
              19:             TypeVector 16(int) 4
     20($Global):             TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4)
              21:             TypePointer Uniform 20($Global)
              22:     21(ptr) Variable Uniform
              23:     16(int) Constant 0
              24:             TypePointer Uniform 16(int)
              28:             TypeInt 32 0
              29:             TypeImage 28(int) Buffer nonsampled format:Rgba32ui
              30:             TypePointer UniformConstant 29
    31(g_tBuffU):     30(ptr) Variable UniformConstant
              35:             TypeVector 28(int) 4
              37:             TypeImage 16(int) Buffer nonsampled format:Rgba32i
              38:             TypePointer UniformConstant 37
    39(g_tBuffI):     38(ptr) Variable UniformConstant
              44:             TypePointer Function 8(PS_OUTPUT)
              46:    6(float) Constant 1065353216
              47:    7(fvec4) ConstantComposite 46 46 46 46
              48:             TypePointer Function 7(fvec4)
              53:             TypePointer Output 7(fvec4)
54(@entryPointOutput.Color):     53(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
              55:8(PS_OUTPUT) FunctionCall 10(@main()
              56:    7(fvec4) CompositeExtract 55 0
                              Store 54(@entryPointOutput.Color) 56
                              Return
                              FunctionEnd
      10(@main():8(PS_OUTPUT) Function None 9
              11:             Label
       45(psout):     44(ptr) Variable Function
              15:          12 Load 14(g_tBuffF)
              25:     24(ptr) AccessChain 22 23
              26:     16(int) Load 25
              27:    7(fvec4) ImageRead 15 26
              32:          29 Load 31(g_tBuffU)
              33:     24(ptr) AccessChain 22 23
              34:     16(int) Load 33
              36:   35(ivec4) ImageRead 32 34
              40:          37 Load 39(g_tBuffI)
              41:     24(ptr) AccessChain 22 23
              42:     16(int) Load 41
              43:   19(ivec4) ImageRead 40 42
              49:     48(ptr) AccessChain 45(psout) 23
                              Store 49 47
              50:8(PS_OUTPUT) Load 45(psout)
                              ReturnValue 50
                              FunctionEnd
