hlsl.rw.swizzle.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:4  Function Definition: SomeValue( ( temp 3-component vector of float)
0:4    Function Parameters: 
0:?     Sequence
0:4      Branch: Return with expression
0:4        Constant:
0:4          1.000000
0:4          2.000000
0:4          3.000000
0:7  Function Definition: @main( ( temp 4-component vector of float)
0:7    Function Parameters: 
0:?     Sequence
0:8      Sequence
0:8        move second child to first child ( temp 2-component vector of int)
0:8          'tc2' ( temp 2-component vector of int)
0:8          Constant:
0:8            0 (const int)
0:8            0 (const int)
0:9      Sequence
0:9        move second child to first child ( temp int)
0:9          'tc' ( temp int)
0:9          Constant:
0:9            0 (const int)
0:12      Sequence
0:12        move second child to first child ( temp 3-component vector of float)
0:12          vector swizzle ( temp 3-component vector of float)
0:12            'storeTemp' ( temp 3-component vector of float)
0:12            Sequence
0:12              Constant:
0:12                2 (const int)
0:12              Constant:
0:12                1 (const int)
0:12              Constant:
0:12                0 (const int)
0:12          Constant:
0:12            1.000000
0:12            2.000000
0:12            3.000000
0:12        imageStore ( temp void)
0:12          'rwtx' (layout( rgba32f) uniform image2D)
0:12          'tc2' ( temp 2-component vector of int)
0:12          'storeTemp' ( temp 3-component vector of float)
0:12        'storeTemp' ( temp 3-component vector of float)
0:13      Sequence
0:13        move second child to first child ( temp 3-component vector of float)
0:13          vector swizzle ( temp 3-component vector of float)
0:13            'storeTemp' ( temp 3-component vector of float)
0:13            Sequence
0:13              Constant:
0:13                2 (const int)
0:13              Constant:
0:13                1 (const int)
0:13              Constant:
0:13                0 (const int)
0:13          Function Call: SomeValue( ( temp 3-component vector of float)
0:13        imageStore ( temp void)
0:13          'rwtx' (layout( rgba32f) uniform image2D)
0:13          'tc2' ( temp 2-component vector of int)
0:13          'storeTemp' ( temp 3-component vector of float)
0:13        'storeTemp' ( temp 3-component vector of float)
0:14      Sequence
0:14        move second child to first child ( temp 3-component vector of float)
0:14          vector swizzle ( temp 3-component vector of float)
0:14            'storeTemp' ( temp 3-component vector of float)
0:14            Sequence
0:14              Constant:
0:14                2 (const int)
0:14              Constant:
0:14                1 (const int)
0:14              Constant:
0:14                0 (const int)
0:14          Constant:
0:14            2.000000
0:14            2.000000
0:14            2.000000
0:14        imageStore ( temp void)
0:14          'rwtx' (layout( rgba32f) uniform image2D)
0:14          'tc2' ( temp 2-component vector of int)
0:14          'storeTemp' ( temp 3-component vector of float)
0:14        'storeTemp' ( temp 3-component vector of float)
0:27      Branch: Return with expression
0:27        Constant:
0:27          0.000000
0:27          0.000000
0:27          0.000000
0:27          0.000000
0:7  Function Definition: main( ( temp void)
0:7    Function Parameters: 
0:?     Sequence
0:7      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:7        Function Call: @main( ( temp 4-component vector of float)
0:?   Linker Objects
0:?     'rwtx' (layout( rgba32f) uniform image2D)
0:?     'buf' (layout( rgba32f) uniform imageBuffer)
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:4  Function Definition: SomeValue( ( temp 3-component vector of float)
0:4    Function Parameters: 
0:?     Sequence
0:4      Branch: Return with expression
0:4        Constant:
0:4          1.000000
0:4          2.000000
0:4          3.000000
0:7  Function Definition: @main( ( temp 4-component vector of float)
0:7    Function Parameters: 
0:?     Sequence
0:8      Sequence
0:8        move second child to first child ( temp 2-component vector of int)
0:8          'tc2' ( temp 2-component vector of int)
0:8          Constant:
0:8            0 (const int)
0:8            0 (const int)
0:9      Sequence
0:9        move second child to first child ( temp int)
0:9          'tc' ( temp int)
0:9          Constant:
0:9            0 (const int)
0:12      Sequence
0:12        move second child to first child ( temp 3-component vector of float)
0:12          vector swizzle ( temp 3-component vector of float)
0:12            'storeTemp' ( temp 3-component vector of float)
0:12            Sequence
0:12              Constant:
0:12                2 (const int)
0:12              Constant:
0:12                1 (const int)
0:12              Constant:
0:12                0 (const int)
0:12          Constant:
0:12            1.000000
0:12            2.000000
0:12            3.000000
0:12        imageStore ( temp void)
0:12          'rwtx' (layout( rgba32f) uniform image2D)
0:12          'tc2' ( temp 2-component vector of int)
0:12          'storeTemp' ( temp 3-component vector of float)
0:12        'storeTemp' ( temp 3-component vector of float)
0:13      Sequence
0:13        move second child to first child ( temp 3-component vector of float)
0:13          vector swizzle ( temp 3-component vector of float)
0:13            'storeTemp' ( temp 3-component vector of float)
0:13            Sequence
0:13              Constant:
0:13                2 (const int)
0:13              Constant:
0:13                1 (const int)
0:13              Constant:
0:13                0 (const int)
0:13          Function Call: SomeValue( ( temp 3-component vector of float)
0:13        imageStore ( temp void)
0:13          'rwtx' (layout( rgba32f) uniform image2D)
0:13          'tc2' ( temp 2-component vector of int)
0:13          'storeTemp' ( temp 3-component vector of float)
0:13        'storeTemp' ( temp 3-component vector of float)
0:14      Sequence
0:14        move second child to first child ( temp 3-component vector of float)
0:14          vector swizzle ( temp 3-component vector of float)
0:14            'storeTemp' ( temp 3-component vector of float)
0:14            Sequence
0:14              Constant:
0:14                2 (const int)
0:14              Constant:
0:14                1 (const int)
0:14              Constant:
0:14                0 (const int)
0:14          Constant:
0:14            2.000000
0:14            2.000000
0:14            2.000000
0:14        imageStore ( temp void)
0:14          'rwtx' (layout( rgba32f) uniform image2D)
0:14          'tc2' ( temp 2-component vector of int)
0:14          'storeTemp' ( temp 3-component vector of float)
0:14        'storeTemp' ( temp 3-component vector of float)
0:27      Branch: Return with expression
0:27        Constant:
0:27          0.000000
0:27          0.000000
0:27          0.000000
0:27          0.000000
0:7  Function Definition: main( ( temp void)
0:7    Function Parameters: 
0:?     Sequence
0:7      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:7        Function Call: @main( ( temp 4-component vector of float)
0:?   Linker Objects
0:?     'rwtx' (layout( rgba32f) uniform image2D)
0:?     'buf' (layout( rgba32f) uniform imageBuffer)
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)

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

                              Capability Shader
                              Capability ImageBuffer
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 58
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 9  "SomeValue("
                              Name 13  "@main("
                              Name 24  "tc2"
                              Name 28  "tc"
                              Name 30  "storeTemp"
                              Name 35  "rwtx"
                              Name 39  "storeTemp"
                              Name 46  "storeTemp"
                              Name 58  "@entryPointOutput"
                              Name 62  "buf"
                              Decorate 35(rwtx) DescriptorSet 0
                              Decorate 35(rwtx) Binding 0
                              Decorate 58(@entryPointOutput) Location 0
                              Decorate 62(buf) DescriptorSet 0
                              Decorate 62(buf) Binding 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 3
               8:             TypeFunction 7(fvec3)
              11:             TypeVector 6(float) 4
              12:             TypeFunction 11(fvec4)
              15:    6(float) Constant 1065353216
              16:    6(float) Constant 1073741824
              17:    6(float) Constant 1077936128
              18:    7(fvec3) ConstantComposite 15 16 17
              21:             TypeInt 32 1
              22:             TypeVector 21(int) 2
              23:             TypePointer Function 22(ivec2)
              25:     21(int) Constant 0
              26:   22(ivec2) ConstantComposite 25 25
              27:             TypePointer Function 21(int)
              29:             TypePointer Function 7(fvec3)
              33:             TypeImage 6(float) 2D nonsampled format:Rgba32f
              34:             TypePointer UniformConstant 33
        35(rwtx):     34(ptr) Variable UniformConstant
              47:    7(fvec3) ConstantComposite 16 16 16
              53:    6(float) Constant 0
              54:   11(fvec4) ConstantComposite 53 53 53 53
              57:             TypePointer Output 11(fvec4)
58(@entryPointOutput):     57(ptr) Variable Output
              60:             TypeImage 6(float) Buffer nonsampled format:Rgba32f
              61:             TypePointer UniformConstant 60
         62(buf):     61(ptr) Variable UniformConstant
         4(main):           2 Function None 3
               5:             Label
              59:   11(fvec4) FunctionCall 13(@main()
                              Store 58(@entryPointOutput) 59
                              Return
                              FunctionEnd
   9(SomeValue():    7(fvec3) Function None 8
              10:             Label
                              ReturnValue 18
                              FunctionEnd
      13(@main():   11(fvec4) Function None 12
              14:             Label
         24(tc2):     23(ptr) Variable Function
          28(tc):     27(ptr) Variable Function
   30(storeTemp):     29(ptr) Variable Function
   39(storeTemp):     29(ptr) Variable Function
   46(storeTemp):     29(ptr) Variable Function
                              Store 24(tc2) 26
                              Store 28(tc) 25
              31:    7(fvec3) Load 30(storeTemp)
              32:    7(fvec3) VectorShuffle 31 18 5 4 3
                              Store 30(storeTemp) 32
              36:          33 Load 35(rwtx)
              37:   22(ivec2) Load 24(tc2)
              38:    7(fvec3) Load 30(storeTemp)
                              ImageWrite 36 37 38
              40:    7(fvec3) FunctionCall 9(SomeValue()
              41:    7(fvec3) Load 39(storeTemp)
              42:    7(fvec3) VectorShuffle 41 40 5 4 3
                              Store 39(storeTemp) 42
              43:          33 Load 35(rwtx)
              44:   22(ivec2) Load 24(tc2)
              45:    7(fvec3) Load 39(storeTemp)
                              ImageWrite 43 44 45
              48:    7(fvec3) Load 46(storeTemp)
              49:    7(fvec3) VectorShuffle 48 47 5 4 3
                              Store 46(storeTemp) 49
              50:          33 Load 35(rwtx)
              51:   22(ivec2) Load 24(tc2)
              52:    7(fvec3) Load 46(storeTemp)
                              ImageWrite 50 51 52
                              ReturnValue 54
                              FunctionEnd
