| spv.bufferhandle6.frag |
| // Module Version 10000 |
| // Generated by (magic number): 80007 |
| // Id's are bound by 165 |
| |
| Capability Shader |
| Capability PhysicalStorageBufferAddressesEXT |
| 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 |