yum-mirror/glslang

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

Jeff BolzImplement GL_EXT_shader_64bit_indexing (#4082)e2ab21f2

main
7.9 KiB150 linesraw
1spv.64bit_indexing.comp
2// Module Version 10600
3// Generated by (magic number): 8000b
4// Id's are bound by 88
5
6                              Capability Shader
7                              Capability Float16
8                              Capability Int64
9                              Capability VulkanMemoryModelKHR
10                              Capability PhysicalStorageBufferAddressesEXT
11                              Capability CooperativeVectorNV
12                              Capability CapabilityShader64BitIndexingEXT
13                              Capability CooperativeVectorTrainingNV
14                              Capability CooperativeMatrixKHR
15                              Extension  "SPV_EXT_shader_64bit_indexing"
16                              Extension  "SPV_KHR_cooperative_matrix"
17                              Extension  "SPV_NV_cooperative_vector"
18               1:             ExtInstImport  "GLSL.std.450"
19                              MemoryModel PhysicalStorageBuffer64EXT VulkanKHR
20                              EntryPoint GLCompute 4  "main" 22
21                              ExecutionMode 4 Shader64BitIndexingEXT
22                              ExecutionMode 4 LocalSize 64 1 1
23                              Source GLSL 450
24                              SourceExtension  "GL_EXT_buffer_reference"
25                              SourceExtension  "GL_EXT_shader_64bit_indexing"
26                              SourceExtension  "GL_EXT_shader_explicit_arithmetic_types"
27                              SourceExtension  "GL_KHR_cooperative_matrix"
28                              SourceExtension  "GL_KHR_memory_scope_semantics"
29                              SourceExtension  "GL_NV_cooperative_vector"
30                              Name 4  "main"
31                              Name 8  "element"
32                              Name 17  "m"
33                              Name 20  "Block"
34                              MemberName 20(Block) 0  "x"
35                              Name 22  "block"
36                              Name 37  "tempArg"
37                              Name 38  "vec"
38                              Name 49  "tempArg"
39                              Name 55  "tempArg"
40                              Name 71  "y"
41                              Name 76  "len"
42                              Name 81  "len64"
43                              Decorate 19 ArrayStride 4
44                              Decorate 20(Block) Block
45                              MemberDecorate 20(Block) 0 Offset 0
46                              Decorate 22(block) Binding 0
47                              Decorate 22(block) DescriptorSet 0
48               2:             TypeVoid
49               3:             TypeFunction 2
50               6:             TypeInt 64 0
51               7:             TypePointer Function 6(int64_t)
52               9:  6(int64_t) Constant 0 0
53              10:             TypeFloat 16
54              11:             TypeInt 32 0
55              12:     11(int) Constant 3
56              13:     11(int) Constant 16
57              14:     11(int) Constant 0
58              15:             TypeCooperativeMatrixKHR 10(float16_t) 12 13 13 14
59              16:             TypePointer Function 15
60              18:             TypeFloat 32
61              19:             TypeRuntimeArray 18(float)
62       20(Block):             TypeStruct 19
63              21:             TypePointer StorageBuffer 20(Block)
64       22(block):     21(ptr) Variable StorageBuffer
65              23:             TypeInt 32 1
66              24:     23(int) Constant 0
67              26:     11(int) Constant 5
68              27:             TypePointer StorageBuffer 18(float)
69              29:     11(int) Constant 128
70              34:     11(int) Constant 2
71              35:             TypeCooperativeVectorNV 10(float16_t) 34
72              36:             TypePointer Function 35
73              40:             TypePointer StorageBuffer 19
74              45:             TypeBool
75              46:    45(bool) ConstantFalse
76              70:             TypePointer Function 18(float)
77              75:             TypePointer Function 23(int)
78              79:             TypeInt 64 1
79              80:             TypePointer Function 79(int64_t)
80              84:             TypeVector 11(int) 3
81              85:     11(int) Constant 64
82              86:     11(int) Constant 1
83              87:   84(ivec3) ConstantComposite 85 86 86
84         4(main):           2 Function None 3
85               5:             Label
86      8(element):      7(ptr) Variable Function
87           17(m):     16(ptr) Variable Function
88     37(tempArg):     36(ptr) Variable Function
89         38(vec):     36(ptr) Variable Function
90     49(tempArg):     36(ptr) Variable Function
91     55(tempArg):     36(ptr) Variable Function
92           71(y):     70(ptr) Variable Function
93         76(len):     75(ptr) Variable Function
94       81(len64):     80(ptr) Variable Function
95                              Store 8(element) 9
96              25:  6(int64_t) Load 8(element)
97              28:     27(ptr) AccessChain 22(block) 24 25
98              30:          15 CooperativeMatrixLoadKHR 28 24 29 MakePointerVisibleKHR NonPrivatePointerKHR 26
99                              Store 17(m) 30
100              31:          15 Load 17(m)
101              32:  6(int64_t) Load 8(element)
102              33:     27(ptr) AccessChain 22(block) 24 32
103                              CooperativeMatrixStoreKHR 33 31 24 29 MakePointerAvailableKHR NonPrivatePointerKHR 26
104              39:          35 Load 38(vec)
105              41:     40(ptr) AccessChain 22(block) 24
106              42:  6(int64_t) Load 8(element)
107              43:     40(ptr) AccessChain 22(block) 24
108              44:  6(int64_t) Load 8(element)
109              47:          35 CooperativeVectorMatrixMulAddNV 39 24 41 42 24 43 44 24 34 34 24 46 14
110                              Store 37(tempArg) 47
111              48:          35 Load 37(tempArg)
112                              Store 38(vec) 48
113              50:          35 Load 38(vec)
114              51:     40(ptr) AccessChain 22(block) 24
115              52:  6(int64_t) Load 8(element)
116              53:          35 CooperativeVectorMatrixMulNV 50 24 51 52 24 34 34 24 46 14
117                              Store 49(tempArg) 53
118              54:          35 Load 49(tempArg)
119                              Store 38(vec) 54
120              56:     40(ptr) AccessChain 22(block) 24
121              57:  6(int64_t) Load 8(element)
122              58:          35 CooperativeVectorLoadNV 56 57 MakePointerVisibleKHR NonPrivatePointerKHR 26
123                              Store 55(tempArg) 58
124              59:          35 Load 55(tempArg)
125                              Store 38(vec) 59
126              60:          35 Load 38(vec)
127              61:     40(ptr) AccessChain 22(block) 24
128              62:  6(int64_t) Load 8(element)
129                              CooperativeVectorStoreNV 61 62 60 MakePointerAvailableKHR NonPrivatePointerKHR 26
130              63:          35 Load 38(vec)
131              64:          35 Load 38(vec)
132              65:     40(ptr) AccessChain 22(block) 24
133              66:  6(int64_t) Load 8(element)
134                              CooperativeVectorOuterProductAccumulateNV 65 66 63 64 24 24 14
135              67:          35 Load 38(vec)
136              68:     40(ptr) AccessChain 22(block) 24
137              69:  6(int64_t) Load 8(element)
138                              CooperativeVectorReduceSumAccumulateNV 68 69 67
139              72:  6(int64_t) Load 8(element)
140              73:     27(ptr) AccessChain 22(block) 24 72
141              74:   18(float) Load 73 MakePointerVisibleKHR NonPrivatePointerKHR 26
142                              Store 71(y) 74
143              77:     11(int) ArrayLength 22(block) 0
144              78:     23(int) Bitcast 77
145                              Store 76(len) 78
146              82:  6(int64_t) ArrayLength 22(block) 0
147              83: 79(int64_t) Bitcast 82
148                              Store 81(len64) 83
149                              Return
150                              FunctionEnd