yum-mirror/glslang

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

rjenningsFix some edge cases with vk memory model and memory qualifiers37b5bd72

main
6.2 KiB110 linesraw
1spv.bufferReference.memoryModel.block.comp
2// Module Version 10300
3// Generated by (magic number): 8000b
4// Id's are bound by 58
5
6                              Capability Shader
7                              Capability VulkanMemoryModelKHR
8                              Capability PhysicalStorageBufferAddressesEXT
9                              Extension  "SPV_KHR_physical_storage_buffer"
10                              Extension  "SPV_KHR_vulkan_memory_model"
11               1:             ExtInstImport  "GLSL.std.450"
12                              MemoryModel PhysicalStorageBuffer64EXT VulkanKHR
13                              EntryPoint GLCompute 4  "main"
14                              ExecutionMode 4 LocalSize 1 1 1
15                              Source GLSL 450
16                              SourceExtension  "GL_EXT_buffer_reference"
17                              Name 4  "main"
18                              Name 8  "Result"
19                              MemberName 8(Result) 0  "value"
20                              Name 10  "result"
21                              Name 15  "Push"
22                              MemberName 15(Push) 0  "ref"
23                              MemberName 15(Push) 1  "members"
24                              Name 16  "Payload"
25                              MemberName 16(Payload) 0  "values"
26                              Name 18  "BlockQualifiedRef"
27                              MemberName 18(BlockQualifiedRef) 0  "data"
28                              Name 19  "MemberQualifiedRef"
29                              MemberName 19(MemberQualifiedRef) 0  "coherentValue"
30                              MemberName 19(MemberQualifiedRef) 1  "volatileValue"
31                              Name 21  "pc"
32                              Decorate 8(Result) Block
33                              MemberDecorate 8(Result) 0 Offset 0
34                              Decorate 10(result) Binding 0
35                              Decorate 10(result) DescriptorSet 0
36                              Decorate 15(Push) Block
37                              MemberDecorate 15(Push) 0 Offset 0
38                              MemberDecorate 15(Push) 1 Offset 8
39                              MemberDecorate 16(Payload) 0 Offset 0
40                              Decorate 17 ArrayStride 8
41                              Decorate 18(BlockQualifiedRef) Block
42                              MemberDecorate 18(BlockQualifiedRef) 0 Offset 0
43                              Decorate 19(MemberQualifiedRef) Block
44                              MemberDecorate 19(MemberQualifiedRef) 0 Offset 0
45                              MemberDecorate 19(MemberQualifiedRef) 1 Offset 4
46               2:             TypeVoid
47               3:             TypeFunction 2
48               6:             TypeInt 32 0
49               7:             TypeVector 6(int) 2
50       8(Result):             TypeStruct 7(ivec2)
51               9:             TypePointer StorageBuffer 8(Result)
52      10(result):      9(ptr) Variable StorageBuffer
53              11:             TypeInt 32 1
54              12:     11(int) Constant 0
55                              TypeForwardPointer 13 PhysicalStorageBufferEXT
56                              TypeForwardPointer 14 PhysicalStorageBufferEXT
57        15(Push):             TypeStruct 13 14
58     16(Payload):             TypeStruct 7(ivec2)
59              17:             TypeRuntimeArray 16(Payload)
6018(BlockQualifiedRef):             TypeStruct 17
61              13:             TypePointer PhysicalStorageBufferEXT 18(BlockQualifiedRef)
6219(MemberQualifiedRef):             TypeStruct 6(int) 6(int)
63              14:             TypePointer PhysicalStorageBufferEXT 19(MemberQualifiedRef)
64              20:             TypePointer PushConstant 15(Push)
65          21(pc):     20(ptr) Variable PushConstant
66              22:             TypePointer PushConstant 13(ptr)
67              25:             TypePointer PhysicalStorageBufferEXT 7(ivec2)
68              28:      6(int) Constant 5
69              29:             TypePointer StorageBuffer 7(ivec2)
70              33:     11(int) Constant 1
71              37:             TypePointer PushConstant 14(ptr)
72              40:             TypePointer PhysicalStorageBufferEXT 6(int)
73              48:      6(int) Constant 0
74              49:             TypePointer StorageBuffer 6(int)
75              56:      6(int) Constant 6
76         4(main):           2 Function None 3
77               5:             Label
78              23:     22(ptr) AccessChain 21(pc) 12
79              24:     13(ptr) Load 23
80              26:     25(ptr) AccessChain 24 12 12 12
81              27:    7(ivec2) Load 26 Volatile Aligned MakePointerVisibleKHR NonPrivatePointerKHR 8 28
82              30:     29(ptr) AccessChain 10(result) 12
83                              Store 30 27
84              31:     22(ptr) AccessChain 21(pc) 12
85              32:     13(ptr) Load 31
86              34:     29(ptr) AccessChain 10(result) 12
87              35:    7(ivec2) Load 34
88              36:     25(ptr) AccessChain 32 12 33 12
89                              Store 36 35 Volatile Aligned MakePointerAvailableKHR NonPrivatePointerKHR 8 28
90              38:     37(ptr) AccessChain 21(pc) 33
91              39:     14(ptr) Load 38
92              41:     40(ptr) AccessChain 39 12
93              42:      6(int) Load 41 Aligned MakePointerVisibleKHR NonPrivatePointerKHR 16 28
94              43:     37(ptr) AccessChain 21(pc) 33
95              44:     14(ptr) Load 43
96              45:     40(ptr) AccessChain 44 33
97              46:      6(int) Load 45 Volatile Aligned MakePointerVisibleKHR NonPrivatePointerKHR 4 28
98              47:      6(int) IAdd 42 46
99              50:     49(ptr) AccessChain 10(result) 12 48
100                              Store 50 47
101              51:     37(ptr) AccessChain 21(pc) 33
102              52:     14(ptr) Load 51
103              53:     40(ptr) AccessChain 52 12
104                              Store 53 28 Aligned MakePointerAvailableKHR NonPrivatePointerKHR 16 28
105              54:     37(ptr) AccessChain 21(pc) 33
106              55:     14(ptr) Load 54
107              57:     40(ptr) AccessChain 55 33
108                              Store 57 56 Volatile Aligned MakePointerAvailableKHR NonPrivatePointerKHR 4 28
109                              Return
110                              FunctionEnd