spv.bufferhandle6.frag // Module Version 10000 // Generated by (magic number): 80007 // Id's are bound by 165 Capability Shader Capability CapabilityPhysicalStorageBufferAddressesEXT Extension "SPV_EXT_physical_storage_buffer" Extension "SPV_KHR_storage_buffer_storage_class" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT GLSL450 EntryPoint Fragment 4 "main" 154 ExecutionMode 4 OriginUpperLeft Source GLSL 450 SourceExtension "GL_EXT_buffer_reference" Name 4 "main" Name 8 "accum" Name 15 "T1" MemberName 15(T1) 0 "a" MemberName 15(T1) 1 "b" MemberName 15(T1) 2 "c" MemberName 15(T1) 3 "d" Name 18 "T1" MemberName 18(T1) 0 "a" MemberName 18(T1) 1 "b" MemberName 18(T1) 2 "c" MemberName 18(T1) 3 "d" Name 21 "x" Name 30 "Block" MemberName 30(Block) 0 "identity" Name 32 "pc" Name 136 "color" Name 149 "image0_0" Name 154 "gl_FragCoord" Decorate 12 ArrayStride 4 Decorate 14 ArrayStride 8 MemberDecorate 15(T1) 0 Offset 0 MemberDecorate 15(T1) 1 Offset 32 MemberDecorate 15(T1) 2 Offset 48 MemberDecorate 15(T1) 3 Offset 80 Decorate 15(T1) Block Decorate 16 ArrayStride 4 Decorate 17 ArrayStride 8 MemberDecorate 18(T1) 0 Offset 0 MemberDecorate 18(T1) 1 Offset 32 MemberDecorate 18(T1) 2 Offset 48 MemberDecorate 18(T1) 3 Offset 80 Decorate 18(T1) Block Decorate 19 ArrayStride 8 Decorate 21(x) DescriptorSet 3 Decorate 21(x) Binding 1 Decorate 29 ArrayStride 4 MemberDecorate 30(Block) 0 Offset 0 Decorate 30(Block) Block Decorate 149(image0_0) DescriptorSet 3 Decorate 149(image0_0) Binding 0 Decorate 154(gl_FragCoord) BuiltIn FragCoord 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 7: TypePointer Function 6(int) 9: 6(int) Constant 0 10: TypeInt 32 0 11: 10(int) Constant 2 12: TypeArray 6(int) 11 TypeForwardPointer 13 PhysicalStorageBufferEXT 14: TypeArray 13 11 15(T1): TypeStruct 12 6(int) 14 13 16: TypeArray 6(int) 11 17: TypeArray 13 11 18(T1): TypeStruct 16 6(int) 17 13 13: TypePointer PhysicalStorageBufferEXT 18(T1) 19: TypeArray 13(ptr) 11 20: TypePointer StorageBuffer 15(T1) 21(x): 20(ptr) Variable StorageBuffer 22: TypePointer StorageBuffer 6(int) 28: 10(int) Constant 32 29: TypeArray 6(int) 28 30(Block): TypeStruct 29 31: TypePointer PushConstant 30(Block) 32(pc): 31(ptr) Variable PushConstant 33: 6(int) Constant 1 34: TypePointer PushConstant 6(int) 44: 6(int) Constant 2 48: TypePointer StorageBuffer 13(ptr) 51: TypePointer PhysicalStorageBufferEXT 6(int) 54: 6(int) Constant 3 64: 6(int) Constant 4 72: 6(int) Constant 5 82: 6(int) Constant 6 94: 6(int) Constant 7 104: 6(int) Constant 8 112: 6(int) Constant 9 122: 6(int) Constant 10 130: 6(int) Constant 11 134: TypeVector 10(int) 4 135: TypePointer Function 134(ivec4) 138: TypeBool 140: 10(int) Constant 0 141: 134(ivec4) ConstantComposite 140 140 140 140 142: 10(int) Constant 1 143: 134(ivec4) ConstantComposite 142 140 140 142 144: TypeVector 138(bool) 4 147: TypeImage 10(int) 2D nonsampled format:R32ui 148: TypePointer UniformConstant 147 149(image0_0): 148(ptr) Variable UniformConstant 151: TypeFloat 32 152: TypeVector 151(float) 4 153: TypePointer Input 152(fvec4) 154(gl_FragCoord): 153(ptr) Variable Input 155: TypePointer Input 151(float) 162: TypeVector 6(int) 2 4(main): 2 Function None 3 5: Label 8(accum): 7(ptr) Variable Function 136(color): 135(ptr) Variable Function Store 8(accum) 9 23: 22(ptr) AccessChain 21(x) 9 9 24: 6(int) Load 23 25: 6(int) ISub 24 9 26: 6(int) Load 8(accum) 27: 6(int) BitwiseOr 26 25 Store 8(accum) 27 35: 34(ptr) AccessChain 32(pc) 9 33 36: 6(int) Load 35 37: 22(ptr) AccessChain 21(x) 9 36 38: 6(int) Load 37 39: 6(int) ISub 38 33 40: 6(int) Load 8(accum) 41: 6(int) BitwiseOr 40 39 Store 8(accum) 41 42: 22(ptr) AccessChain 21(x) 33 43: 6(int) Load 42 45: 6(int) ISub 43 44 46: 6(int) Load 8(accum) 47: 6(int) BitwiseOr 46 45 Store 8(accum) 47 49: 48(ptr) AccessChain 21(x) 44 9 50: 13(ptr) Load 49 52: 51(ptr) AccessChain 50 9 9 53: 6(int) Load 52 Aligned 4 55: 6(int) ISub 53 54 56: 6(int) Load 8(accum) 57: 6(int) BitwiseOr 56 55 Store 8(accum) 57 58: 48(ptr) AccessChain 21(x) 44 9 59: 13(ptr) Load 58 60: 34(ptr) AccessChain 32(pc) 9 33 61: 6(int) Load 60 62: 51(ptr) AccessChain 59 9 61 63: 6(int) Load 62 Aligned 4 65: 6(int) ISub 63 64 66: 6(int) Load 8(accum) 67: 6(int) BitwiseOr 66 65 Store 8(accum) 67 68: 48(ptr) AccessChain 21(x) 44 9 69: 13(ptr) Load 68 70: 51(ptr) AccessChain 69 33 71: 6(int) Load 70 Aligned 16 73: 6(int) ISub 71 72 74: 6(int) Load 8(accum) 75: 6(int) BitwiseOr 74 73 Store 8(accum) 75 76: 34(ptr) AccessChain 32(pc) 9 33 77: 6(int) Load 76 78: 48(ptr) AccessChain 21(x) 44 77 79: 13(ptr) Load 78 80: 51(ptr) AccessChain 79 9 9 81: 6(int) Load 80 Aligned 4 83: 6(int) ISub 81 82 84: 6(int) Load 8(accum) 85: 6(int) BitwiseOr 84 83 Store 8(accum) 85 86: 34(ptr) AccessChain 32(pc) 9 33 87: 6(int) Load 86 88: 48(ptr) AccessChain 21(x) 44 87 89: 13(ptr) Load 88 90: 34(ptr) AccessChain 32(pc) 9 33 91: 6(int) Load 90 92: 51(ptr) AccessChain 89 9 91 93: 6(int) Load 92 Aligned 4 95: 6(int) ISub 93 94 96: 6(int) Load 8(accum) 97: 6(int) BitwiseOr 96 95 Store 8(accum) 97 98: 34(ptr) AccessChain 32(pc) 9 33 99: 6(int) Load 98 100: 48(ptr) AccessChain 21(x) 44 99 101: 13(ptr) Load 100 102: 51(ptr) AccessChain 101 33 103: 6(int) Load 102 Aligned 16 105: 6(int) ISub 103 104 106: 6(int) Load 8(accum) 107: 6(int) BitwiseOr 106 105 Store 8(accum) 107 108: 48(ptr) AccessChain 21(x) 54 109: 13(ptr) Load 108 110: 51(ptr) AccessChain 109 9 9 111: 6(int) Load 110 Aligned 4 113: 6(int) ISub 111 112 114: 6(int) Load 8(accum) 115: 6(int) BitwiseOr 114 113 Store 8(accum) 115 116: 48(ptr) AccessChain 21(x) 54 117: 13(ptr) Load 116 118: 34(ptr) AccessChain 32(pc) 9 33 119: 6(int) Load 118 120: 51(ptr) AccessChain 117 9 119 121: 6(int) Load 120 Aligned 4 123: 6(int) ISub 121 122 124: 6(int) Load 8(accum) 125: 6(int) BitwiseOr 124 123 Store 8(accum) 125 126: 48(ptr) AccessChain 21(x) 54 127: 13(ptr) Load 126 128: 51(ptr) AccessChain 127 33 129: 6(int) Load 128 Aligned 16 131: 6(int) ISub 129 130 132: 6(int) Load 8(accum) 133: 6(int) BitwiseOr 132 131 Store 8(accum) 133 137: 6(int) Load 8(accum) 139: 138(bool) INotEqual 137 9 145: 144(bvec4) CompositeConstruct 139 139 139 139 146: 134(ivec4) Select 145 141 143 Store 136(color) 146 150: 147 Load 149(image0_0) 156: 155(ptr) AccessChain 154(gl_FragCoord) 140 157: 151(float) Load 156 158: 6(int) ConvertFToS 157 159: 155(ptr) AccessChain 154(gl_FragCoord) 142 160: 151(float) Load 159 161: 6(int) ConvertFToS 160 163: 162(ivec2) CompositeConstruct 158 161 164: 134(ivec4) Load 136(color) ImageWrite 150 163 164 Return FunctionEnd