hlsl.load.buffer.dx10.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:24  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:24    Function Parameters: 
0:?     Sequence
0:28      Sequence
0:28        move second child to first child ( temp 4-component vector of float)
0:28          'r00' ( temp 4-component vector of float)
0:28          textureFetch ( temp 4-component vector of float)
0:28            'g_tTexbf4' (layout( rgba32f) uniform textureBuffer)
0:28            c1: direct index for structure ( uniform int)
0:28              '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:28              Constant:
0:28                0 (const uint)
0:29      Sequence
0:29        move second child to first child ( temp 4-component vector of int)
0:29          'r01' ( temp 4-component vector of int)
0:29          textureFetch ( temp 4-component vector of int)
0:29            'g_tTexbi4' (layout( rgba32i) uniform itextureBuffer)
0:29            c1: direct index for structure ( uniform int)
0:29              '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:29              Constant:
0:29                0 (const uint)
0:30      Sequence
0:30        move second child to first child ( temp 4-component vector of uint)
0:30          'r02' ( temp 4-component vector of uint)
0:30          textureFetch ( temp 4-component vector of uint)
0:30            'g_tTexbu4' (layout( rgba32ui) uniform utextureBuffer)
0:30            c1: direct index for structure ( uniform int)
0:30              '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:30              Constant:
0:30                0 (const uint)
0:34      move second child to first child ( temp 4-component vector of float)
0:34        Color: direct index for structure ( temp 4-component vector of float)
0:34          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:34          Constant:
0:34            0 (const int)
0:34        Constant:
0:34          1.000000
0:34          1.000000
0:34          1.000000
0:34          1.000000
0:35      move second child to first child ( temp float)
0:35        Depth: direct index for structure ( temp float)
0:35          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:35          Constant:
0:35            1 (const int)
0:35        Constant:
0:35          1.000000
0:37      Branch: Return with expression
0:37        'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:24  Function Definition: main( ( temp void)
0:24    Function Parameters: 
0:?     Sequence
0:24      Sequence
0:24        move second child to first child ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:24          'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:24          Function Call: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:24        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:24          Color: direct index for structure ( temp 4-component vector of float)
0:24            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:24            Constant:
0:24              0 (const int)
0:24        move second child to first child ( temp float)
0:?           '@entryPointOutput.Depth' ( out float FragDepth)
0:24          Depth: direct index for structure ( temp float)
0:24            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:24            Constant:
0:24              1 (const int)
0:?   Linker Objects
0:?     'g_tTexbf4_test' (layout( binding=0 rgba32f) uniform textureBuffer)
0:?     'g_tTexbf4' (layout( rgba32f) uniform textureBuffer)
0:?     'g_tTexbi4' (layout( rgba32i) uniform itextureBuffer)
0:?     'g_tTexbu4' (layout( rgba32ui) uniform utextureBuffer)
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.Depth' ( out float FragDepth)
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:24  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:24    Function Parameters: 
0:?     Sequence
0:28      Sequence
0:28        move second child to first child ( temp 4-component vector of float)
0:28          'r00' ( temp 4-component vector of float)
0:28          textureFetch ( temp 4-component vector of float)
0:28            'g_tTexbf4' (layout( rgba32f) uniform textureBuffer)
0:28            c1: direct index for structure ( uniform int)
0:28              '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:28              Constant:
0:28                0 (const uint)
0:29      Sequence
0:29        move second child to first child ( temp 4-component vector of int)
0:29          'r01' ( temp 4-component vector of int)
0:29          textureFetch ( temp 4-component vector of int)
0:29            'g_tTexbi4' (layout( rgba32i) uniform itextureBuffer)
0:29            c1: direct index for structure ( uniform int)
0:29              '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:29              Constant:
0:29                0 (const uint)
0:30      Sequence
0:30        move second child to first child ( temp 4-component vector of uint)
0:30          'r02' ( temp 4-component vector of uint)
0:30          textureFetch ( temp 4-component vector of uint)
0:30            'g_tTexbu4' (layout( rgba32ui) uniform utextureBuffer)
0:30            c1: direct index for structure ( uniform int)
0:30              '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:30              Constant:
0:30                0 (const uint)
0:34      move second child to first child ( temp 4-component vector of float)
0:34        Color: direct index for structure ( temp 4-component vector of float)
0:34          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:34          Constant:
0:34            0 (const int)
0:34        Constant:
0:34          1.000000
0:34          1.000000
0:34          1.000000
0:34          1.000000
0:35      move second child to first child ( temp float)
0:35        Depth: direct index for structure ( temp float)
0:35          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:35          Constant:
0:35            1 (const int)
0:35        Constant:
0:35          1.000000
0:37      Branch: Return with expression
0:37        'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:24  Function Definition: main( ( temp void)
0:24    Function Parameters: 
0:?     Sequence
0:24      Sequence
0:24        move second child to first child ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:24          'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:24          Function Call: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:24        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:24          Color: direct index for structure ( temp 4-component vector of float)
0:24            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:24            Constant:
0:24              0 (const int)
0:24        move second child to first child ( temp float)
0:?           '@entryPointOutput.Depth' ( out float FragDepth)
0:24          Depth: direct index for structure ( temp float)
0:24            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:24            Constant:
0:24              1 (const int)
0:?   Linker Objects
0:?     'g_tTexbf4_test' (layout( binding=0 rgba32f) uniform textureBuffer)
0:?     'g_tTexbf4' (layout( rgba32f) uniform textureBuffer)
0:?     'g_tTexbi4' (layout( rgba32i) uniform itextureBuffer)
0:?     'g_tTexbu4' (layout( rgba32ui) uniform utextureBuffer)
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.Depth' ( out float FragDepth)
0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)

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

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