spv.structuredDescriptorHeap.ReadOnly.comp // Module Version 10400 // Generated by (magic number): 8000b // Id's are bound by 118 Capability Shader Capability UntypedPointersKHR Capability DescriptorHeapEXT Capability PhysicalStorageBufferAddressesEXT Extension "SPV_EXT_descriptor_heap" Extension "SPV_KHR_physical_storage_buffer" Extension "SPV_KHR_untyped_pointers" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT GLSL450 EntryPoint GLCompute 4 "main" 20 64 ExecutionMode 4 LocalSize 1 1 1 Source GLSL 460 SourceExtension "GL_EXT_buffer_reference" SourceExtension "GL_EXT_descriptor_heap" SourceExtension "GL_EXT_scalar_block_layout" SourceExtension "GL_EXT_structured_descriptor_heap" Name 4 "main" Name 10 "writeValue(u1;" Name 9 "value" Name 13 "updateValue(u1;" Name 12 "value" Name 18 "index" Name 20 "resource_heap" Name 31 "Material" Name 58 "BufferHeap0" Name 59 "BufferReference" MemberName 59(BufferReference) 0 "value" Name 64 "sampler_heap" Name 65 "SamplerHeap0" MemberName 65(SamplerHeap0) 0 "count" Name 73 "DataBuffer" MemberName 73(DataBuffer) 0 "vector" MemberName 73(DataBuffer) 1 "values" Name 91 "param" Name 98 "param" Decorate 20(resource_heap) BuiltIn ResourceHeapEXT MemberDecorateIdEXT 31(Material) 0 OffsetIdEXT 23 MemberDecorateIdEXT 31(Material) 1 OffsetIdEXT 30 DecorateId 41 ArrayStrideIdEXT 39 MemberDecorateIdEXT 58(BufferHeap0) 0 OffsetIdEXT 23 MemberDecorateIdEXT 58(BufferHeap0) 1 OffsetIdEXT 46 MemberDecorateIdEXT 58(BufferHeap0) 2 OffsetIdEXT 52 MemberDecorateIdEXT 58(BufferHeap0) 3 OffsetIdEXT 57 Decorate 59(BufferReference) Block MemberDecorate 59(BufferReference) 0 Offset 0 Decorate 64(sampler_heap) BuiltIn SamplerHeapEXT Decorate 65(SamplerHeap0) Block MemberDecorate 65(SamplerHeap0) 0 Offset 0 Decorate 72 ArrayStride 4 Decorate 73(DataBuffer) Block MemberDecorate 73(DataBuffer) 0 Offset 0 MemberDecorate 73(DataBuffer) 1 Offset 8 Decorate 117 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 7: TypePointer Function 6(int) 8: TypeFunction 2 7(ptr) 15: 6(int) Constant 1 19: TypeUntypedPointerKHR UniformConstant 20(resource_heap): 19(ptr) UntypedVariableKHR UniformConstant 21: TypeBufferEXT StorageBuffer TypeForwardPointer 22 PhysicalStorageBufferEXT 23: 6(int) Constant 0 24: 6(int) Constant 4 25: 6(int) SpecConstantOp 128 23 24 26: 6(int) ConstantSizeOfEXT 21 27: 6(int) SpecConstantOp 137 25 26 28: 6(int) SpecConstantOp 130 26 27 29: 6(int) SpecConstantOp 137 28 26 30: 6(int) SpecConstantOp 128 25 29 31(Material): TypeStruct 6(int) 21 32: 6(int) SpecConstantOp 128 30 26 33: TypeBool 34: 33(bool) SpecConstantOp 172 24 26 35: 6(int) SpecConstantOp 169 34 24 26 36: 6(int) SpecConstantOp 137 32 35 37: 6(int) SpecConstantOp 130 35 36 38: 6(int) SpecConstantOp 137 37 35 39: 6(int) SpecConstantOp 128 32 38 40: 6(int) Constant 2 41: TypeArray 31(Material) 40 42: 6(int) SpecConstantOp 128 23 24 43: 6(int) SpecConstantOp 137 42 26 44: 6(int) SpecConstantOp 130 26 43 45: 6(int) SpecConstantOp 137 44 26 46: 6(int) SpecConstantOp 128 42 45 47: 6(int) SpecConstantOp 128 46 26 48: 6(int) Constant 8 49: 6(int) SpecConstantOp 137 47 48 50: 6(int) SpecConstantOp 130 48 49 51: 6(int) SpecConstantOp 137 50 48 52: 6(int) SpecConstantOp 128 47 51 53: 6(int) SpecConstantOp 128 52 48 54: 6(int) SpecConstantOp 137 53 35 55: 6(int) SpecConstantOp 130 35 54 56: 6(int) SpecConstantOp 137 55 35 57: 6(int) SpecConstantOp 128 53 56 58(BufferHeap0): TypeStruct 6(int) 21 22 41 59(BufferReference): TypeStruct 6(int) 22: TypePointer PhysicalStorageBufferEXT 59(BufferReference) 60: TypeInt 32 1 61: 60(int) Constant 0 64(sampler_heap): 19(ptr) UntypedVariableKHR UniformConstant 65(SamplerHeap0): TypeStruct 6(int) 70: 60(int) Constant 1 71: TypeVector 6(int) 2 72: TypeArray 6(int) 40 73(DataBuffer): TypeStruct 71(ivec2) 72 77: TypePointer StorageBuffer 73(DataBuffer) 79: TypePointer StorageBuffer 6(int) 81: 60(int) Constant 3 88: TypePointer StorageBuffer 71(ivec2) 108: 60(int) Constant 2 114: TypePointer PhysicalStorageBufferEXT 6(int) 116: TypeVector 6(int) 3 117: 116(ivec3) ConstantComposite 15 15 15 4(main): 2 Function None 3 5: Label 18(index): 7(ptr) Variable Function 91(param): 7(ptr) Variable Function 98(param): 7(ptr) Variable Function 62: 19(ptr) UntypedAccessChainKHR 58(BufferHeap0) 20(resource_heap) 61 63: 6(int) Load 62 66: 19(ptr) UntypedAccessChainKHR 65(SamplerHeap0) 64(sampler_heap) 61 67: 6(int) Load 66 68: 6(int) IAdd 63 67 69: 6(int) BitwiseAnd 68 15 Store 18(index) 69 74: 19(ptr) UntypedAccessChainKHR 58(BufferHeap0) 20(resource_heap) 61 75: 6(int) Load 74 76: 19(ptr) UntypedAccessChainKHR 58(BufferHeap0) 20(resource_heap) 70 78: 77(ptr) BufferPointerEXT 76 80: 79(ptr) AccessChain 78 70 61 Store 80 75 82: 6(int) Load 18(index) 83: 19(ptr) UntypedAccessChainKHR 65(SamplerHeap0) 64(sampler_heap) 61 84: 6(int) Load 83 85: 71(ivec2) CompositeConstruct 84 84 86: 19(ptr) UntypedAccessChainKHR 58(BufferHeap0) 20(resource_heap) 81 82 70 87: 77(ptr) BufferPointerEXT 86 89: 88(ptr) AccessChain 87 61 Store 89 85 90: 6(int) Load 18(index) 92: 2 FunctionCall 10(writeValue(u1;) 91(param) 93: 6(int) Load 91(param) 94: 19(ptr) UntypedAccessChainKHR 58(BufferHeap0) 20(resource_heap) 70 95: 77(ptr) BufferPointerEXT 94 96: 79(ptr) AccessChain 95 70 90 Store 96 93 97: 6(int) Load 18(index) 99: 19(ptr) UntypedAccessChainKHR 58(BufferHeap0) 20(resource_heap) 81 97 70 100: 77(ptr) BufferPointerEXT 99 101: 79(ptr) AccessChain 100 70 61 102: 6(int) Load 101 Store 98(param) 102 103: 2 FunctionCall 13(updateValue(u1;) 98(param) 104: 6(int) Load 98(param) 105: 19(ptr) UntypedAccessChainKHR 58(BufferHeap0) 20(resource_heap) 81 97 70 106: 77(ptr) BufferPointerEXT 105 107: 79(ptr) AccessChain 106 70 61 Store 107 104 109: 19(ptr) UntypedAccessChainKHR 58(BufferHeap0) 20(resource_heap) 108 110: 22(ptr) Load 109 111: 6(int) Load 18(index) 112: 19(ptr) UntypedAccessChainKHR 58(BufferHeap0) 20(resource_heap) 81 111 61 113: 6(int) Load 112 115: 114(ptr) AccessChain 110 61 Store 115 113 Aligned 4 Return FunctionEnd 10(writeValue(u1;): 2 Function None 8 9(value): 7(ptr) FunctionParameter 11: Label Store 9(value) 15 Return FunctionEnd 13(updateValue(u1;): 2 Function None 8 12(value): 7(ptr) FunctionParameter 14: Label 16: 6(int) Load 12(value) 17: 6(int) IAdd 16 15 Store 12(value) 17 Return FunctionEnd