spv.descriptorHeap.valid.frag // Module Version 10400 // Generated by (magic number): 8000b // Id's are bound by 83 Capability Shader Capability DescriptorHeapEXT Capability ShaderNonUniformEXT Capability RuntimeDescriptorArrayEXT Capability UniformBufferArrayNonUniformIndexingEXT Capability StorageBufferArrayNonUniformIndexingEXT Extension "SPV_EXT_descriptor_heap" Extension "SPV_EXT_descriptor_indexing" 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 9 15 25 34 40 42 54 67 82 ExecutionMode 4 OriginUpperLeft Source GLSL 460 SourceExtension "GL_EXT_descriptor_heap" SourceExtension "GL_EXT_nonuniform_qualifier" Name 4 "main" Name 9 "fragColor" Name 15 "heapTexture2D" Name 25 "heapSampler" Name 34 "uvs" Name 37 "UniformBuffer" MemberName 37(UniformBuffer) 0 "colorOffset" Name 40 "heapUniformBuffer" Name 42 "index" Name 50 "StorageBufferA" MemberName 50(StorageBufferA) 0 "a" Name 54 "heapStorageBufferA" Name 64 "StorageBufferB" MemberName 64(StorageBufferB) 0 "b" Name 67 "heapStorageBufferB" Name 82 "heapTexture3D" Decorate 9(fragColor) Location 0 Decorate 15(heapTexture2D) Binding 1 Decorate 15(heapTexture2D) DescriptorSet 0 Decorate 25(heapSampler) Binding 0 Decorate 25(heapSampler) DescriptorSet 0 Decorate 34(uvs) Location 0 Decorate 37(UniformBuffer) Block MemberDecorate 37(UniformBuffer) 0 Offset 0 Decorate 40(heapUniformBuffer) Binding 4 Decorate 40(heapUniformBuffer) DescriptorSet 0 Decorate 42(index) Flat Decorate 42(index) Location 1 Decorate 50(StorageBufferA) Block MemberDecorate 50(StorageBufferA) 0 Offset 0 Decorate 54(heapStorageBufferA) Binding 2 Decorate 54(heapStorageBufferA) DescriptorSet 0 Decorate 64(StorageBufferB) Block MemberDecorate 64(StorageBufferB) 0 Offset 0 Decorate 67(heapStorageBufferB) Binding 3 Decorate 67(heapStorageBufferB) DescriptorSet 0 Decorate 82(heapTexture3D) Binding 0 Decorate 82(heapTexture3D) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 8: TypePointer Output 7(fvec4) 9(fragColor): 8(ptr) Variable Output 10: TypeImage 6(float) 2D sampled format:Unknown 11: TypeInt 32 0 12: 11(int) Constant 28 13: TypeArray 10 12 14: TypePointer UniformConstant 13 15(heapTexture2D): 14(ptr) Variable UniformConstant 16: TypeInt 32 1 17: 16(int) Constant 27 18: TypePointer UniformConstant 10 21: TypeSampler 22: 11(int) Constant 1 23: TypeArray 21 22 24: TypePointer UniformConstant 23 25(heapSampler): 24(ptr) Variable UniformConstant 26: 16(int) Constant 0 27: TypePointer UniformConstant 21 30: TypeSampledImage 10 32: TypeVector 6(float) 2 33: TypePointer Input 32(fvec2) 34(uvs): 33(ptr) Variable Input 37(UniformBuffer): TypeStruct 7(fvec4) 38: TypeRuntimeArray 37(UniformBuffer) 39: TypePointer Uniform 38 40(heapUniformBuffer): 39(ptr) Variable Uniform 41: TypePointer Input 11(int) 42(index): 41(ptr) Variable Input 45: TypePointer Uniform 7(fvec4) 50(StorageBufferA): TypeStruct 7(fvec4) 51: 11(int) Constant 2 52: TypeArray 50(StorageBufferA) 51 53: TypePointer StorageBuffer 52 54(heapStorageBufferA): 53(ptr) Variable StorageBuffer 55: 16(int) Constant 1 56: 6(float) Constant 1065353216 57: 6(float) Constant 1073741824 58: 6(float) Constant 1077936128 59: 6(float) Constant 1082130432 60: 7(fvec4) ConstantComposite 56 57 58 59 61: TypePointer StorageBuffer 7(fvec4) 63: TypeVector 6(float) 3 64(StorageBufferB): TypeStruct 63(fvec3) 65: TypeRuntimeArray 64(StorageBufferB) 66: TypePointer StorageBuffer 65 67(heapStorageBufferB): 66(ptr) Variable StorageBuffer 70: 11(int) Constant 0 71: TypePointer StorageBuffer 6(float) 74: TypePointer Output 6(float) 79: TypeImage 6(float) 3D sampled format:Unknown 80: TypeArray 79 22 81: TypePointer UniformConstant 80 82(heapTexture3D): 81(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 19: 18(ptr) AccessChain 15(heapTexture2D) 17 20: 10 Load 19 28: 27(ptr) AccessChain 25(heapSampler) 26 29: 21 Load 28 31: 30 SampledImage 20 29 35: 32(fvec2) Load 34(uvs) 36: 7(fvec4) ImageSampleImplicitLod 31 35 Store 9(fragColor) 36 43: 11(int) Load 42(index) 44: 11(int) CopyObject 43 46: 45(ptr) AccessChain 40(heapUniformBuffer) 44 26 47: 7(fvec4) Load 46 48: 7(fvec4) Load 9(fragColor) 49: 7(fvec4) FAdd 48 47 Store 9(fragColor) 49 62: 61(ptr) AccessChain 54(heapStorageBufferA) 55 26 Store 62 60 68: 11(int) Load 42(index) 69: 11(int) CopyObject 68 72: 71(ptr) AccessChain 67(heapStorageBufferB) 69 26 70 73: 6(float) Load 72 75: 74(ptr) AccessChain 9(fragColor) 70 76: 6(float) Load 75 77: 6(float) FAdd 76 73 78: 74(ptr) AccessChain 9(fragColor) 70 Store 78 77 Return FunctionEnd