1617a3babSopenharmony_cispv.atomic.comp 2617a3babSopenharmony_ci// Module Version 10000 3617a3babSopenharmony_ci// Generated by (magic number): 8000b 4617a3babSopenharmony_ci// Id's are bound by 74 5617a3babSopenharmony_ci 6617a3babSopenharmony_ci Capability Shader 7617a3babSopenharmony_ci Capability AtomicStorage 8617a3babSopenharmony_ci 1: ExtInstImport "GLSL.std.450" 9617a3babSopenharmony_ci MemoryModel Logical GLSL450 10617a3babSopenharmony_ci EntryPoint GLCompute 4 "main" 11617a3babSopenharmony_ci ExecutionMode 4 LocalSize 1 1 1 12617a3babSopenharmony_ci Source GLSL 450 13617a3babSopenharmony_ci Name 4 "main" 14617a3babSopenharmony_ci Name 10 "func(au1;" 15617a3babSopenharmony_ci Name 9 "c" 16617a3babSopenharmony_ci Name 12 "atoms(" 17617a3babSopenharmony_ci Name 20 "counter" 18617a3babSopenharmony_ci Name 23 "val" 19617a3babSopenharmony_ci Name 27 "countArr" 20617a3babSopenharmony_ci Name 37 "origi" 21617a3babSopenharmony_ci Name 39 "atomi" 22617a3babSopenharmony_ci Name 42 "origu" 23617a3babSopenharmony_ci Name 44 "atomu" 24617a3babSopenharmony_ci Name 45 "value" 25617a3babSopenharmony_ci Name 62 "dataSSB" 26617a3babSopenharmony_ci MemberName 62(dataSSB) 0 "f" 27617a3babSopenharmony_ci MemberName 62(dataSSB) 1 "n_frames_rendered" 28617a3babSopenharmony_ci Name 64 "result" 29617a3babSopenharmony_ci Name 71 "arrX" 30617a3babSopenharmony_ci Name 72 "arrY" 31617a3babSopenharmony_ci Name 73 "arrZ" 32617a3babSopenharmony_ci Decorate 20(counter) Offset 0 33617a3babSopenharmony_ci Decorate 20(counter) DescriptorSet 0 34617a3babSopenharmony_ci Decorate 20(counter) Binding 0 35617a3babSopenharmony_ci Decorate 27(countArr) Offset 4 36617a3babSopenharmony_ci Decorate 27(countArr) DescriptorSet 0 37617a3babSopenharmony_ci Decorate 27(countArr) Binding 0 38617a3babSopenharmony_ci MemberDecorate 62(dataSSB) 0 Restrict 39617a3babSopenharmony_ci MemberDecorate 62(dataSSB) 0 Offset 0 40617a3babSopenharmony_ci MemberDecorate 62(dataSSB) 1 Restrict 41617a3babSopenharmony_ci MemberDecorate 62(dataSSB) 1 Offset 16 42617a3babSopenharmony_ci Decorate 62(dataSSB) BufferBlock 43617a3babSopenharmony_ci Decorate 64(result) DescriptorSet 0 44617a3babSopenharmony_ci Decorate 64(result) Binding 0 45617a3babSopenharmony_ci 2: TypeVoid 46617a3babSopenharmony_ci 3: TypeFunction 2 47617a3babSopenharmony_ci 6: TypeInt 32 0 48617a3babSopenharmony_ci 7: TypePointer AtomicCounter 6(int) 49617a3babSopenharmony_ci 8: TypeFunction 6(int) 7(ptr) 50617a3babSopenharmony_ci 14: 6(int) Constant 1 51617a3babSopenharmony_ci 15: 6(int) Constant 0 52617a3babSopenharmony_ci 19: 6(int) Constant 1032 53617a3babSopenharmony_ci 20(counter): 7(ptr) Variable AtomicCounter 54617a3babSopenharmony_ci 22: TypePointer Function 6(int) 55617a3babSopenharmony_ci 24: 6(int) Constant 4 56617a3babSopenharmony_ci 25: TypeArray 6(int) 24 57617a3babSopenharmony_ci 26: TypePointer AtomicCounter 25 58617a3babSopenharmony_ci 27(countArr): 26(ptr) Variable AtomicCounter 59617a3babSopenharmony_ci 28: TypeInt 32 1 60617a3babSopenharmony_ci 29: 28(int) Constant 2 61617a3babSopenharmony_ci 33: 28(int) Constant 1 62617a3babSopenharmony_ci 36: TypePointer Function 28(int) 63617a3babSopenharmony_ci 38: TypePointer Workgroup 28(int) 64617a3babSopenharmony_ci 39(atomi): 38(ptr) Variable Workgroup 65617a3babSopenharmony_ci 40: 28(int) Constant 3 66617a3babSopenharmony_ci 43: TypePointer Workgroup 6(int) 67617a3babSopenharmony_ci 44(atomu): 43(ptr) Variable Workgroup 68617a3babSopenharmony_ci 45(value): 43(ptr) Variable Workgroup 69617a3babSopenharmony_ci 48: 6(int) Constant 7 70617a3babSopenharmony_ci 53: 28(int) Constant 7 71617a3babSopenharmony_ci 57: 6(int) Constant 10 72617a3babSopenharmony_ci 60: TypeFloat 32 73617a3babSopenharmony_ci 61: TypeVector 28(int) 4 74617a3babSopenharmony_ci 62(dataSSB): TypeStruct 60(float) 61(ivec4) 75617a3babSopenharmony_ci 63: TypePointer Uniform 62(dataSSB) 76617a3babSopenharmony_ci 64(result): 63(ptr) Variable Uniform 77617a3babSopenharmony_ci 65: 6(int) Constant 2 78617a3babSopenharmony_ci 66: TypePointer Uniform 28(int) 79617a3babSopenharmony_ci 69: TypeArray 28(int) 14 80617a3babSopenharmony_ci 70: TypePointer Private 69 81617a3babSopenharmony_ci 71(arrX): 70(ptr) Variable Private 82617a3babSopenharmony_ci 72(arrY): 70(ptr) Variable Private 83617a3babSopenharmony_ci 73(arrZ): 70(ptr) Variable Private 84617a3babSopenharmony_ci 4(main): 2 Function None 3 85617a3babSopenharmony_ci 5: Label 86617a3babSopenharmony_ci 23(val): 22(ptr) Variable Function 87617a3babSopenharmony_ci MemoryBarrier 14 19 88617a3babSopenharmony_ci 21: 6(int) FunctionCall 10(func(au1;) 20(counter) 89617a3babSopenharmony_ci 30: 7(ptr) AccessChain 27(countArr) 29 90617a3babSopenharmony_ci 31: 6(int) AtomicLoad 30 14 15 91617a3babSopenharmony_ci Store 23(val) 31 92617a3babSopenharmony_ci 32: 6(int) AtomicIDecrement 20(counter) 14 15 93617a3babSopenharmony_ci 34: 6(int) ISub 32 33 94617a3babSopenharmony_ci 35: 6(int) AtomicIIncrement 20(counter) 14 15 95617a3babSopenharmony_ci Return 96617a3babSopenharmony_ci FunctionEnd 97617a3babSopenharmony_ci 10(func(au1;): 6(int) Function None 8 98617a3babSopenharmony_ci 9(c): 7(ptr) FunctionParameter 99617a3babSopenharmony_ci 11: Label 100617a3babSopenharmony_ci 16: 6(int) AtomicIIncrement 9(c) 14 15 101617a3babSopenharmony_ci ReturnValue 16 102617a3babSopenharmony_ci FunctionEnd 103617a3babSopenharmony_ci 12(atoms(): 2 Function None 3 104617a3babSopenharmony_ci 13: Label 105617a3babSopenharmony_ci 37(origi): 36(ptr) Variable Function 106617a3babSopenharmony_ci 42(origu): 22(ptr) Variable Function 107617a3babSopenharmony_ci 41: 28(int) AtomicIAdd 39(atomi) 14 15 40 108617a3babSopenharmony_ci Store 37(origi) 41 109617a3babSopenharmony_ci 46: 6(int) Load 45(value) 110617a3babSopenharmony_ci 47: 6(int) AtomicAnd 44(atomu) 14 15 46 111617a3babSopenharmony_ci Store 42(origu) 47 112617a3babSopenharmony_ci 49: 6(int) AtomicOr 44(atomu) 14 15 48 113617a3babSopenharmony_ci Store 42(origu) 49 114617a3babSopenharmony_ci 50: 6(int) AtomicXor 44(atomu) 14 15 48 115617a3babSopenharmony_ci Store 42(origu) 50 116617a3babSopenharmony_ci 51: 6(int) Load 45(value) 117617a3babSopenharmony_ci 52: 6(int) AtomicUMin 44(atomu) 14 15 51 118617a3babSopenharmony_ci Store 42(origu) 52 119617a3babSopenharmony_ci 54: 28(int) AtomicSMax 39(atomi) 14 15 53 120617a3babSopenharmony_ci Store 37(origi) 54 121617a3babSopenharmony_ci 55: 28(int) Load 37(origi) 122617a3babSopenharmony_ci 56: 28(int) AtomicExchange 39(atomi) 14 15 55 123617a3babSopenharmony_ci Store 37(origi) 56 124617a3babSopenharmony_ci 58: 6(int) Load 45(value) 125617a3babSopenharmony_ci 59: 6(int) AtomicCompareExchange 44(atomu) 14 15 15 58 57 126617a3babSopenharmony_ci Store 42(origu) 59 127617a3babSopenharmony_ci 67: 66(ptr) AccessChain 64(result) 33 65 128617a3babSopenharmony_ci 68: 28(int) AtomicIAdd 67 14 15 33 129617a3babSopenharmony_ci Return 130617a3babSopenharmony_ci FunctionEnd 131