yum-mirror/glslang

git clone https://git.yummers.dev/yum-mirror/glslang

haorajiaprevent invalid stores when use GLSL_EXT_structured_descriptor_heap.8b68880b

main
10.4 KiB190 linesraw
1spv.structuredDescriptorHeap.ReadOnly.comp
2// Module Version 10400
3// Generated by (magic number): 8000b
4// Id's are bound by 118
5
6                              Capability Shader
7                              Capability UntypedPointersKHR
8                              Capability DescriptorHeapEXT
9                              Capability PhysicalStorageBufferAddressesEXT
10                              Extension  "SPV_EXT_descriptor_heap"
11                              Extension  "SPV_KHR_physical_storage_buffer"
12                              Extension  "SPV_KHR_untyped_pointers"
13               1:             ExtInstImport  "GLSL.std.450"
14                              MemoryModel PhysicalStorageBuffer64EXT GLSL450
15                              EntryPoint GLCompute 4  "main" 20 64
16                              ExecutionMode 4 LocalSize 1 1 1
17                              Source GLSL 460
18                              SourceExtension  "GL_EXT_buffer_reference"
19                              SourceExtension  "GL_EXT_descriptor_heap"
20                              SourceExtension  "GL_EXT_scalar_block_layout"
21                              SourceExtension  "GL_EXT_structured_descriptor_heap"
22                              Name 4  "main"
23                              Name 10  "writeValue(u1;"
24                              Name 9  "value"
25                              Name 13  "updateValue(u1;"
26                              Name 12  "value"
27                              Name 18  "index"
28                              Name 20  "resource_heap"
29                              Name 31  "Material"
30                              Name 58  "BufferHeap0"
31                              Name 59  "BufferReference"
32                              MemberName 59(BufferReference) 0  "value"
33                              Name 64  "sampler_heap"
34                              Name 65  "SamplerHeap0"
35                              MemberName 65(SamplerHeap0) 0  "count"
36                              Name 73  "DataBuffer"
37                              MemberName 73(DataBuffer) 0  "vector"
38                              MemberName 73(DataBuffer) 1  "values"
39                              Name 91  "param"
40                              Name 98  "param"
41                              Decorate 20(resource_heap) BuiltIn ResourceHeapEXT
42                              MemberDecorateIdEXT 31(Material) 0 OffsetIdEXT 23
43                              MemberDecorateIdEXT 31(Material) 1 OffsetIdEXT 30
44                              DecorateId 41 ArrayStrideIdEXT 39
45                              MemberDecorateIdEXT 58(BufferHeap0) 0 OffsetIdEXT 23
46                              MemberDecorateIdEXT 58(BufferHeap0) 1 OffsetIdEXT 46
47                              MemberDecorateIdEXT 58(BufferHeap0) 2 OffsetIdEXT 52
48                              MemberDecorateIdEXT 58(BufferHeap0) 3 OffsetIdEXT 57
49                              Decorate 59(BufferReference) Block
50                              MemberDecorate 59(BufferReference) 0 Offset 0
51                              Decorate 64(sampler_heap) BuiltIn SamplerHeapEXT
52                              Decorate 65(SamplerHeap0) Block
53                              MemberDecorate 65(SamplerHeap0) 0 Offset 0
54                              Decorate 72 ArrayStride 4
55                              Decorate 73(DataBuffer) Block
56                              MemberDecorate 73(DataBuffer) 0 Offset 0
57                              MemberDecorate 73(DataBuffer) 1 Offset 8
58                              Decorate 117 BuiltIn WorkgroupSize
59               2:             TypeVoid
60               3:             TypeFunction 2
61               6:             TypeInt 32 0
62               7:             TypePointer Function 6(int)
63               8:             TypeFunction 2 7(ptr)
64              15:      6(int) Constant 1
65              19:             TypeUntypedPointerKHR UniformConstant
6620(resource_heap):     19(ptr) UntypedVariableKHR UniformConstant
67              21:             TypeBufferEXT StorageBuffer
68                              TypeForwardPointer 22 PhysicalStorageBufferEXT
69              23:      6(int) Constant 0
70              24:      6(int) Constant 4
71              25:      6(int) SpecConstantOp 128 23 24
72              26:      6(int) ConstantSizeOfEXT 21
73              27:      6(int) SpecConstantOp 137 25 26
74              28:      6(int) SpecConstantOp 130 26 27
75              29:      6(int) SpecConstantOp 137 28 26
76              30:      6(int) SpecConstantOp 128 25 29
77    31(Material):             TypeStruct 6(int) 21
78              32:      6(int) SpecConstantOp 128 30 26
79              33:             TypeBool
80              34:    33(bool) SpecConstantOp 172 24 26
81              35:      6(int) SpecConstantOp 169 34 24 26
82              36:      6(int) SpecConstantOp 137 32 35
83              37:      6(int) SpecConstantOp 130 35 36
84              38:      6(int) SpecConstantOp 137 37 35
85              39:      6(int) SpecConstantOp 128 32 38
86              40:      6(int) Constant 2
87              41:             TypeArray 31(Material) 40
88              42:      6(int) SpecConstantOp 128 23 24
89              43:      6(int) SpecConstantOp 137 42 26
90              44:      6(int) SpecConstantOp 130 26 43
91              45:      6(int) SpecConstantOp 137 44 26
92              46:      6(int) SpecConstantOp 128 42 45
93              47:      6(int) SpecConstantOp 128 46 26
94              48:      6(int) Constant 8
95              49:      6(int) SpecConstantOp 137 47 48
96              50:      6(int) SpecConstantOp 130 48 49
97              51:      6(int) SpecConstantOp 137 50 48
98              52:      6(int) SpecConstantOp 128 47 51
99              53:      6(int) SpecConstantOp 128 52 48
100              54:      6(int) SpecConstantOp 137 53 35
101              55:      6(int) SpecConstantOp 130 35 54
102              56:      6(int) SpecConstantOp 137 55 35
103              57:      6(int) SpecConstantOp 128 53 56
104 58(BufferHeap0):             TypeStruct 6(int) 21 22 41
10559(BufferReference):             TypeStruct 6(int)
106              22:             TypePointer PhysicalStorageBufferEXT 59(BufferReference)
107              60:             TypeInt 32 1
108              61:     60(int) Constant 0
10964(sampler_heap):     19(ptr) UntypedVariableKHR UniformConstant
11065(SamplerHeap0):             TypeStruct 6(int)
111              70:     60(int) Constant 1
112              71:             TypeVector 6(int) 2
113              72:             TypeArray 6(int) 40
114  73(DataBuffer):             TypeStruct 71(ivec2) 72
115              77:             TypePointer StorageBuffer 73(DataBuffer)
116              79:             TypePointer StorageBuffer 6(int)
117              81:     60(int) Constant 3
118              88:             TypePointer StorageBuffer 71(ivec2)
119             108:     60(int) Constant 2
120             114:             TypePointer PhysicalStorageBufferEXT 6(int)
121             116:             TypeVector 6(int) 3
122             117:  116(ivec3) ConstantComposite 15 15 15
123         4(main):           2 Function None 3
124               5:             Label
125       18(index):      7(ptr) Variable Function
126       91(param):      7(ptr) Variable Function
127       98(param):      7(ptr) Variable Function
128              62:     19(ptr) UntypedAccessChainKHR 58(BufferHeap0) 20(resource_heap) 61
129              63:      6(int) Load 62
130              66:     19(ptr) UntypedAccessChainKHR 65(SamplerHeap0) 64(sampler_heap) 61
131              67:      6(int) Load 66
132              68:      6(int) IAdd 63 67
133              69:      6(int) BitwiseAnd 68 15
134                              Store 18(index) 69
135              74:     19(ptr) UntypedAccessChainKHR 58(BufferHeap0) 20(resource_heap) 61
136              75:      6(int) Load 74
137              76:     19(ptr) UntypedAccessChainKHR 58(BufferHeap0) 20(resource_heap) 70
138              78:     77(ptr) BufferPointerEXT 76
139              80:     79(ptr) AccessChain 78 70 61
140                              Store 80 75
141              82:      6(int) Load 18(index)
142              83:     19(ptr) UntypedAccessChainKHR 65(SamplerHeap0) 64(sampler_heap) 61
143              84:      6(int) Load 83
144              85:   71(ivec2) CompositeConstruct 84 84
145              86:     19(ptr) UntypedAccessChainKHR 58(BufferHeap0) 20(resource_heap) 81 82 70
146              87:     77(ptr) BufferPointerEXT 86
147              89:     88(ptr) AccessChain 87 61
148                              Store 89 85
149              90:      6(int) Load 18(index)
150              92:           2 FunctionCall 10(writeValue(u1;) 91(param)
151              93:      6(int) Load 91(param)
152              94:     19(ptr) UntypedAccessChainKHR 58(BufferHeap0) 20(resource_heap) 70
153              95:     77(ptr) BufferPointerEXT 94
154              96:     79(ptr) AccessChain 95 70 90
155                              Store 96 93
156              97:      6(int) Load 18(index)
157              99:     19(ptr) UntypedAccessChainKHR 58(BufferHeap0) 20(resource_heap) 81 97 70
158             100:     77(ptr) BufferPointerEXT 99
159             101:     79(ptr) AccessChain 100 70 61
160             102:      6(int) Load 101
161                              Store 98(param) 102
162             103:           2 FunctionCall 13(updateValue(u1;) 98(param)
163             104:      6(int) Load 98(param)
164             105:     19(ptr) UntypedAccessChainKHR 58(BufferHeap0) 20(resource_heap) 81 97 70
165             106:     77(ptr) BufferPointerEXT 105
166             107:     79(ptr) AccessChain 106 70 61
167                              Store 107 104
168             109:     19(ptr) UntypedAccessChainKHR 58(BufferHeap0) 20(resource_heap) 108
169             110:     22(ptr) Load 109
170             111:      6(int) Load 18(index)
171             112:     19(ptr) UntypedAccessChainKHR 58(BufferHeap0) 20(resource_heap) 81 111 61
172             113:      6(int) Load 112
173             115:    114(ptr) AccessChain 110 61
174                              Store 115 113 Aligned 4
175                              Return
176                              FunctionEnd
17710(writeValue(u1;):           2 Function None 8
178        9(value):      7(ptr) FunctionParameter
179              11:             Label
180                              Store 9(value) 15
181                              Return
182                              FunctionEnd
18313(updateValue(u1;):           2 Function None 8
184       12(value):      7(ptr) FunctionParameter
185              14:             Label
186              16:      6(int) Load 12(value)
187              17:      6(int) IAdd 16 15
188                              Store 12(value) 17
189                              Return
190                              FunctionEnd