| spv.split.barrier.comp |
| // Module Version 10600 |
| // Generated by (magic number): 8000b |
| // Id's are bound by 155 |
| |
| Capability Shader |
| Capability SplitBarrierEXT |
| Extension "SPV_EXT_split_barrier" |
| Extension "SPV_KHR_non_semantic_info" |
| 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" |
| 3: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical GLSL450 |
| EntryPoint GLCompute 14 "main" 43 |
| ExecutionMode 14 LocalSize 1 1 1 |
| 2: String "spv.split.barrier.comp" |
| 8: String "uint" |
| 18: String "fooBarrier1" |
| 21: String "#version 430 core |
| #extension GL_EXT_split_barrier : enable |
| |
| float f; |
| |
| void fooBarrier1() |
| { |
| controlBarrierArrive(); |
| controlBarrierWait(); |
| } |
| |
| void fooBarrier2() |
| { |
| uint i = 0; |
| for (i = 0; i < 16; ++i) { |
| controlBarrierArrive(); |
| controlBarrierWait(); |
| } |
| } |
| |
| void fooBarrier3() |
| { |
| bool cond = f > 0.0f; |
| if (cond) { |
| controlBarrierArrive(); |
| } |
| if (cond) { |
| controlBarrierWait(); |
| } |
| } |
| |
| void main() |
| { |
| fooBarrier1(); |
| fooBarrier2(); |
| fooBarrier3(); |
| } |
| " |
| 28: String "fooBarrier2" |
| 33: String "fooBarrier3" |
| 36: String "main" |
| 39: String "float" |
| 45: String "f" |
| 65: String "i" |
| 87: String "bool" |
| 98: String "int" |
| 112: String "cond" |
| SourceExtension "GL_EXT_split_barrier" |
| Name 14 "main" |
| Name 16 "fooBarrier1(" |
| Name 26 "fooBarrier2(" |
| Name 31 "fooBarrier3(" |
| Name 43 "f" |
| Name 63 "i" |
| Name 110 "cond" |
| ModuleProcessed "auto-map-locations" |
| ModuleProcessed "auto-map-bindings" |
| ModuleProcessed "client vulkan100" |
| ModuleProcessed "target-env spirv1.6" |
| ModuleProcessed "target-env vulkan1.4" |
| ModuleProcessed "keep-uncalled" |
| ModuleProcessed "entry-point main" |
| 4: TypeVoid |
| 5: TypeFunction 4 |
| 7: TypeInt 32 0 |
| 10: 7(int) Constant 32 |
| 11: 7(int) Constant 6 |
| 12: 7(int) Constant 0 |
| 9: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 8 10 11 12 |
| 13: 7(int) Constant 3 |
| 6: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 4 |
| 20: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 21 |
| 23: 7(int) Constant 1 |
| 24: 7(int) Constant 4 |
| 25: 7(int) Constant 2 |
| 22: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 23 24 20 25 |
| 19: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 18 6 20 11 12 22 18 13 11 |
| 30: 7(int) Constant 12 |
| 29: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 28 6 20 30 12 22 28 13 30 |
| 35: 7(int) Constant 21 |
| 34: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 33 6 20 35 12 22 33 13 35 |
| 37: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 36 6 20 10 12 22 36 13 10 |
| 38: TypeFloat 32 |
| 40: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 39 10 13 12 |
| 41: TypePointer Private 38(float) |
| 42: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 40 11 12 |
| 43(f): 41(ptr) Variable Private |
| 46: 7(int) Constant 8 |
| 44: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 45 40 20 24 12 22 45 43(f) 46 |
| 50: 7(int) Constant 260 |
| 52: 7(int) Constant 258 |
| 54: 7(int) Constant 9 |
| 56: 7(int) Constant 10 |
| 60: TypePointer Function 7(int) |
| 61: 7(int) Constant 7 |
| 62: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 9 61 12 |
| 66: 7(int) Constant 14 |
| 64: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 65 9 20 66 12 29 24 |
| 68: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression) |
| 71: 7(int) Constant 15 |
| 72: 7(int) Constant 5 |
| 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 20 71 72 29 |
| 85: 7(int) Constant 16 |
| 86: TypeBool |
| 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 87 10 25 12 |
| 93: 7(int) Constant 17 |
| 97: TypeInt 32 1 |
| 99: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 98 10 24 12 |
| 100: 97(int) Constant 1 |
| 104: 7(int) Constant 19 |
| 108: TypePointer Function 86(bool) |
| 109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 88 61 12 |
| 113: 7(int) Constant 23 |
| 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 112 88 20 113 12 34 24 |
| 117: 38(float) Constant 0 |
| 121: 7(int) Constant 24 |
| 125: 7(int) Constant 25 |
| 126: 7(int) Constant 30 |
| 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 20 125 126 34 |
| 132: 7(int) Constant 27 |
| 136: 7(int) Constant 28 |
| 135: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 20 136 136 34 |
| 146: 7(int) Constant 34 |
| 149: 7(int) Constant 35 |
| 152: 7(int) Constant 36 |
| 154: 7(int) Constant 37 |
| 14(main): 4 Function None 5 |
| 15: Label |
| 142: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 37 |
| 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 10 10 12 12 |
| 141: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 37 14(main) |
| 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 146 146 12 12 |
| 144: 4 FunctionCall 16(fooBarrier1() |
| 148: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 149 149 12 12 |
| 147: 4 FunctionCall 26(fooBarrier2() |
| 151: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 152 152 12 12 |
| 150: 4 FunctionCall 31(fooBarrier3() |
| 153: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 154 154 12 12 |
| Return |
| FunctionEnd |
| 16(fooBarrier1(): 4 Function None 5 |
| 17: Label |
| 48: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 19 |
| 49: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 11 11 12 12 |
| 47: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 19 16(fooBarrier1() |
| 51: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 46 46 12 12 |
| ControlBarrierArriveEXT 25 25 50 |
| 53: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 54 54 12 12 |
| ControlBarrierWaitEXT 25 25 52 |
| 55: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 56 56 12 12 |
| Return |
| FunctionEnd |
| 26(fooBarrier2(): 4 Function None 5 |
| 27: Label |
| 63(i): 60(ptr) Variable Function |
| 58: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 29 |
| 59: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 30 30 12 12 |
| 57: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 29 26(fooBarrier2() |
| 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 66 66 12 12 |
| 67: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 64 63(i) 68 |
| Store 63(i) 12 |
| 73: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 70 |
| 74: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 71 71 12 12 |
| Store 63(i) 12 |
| Branch 75 |
| 75: Label |
| 79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 70 |
| 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 71 71 12 12 |
| LoopMerge 77 78 None |
| Branch 81 |
| 81: Label |
| 83: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 70 |
| 84: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 71 71 12 12 |
| 82: 7(int) Load 63(i) |
| 89: 86(bool) ULessThan 82 85 |
| BranchConditional 89 76 77 |
| 76: Label |
| 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 70 |
| 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 85 85 12 12 |
| ControlBarrierArriveEXT 25 25 50 |
| 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 93 93 12 12 |
| ControlBarrierWaitEXT 25 25 52 |
| Branch 78 |
| 78: Label |
| 95: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 70 |
| 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 71 71 12 12 |
| 94: 7(int) Load 63(i) |
| 101: 7(int) IAdd 94 100 |
| Store 63(i) 101 |
| Branch 75 |
| 77: Label |
| 102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 29 |
| 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 104 104 12 12 |
| Return |
| FunctionEnd |
| 31(fooBarrier3(): 4 Function None 5 |
| 32: Label |
| 110(cond): 108(ptr) Variable Function |
| 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 34 |
| 107: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 35 35 12 12 |
| 105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 34 31(fooBarrier3() |
| 115: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 113 113 12 12 |
| 114: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 111 110(cond) 68 |
| 116: 38(float) Load 43(f) |
| 118: 86(bool) FOrdGreaterThan 116 117 |
| Store 110(cond) 118 |
| 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 121 121 12 12 |
| 119: 86(bool) Load 110(cond) |
| SelectionMerge 123 None |
| BranchConditional 119 122 123 |
| 122: Label |
| 127: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 124 |
| 128: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 125 125 12 12 |
| ControlBarrierArriveEXT 25 25 50 |
| Branch 123 |
| 123: Label |
| 130: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 34 |
| 131: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 132 132 12 12 |
| 129: 86(bool) Load 110(cond) |
| SelectionMerge 134 None |
| BranchConditional 129 133 134 |
| 133: Label |
| 137: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 135 |
| 138: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 136 136 12 12 |
| ControlBarrierWaitEXT 25 25 52 |
| Branch 134 |
| 134: Label |
| 139: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 34 |
| 140: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 126 126 12 12 |
| Return |
| FunctionEnd |