1 hlsl.promote.atomic.frag 2 Shader version: 500 3 gl_FragCoord origin is upper left 4 0:? Sequence 5 0:5 Function Definition: @main( ( temp 4-component vector of float) 6 0:5 Function Parameters: 7 0:? Sequence 8 0:13 move second child to first child ( temp int) 9 0:13 'Orig' ( temp int) 10 0:13 Convert uint to int ( temp int) 11 0:13 imageAtomicAdd ( temp uint) 12 0:13 's_uintbuff' (layout( r32ui) uniform uimageBuffer) 13 0:13 'Loc' ( temp int) 14 0:13 Convert int to uint ( temp uint) 15 0:13 'Inc' ( temp int) 16 0:15 Branch: Return with expression 17 0:? Constant: 18 0:? 0.000000 19 0:? 0.000000 20 0:? 0.000000 21 0:? 0.000000 22 0:5 Function Definition: main( ( temp void) 23 0:5 Function Parameters: 24 0:? Sequence 25 0:5 move second child to first child ( temp 4-component vector of float) 26 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 27 0:5 Function Call: @main( ( temp 4-component vector of float) 28 0:? Linker Objects 29 0:? 's_uintbuff' (layout( r32ui) uniform uimageBuffer) 30 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 31 32 33 Linked fragment stage: 34 35 36 Shader version: 500 37 gl_FragCoord origin is upper left 38 0:? Sequence 39 0:5 Function Definition: @main( ( temp 4-component vector of float) 40 0:5 Function Parameters: 41 0:? Sequence 42 0:13 move second child to first child ( temp int) 43 0:13 'Orig' ( temp int) 44 0:13 Convert uint to int ( temp int) 45 0:13 imageAtomicAdd ( temp uint) 46 0:13 's_uintbuff' (layout( r32ui) uniform uimageBuffer) 47 0:13 'Loc' ( temp int) 48 0:13 Convert int to uint ( temp uint) 49 0:13 'Inc' ( temp int) 50 0:15 Branch: Return with expression 51 0:? Constant: 52 0:? 0.000000 53 0:? 0.000000 54 0:? 0.000000 55 0:? 0.000000 56 0:5 Function Definition: main( ( temp void) 57 0:5 Function Parameters: 58 0:? Sequence 59 0:5 move second child to first child ( temp 4-component vector of float) 60 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 61 0:5 Function Call: @main( ( temp 4-component vector of float) 62 0:? Linker Objects 63 0:? 's_uintbuff' (layout( r32ui) uniform uimageBuffer) 64 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 65 66 // Module Version 10000 67 // Generated by (magic number): 80007 68 // Id's are bound by 36 69 70 Capability Shader 71 Capability ImageBuffer 72 1: ExtInstImport "GLSL.std.450" 73 MemoryModel Logical GLSL450 74 EntryPoint Fragment 4 "main" 34 75 ExecutionMode 4 OriginUpperLeft 76 Source HLSL 500 77 Name 4 "main" 78 Name 9 "@main(" 79 Name 13 "Orig" 80 Name 17 "s_uintbuff" 81 Name 18 "Loc" 82 Name 20 "Inc" 83 Name 34 "@entryPointOutput" 84 Decorate 17(s_uintbuff) DescriptorSet 0 85 Decorate 17(s_uintbuff) Binding 0 86 Decorate 34(@entryPointOutput) Location 0 87 2: TypeVoid 88 3: TypeFunction 2 89 6: TypeFloat 32 90 7: TypeVector 6(float) 4 91 8: TypeFunction 7(fvec4) 92 11: TypeInt 32 1 93 12: TypePointer Function 11(int) 94 14: TypeInt 32 0 95 15: TypeImage 14(int) Buffer nonsampled format:R32ui 96 16: TypePointer UniformConstant 15 97 17(s_uintbuff): 16(ptr) Variable UniformConstant 98 23: 14(int) Constant 0 99 24: TypePointer Image 14(int) 100 26: 14(int) Constant 1 101 29: 6(float) Constant 0 102 30: 7(fvec4) ConstantComposite 29 29 29 29 103 33: TypePointer Output 7(fvec4) 104 34(@entryPointOutput): 33(ptr) Variable Output 105 4(main): 2 Function None 3 106 5: Label 107 35: 7(fvec4) FunctionCall 9(@main() 108 Store 34(@entryPointOutput) 35 109 Return 110 FunctionEnd 111 9(@main(): 7(fvec4) Function None 8 112 10: Label 113 13(Orig): 12(ptr) Variable Function 114 18(Loc): 12(ptr) Variable Function 115 20(Inc): 12(ptr) Variable Function 116 19: 11(int) Load 18(Loc) 117 21: 11(int) Load 20(Inc) 118 22: 14(int) Bitcast 21 119 25: 24(ptr) ImageTexelPointer 17(s_uintbuff) 19 23 120 27: 14(int) AtomicIAdd 25 26 23 22 121 28: 11(int) Bitcast 27 122 Store 13(Orig) 28 123 ReturnValue 30 124 FunctionEnd 125