7
7
// Test deducing minimal version.
8
8
// spirv.IAdd is available from v1.0.
9
9
10
- // CHECK: requires #spirv.vce<v1.0, [Shader], []>
10
+ // CHECK: requires #spirv.vce<v1.0, [Shader, Matrix ], []>
11
11
spirv.module Logical GLSL450 attributes {
12
12
spirv.target_env = #spirv.target_env <
13
13
#spirv.vce <v1.5 , [Shader ], []>, #spirv.resource_limits <>>
@@ -21,7 +21,7 @@ spirv.module Logical GLSL450 attributes {
21
21
// Test deducing minimal version.
22
22
// spirv.GroupNonUniformBallot is available since v1.3.
23
23
24
- // CHECK: requires #spirv.vce<v1.3, [GroupNonUniformBallot, Shader], []>
24
+ // CHECK: requires #spirv.vce<v1.3, [GroupNonUniformBallot, GroupNonUniform, Shader, Matrix ], []>
25
25
spirv.module Logical GLSL450 attributes {
26
26
spirv.target_env = #spirv.target_env <
27
27
#spirv.vce <v1.5 , [Shader , GroupNonUniformBallot ], []>, #spirv.resource_limits <>>
@@ -32,7 +32,7 @@ spirv.module Logical GLSL450 attributes {
32
32
}
33
33
}
34
34
35
- // CHECK: requires #spirv.vce<v1.4, [Shader], []>
35
+ // CHECK: requires #spirv.vce<v1.4, [Shader, Matrix ], []>
36
36
spirv.module Logical GLSL450 attributes {
37
37
spirv.target_env = #spirv.target_env <#spirv.vce <v1.6 , [Shader ], []>, #spirv.resource_limits <>>
38
38
} {
@@ -48,7 +48,7 @@ spirv.module Logical GLSL450 attributes {
48
48
49
49
// Test minimal capabilities.
50
50
51
- // CHECK: requires #spirv.vce<v1.0, [Shader], []>
51
+ // CHECK: requires #spirv.vce<v1.0, [Shader, Matrix ], []>
52
52
spirv.module Logical GLSL450 attributes {
53
53
spirv.target_env = #spirv.target_env <
54
54
#spirv.vce <v1.0 , [Shader , Float16 , Float64 , Int16 , Int64 , VariablePointers ], []>, #spirv.resource_limits <>>
@@ -61,10 +61,10 @@ spirv.module Logical GLSL450 attributes {
61
61
62
62
// Test Physical Storage Buffers are deduced correctly.
63
63
64
- // CHECK: spirv.module PhysicalStorageBuffer64 GLSL450 requires #spirv.vce<v1.0, [PhysicalStorageBufferAddresses, Shader], [SPV_EXT_physical_storage_buffer]>
64
+ // CHECK: spirv.module PhysicalStorageBuffer64 GLSL450 requires #spirv.vce<v1.0, [PhysicalStorageBufferAddresses, Shader, Matrix ], [SPV_EXT_physical_storage_buffer]>
65
65
spirv.module PhysicalStorageBuffer64 GLSL450 attributes {
66
66
spirv.target_env = #spirv.target_env <
67
- #spirv.vce <v1.0 , [Shader , PhysicalStorageBufferAddresses ], [SPV_EXT_physical_storage_buffer ]>, #spirv.resource_limits <>>
67
+ #spirv.vce <v1.0 , [PhysicalStorageBufferAddresses ], [SPV_EXT_physical_storage_buffer ]>, #spirv.resource_limits <>>
68
68
} {
69
69
spirv.func @physical_ptr (%val : !spirv.ptr <f32 , PhysicalStorageBuffer > { spirv.decoration = #spirv.decoration <Aliased > }) " None" {
70
70
spirv.Return
@@ -74,7 +74,7 @@ spirv.module PhysicalStorageBuffer64 GLSL450 attributes {
74
74
// Test deducing implied capability.
75
75
// AtomicStorage implies Shader.
76
76
77
- // CHECK: requires #spirv.vce<v1.0, [Shader], []>
77
+ // CHECK: requires #spirv.vce<v1.0, [Shader, Matrix ], []>
78
78
spirv.module Logical GLSL450 attributes {
79
79
spirv.target_env = #spirv.target_env <
80
80
#spirv.vce <v1.0 , [AtomicStorage ], []>, #spirv.resource_limits <>>
@@ -95,7 +95,7 @@ spirv.module Logical GLSL450 attributes {
95
95
// * GroupNonUniformArithmetic
96
96
// * GroupNonUniformBallot
97
97
98
- // CHECK: requires #spirv.vce<v1.3, [GroupNonUniformArithmetic, Shader], []>
98
+ // CHECK: requires #spirv.vce<v1.3, [GroupNonUniformArithmetic, GroupNonUniform, Shader, Matrix ], []>
99
99
spirv.module Logical GLSL450 attributes {
100
100
spirv.target_env = #spirv.target_env <
101
101
#spirv.vce <v1.3 , [Shader , GroupNonUniformArithmetic ], []>, #spirv.resource_limits <>>
@@ -106,7 +106,7 @@ spirv.module Logical GLSL450 attributes {
106
106
}
107
107
}
108
108
109
- // CHECK: requires #spirv.vce<v1.3, [GroupNonUniformClustered, GroupNonUniformBallot, Shader], []>
109
+ // CHECK: requires #spirv.vce<v1.3, [GroupNonUniformClustered, GroupNonUniformBallot, GroupNonUniform, Shader, Matrix ], []>
110
110
spirv.module Logical GLSL450 attributes {
111
111
spirv.target_env = #spirv.target_env <
112
112
#spirv.vce <v1.3 , [Shader , GroupNonUniformClustered , GroupNonUniformBallot ], []>, #spirv.resource_limits <>>
@@ -120,7 +120,7 @@ spirv.module Logical GLSL450 attributes {
120
120
// Test type required capabilities
121
121
122
122
// Using 8-bit integers in non-interface storage class requires Int8.
123
- // CHECK: requires #spirv.vce<v1.0, [Int8, Shader], []>
123
+ // CHECK: requires #spirv.vce<v1.0, [Int8, Shader, Matrix ], []>
124
124
spirv.module Logical GLSL450 attributes {
125
125
spirv.target_env = #spirv.target_env <
126
126
#spirv.vce <v1.3 , [Shader , Int8 ], []>, #spirv.resource_limits <>>
@@ -132,7 +132,7 @@ spirv.module Logical GLSL450 attributes {
132
132
}
133
133
134
134
// Using 16-bit floats in non-interface storage class requires Float16.
135
- // CHECK: requires #spirv.vce<v1.0, [Float16, Shader], []>
135
+ // CHECK: requires #spirv.vce<v1.0, [Float16, Shader, Matrix ], []>
136
136
spirv.module Logical GLSL450 attributes {
137
137
spirv.target_env = #spirv.target_env <
138
138
#spirv.vce <v1.3 , [Shader , Float16 ], []>, #spirv.resource_limits <>>
@@ -144,7 +144,7 @@ spirv.module Logical GLSL450 attributes {
144
144
}
145
145
146
146
// Using 16-element vectors requires Vector16.
147
- // CHECK: requires #spirv.vce<v1.0, [Vector16, Shader], []>
147
+ // CHECK: requires #spirv.vce<v1.0, [Vector16, Kernel, Shader, Matrix ], []>
148
148
spirv.module Logical GLSL450 attributes {
149
149
spirv.target_env = #spirv.target_env <
150
150
#spirv.vce <v1.3 , [Shader , Vector16 ], []>, #spirv.resource_limits <>>
@@ -162,7 +162,7 @@ spirv.module Logical GLSL450 attributes {
162
162
// Test deducing minimal extensions.
163
163
// spirv.KHR.SubgroupBallot requires the SPV_KHR_shader_ballot extension.
164
164
165
- // CHECK: requires #spirv.vce<v1.0, [SubgroupBallotKHR, Shader], [SPV_KHR_shader_ballot]>
165
+ // CHECK: requires #spirv.vce<v1.0, [SubgroupBallotKHR, Shader, Matrix ], [SPV_KHR_shader_ballot]>
166
166
spirv.module Logical GLSL450 attributes {
167
167
spirv.target_env = #spirv.target_env <
168
168
#spirv.vce <v1.0 , [Shader , SubgroupBallotKHR ],
@@ -193,7 +193,7 @@ spirv.module Logical Vulkan attributes {
193
193
194
194
// Using 8-bit integers in interface storage class requires additional
195
195
// extensions and capabilities.
196
- // CHECK: requires #spirv.vce<v1.0, [StorageBuffer16BitAccess, Shader, Int16], [SPV_KHR_16bit_storage, SPV_KHR_storage_buffer_storage_class]>
196
+ // CHECK: requires #spirv.vce<v1.0, [StorageBuffer16BitAccess, Shader, Int16, Matrix ], [SPV_KHR_16bit_storage, SPV_KHR_storage_buffer_storage_class]>
197
197
spirv.module Logical GLSL450 attributes {
198
198
spirv.target_env = #spirv.target_env <
199
199
#spirv.vce <v1.3 , [Shader , StorageBuffer16BitAccess , Int16 ], []>, #spirv.resource_limits <>>
@@ -208,7 +208,7 @@ spirv.module Logical GLSL450 attributes {
208
208
// Complicated nested types
209
209
// * Buffer requires ImageBuffer or SampledBuffer.
210
210
// * Rg32f requires StorageImageExtendedFormats.
211
- // CHECK: requires #spirv.vce<v1.0, [UniformAndStorageBuffer8BitAccess, StorageUniform16, Int64, Shader, ImageBuffer, StorageImageExtendedFormats], [SPV_KHR_8bit_storage, SPV_KHR_16bit_storage]>
211
+ // CHECK: requires #spirv.vce<v1.0, [UniformAndStorageBuffer8BitAccess, StorageUniform16, Int64, Shader, StorageBuffer8BitAccess, StorageBuffer16BitAccess, Matrix, ImageBuffer, StorageImageExtendedFormats, SampledBuffer ], [SPV_KHR_8bit_storage, SPV_KHR_16bit_storage]>
212
212
spirv.module Logical GLSL450 attributes {
213
213
spirv.target_env = #spirv.target_env <
214
214
#spirv.vce <v1.5 , [Shader , UniformAndStorageBuffer8BitAccess , StorageBuffer16BitAccess , StorageUniform16 , Int16 , Int64 , ImageBuffer , StorageImageExtendedFormats ], []>,
@@ -219,7 +219,7 @@ spirv.module Logical GLSL450 attributes {
219
219
}
220
220
221
221
// Using bfloat16 requires BFloat16TypeKHR capability and SPV_KHR_bfloat16 extension.
222
- // CHECK: requires #spirv.vce<v1.0, [StorageBuffer16BitAccess, Shader, BFloat16TypeKHR], [SPV_KHR_bfloat16, SPV_KHR_16bit_storage, SPV_KHR_storage_buffer_storage_class]>
222
+ // CHECK: requires #spirv.vce<v1.0, [StorageBuffer16BitAccess, Shader, BFloat16TypeKHR, Matrix ], [SPV_KHR_bfloat16, SPV_KHR_16bit_storage, SPV_KHR_storage_buffer_storage_class]>
223
223
spirv.module Logical GLSL450 attributes {
224
224
spirv.target_env = #spirv.target_env <
225
225
#spirv.vce <v1.0 , [Shader , StorageBuffer16BitAccess , BFloat16TypeKHR ], [SPV_KHR_bfloat16 , SPV_KHR_16bit_storage , SPV_KHR_storage_buffer_storage_class ]>,
0 commit comments