Skip to content

Commit 458c5f0

Browse files
committed
Add vulkan subgroupsize restriction
1 parent 4f7f3ff commit 458c5f0

File tree

164 files changed

+175
-269
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

164 files changed

+175
-269
lines changed

include/API/Device.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ class Device {
4545
virtual GPUAPI getAPI() const = 0;
4646
virtual llvm::Error executeProgram(Pipeline &P) = 0;
4747
virtual void printExtra(llvm::raw_ostream &OS) {}
48+
virtual uint32_t getSubgroupSize() = 0;
4849

4950
virtual ~Device() = 0;
5051

lib/API/VK/Device.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,16 @@ class VKDevice : public offloadtest::Device {
325325

326326
llvm::StringRef getAPIName() const override { return "Vulkan"; }
327327
GPUAPI getAPI() const override { return GPUAPI::Vulkan; }
328+
uint32_t getSubgroupSize() override {
329+
VkPhysicalDeviceSubgroupProperties SubgroupProps = {};
330+
SubgroupProps.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES;
331+
332+
VkPhysicalDeviceProperties2 subgroupProperties2 = {};
333+
subgroupProperties2.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2;
334+
subgroupProperties2.pNext = &SubgroupProps;
335+
vkGetPhysicalDeviceProperties2(Device, &subgroupProperties2);
336+
return SubgroupProps.subgroupSize;
337+
}
328338

329339
const Capabilities &getCapabilities() override {
330340
if (Caps.empty())
@@ -361,6 +371,7 @@ class VKDevice : public offloadtest::Device {
361371
}
362372

363373
void printExtra(llvm::raw_ostream &OS) override {
374+
OS << " SubgroupSize: " << getSubgroupSize() << "\n";
364375
OS << " Layers:\n";
365376
for (auto Layer : getLayers()) {
366377
uint64_t Sz = strnlen(Layer.layerName, VK_MAX_EXTENSION_NAME_SIZE);

test/Feature/MaximalReconvergence/cts/tests/16/test_2_16_7_13_0.test

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ DescriptorSets:
109109

110110
...
111111
#--- end
112-
# UNSUPPORTED: Vulkan && !VK_KHR_shader_maximal_reconvergence
112+
# UNSUPPORTED: Vulkan && ( !VK_KHR_shader_maximal_reconvergence || !SubgroupSize16 )
113113

114114
# Bug: Some wave operations are not yet implemented.
115115
# XFAIL: Clang

test/Feature/MaximalReconvergence/cts/tests/16/test_2_16_7_13_1.test

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ DescriptorSets:
120120

121121
...
122122
#--- end
123-
# UNSUPPORTED: Vulkan && !VK_KHR_shader_maximal_reconvergence
123+
# UNSUPPORTED: Vulkan && ( !VK_KHR_shader_maximal_reconvergence || !SubgroupSize16 )
124124

125125
# Bug: Some wave operations are not yet implemented.
126126
# XFAIL: Clang

test/Feature/MaximalReconvergence/cts/tests/16/test_2_16_7_13_2.test

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ DescriptorSets:
9898

9999
...
100100
#--- end
101-
# UNSUPPORTED: Vulkan && !VK_KHR_shader_maximal_reconvergence
101+
# UNSUPPORTED: Vulkan && ( !VK_KHR_shader_maximal_reconvergence || !SubgroupSize16 )
102102

103103
# Bug: Some wave operations are not yet implemented.
104104
# XFAIL: Clang

test/Feature/MaximalReconvergence/cts/tests/16/test_2_16_7_13_3.test

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ DescriptorSets:
136136

137137
...
138138
#--- end
139-
# UNSUPPORTED: Vulkan && !VK_KHR_shader_maximal_reconvergence
139+
# UNSUPPORTED: Vulkan && ( !VK_KHR_shader_maximal_reconvergence || !SubgroupSize16 )
140140

141141
# Bug: Some wave operations are not yet implemented.
142142
# XFAIL: Clang

test/Feature/MaximalReconvergence/cts/tests/16/test_2_16_7_13_4.test

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ DescriptorSets:
107107

108108
...
109109
#--- end
110-
# UNSUPPORTED: Vulkan && !VK_KHR_shader_maximal_reconvergence
110+
# UNSUPPORTED: Vulkan && ( !VK_KHR_shader_maximal_reconvergence || !SubgroupSize16 )
111111

112112
# Bug: Some wave operations are not yet implemented.
113113
# XFAIL: Clang

test/Feature/MaximalReconvergence/cts/tests/16/test_2_16_7_13_5.test

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ DescriptorSets:
105105

106106
...
107107
#--- end
108-
# UNSUPPORTED: Vulkan && !VK_KHR_shader_maximal_reconvergence
108+
# UNSUPPORTED: Vulkan && ( !VK_KHR_shader_maximal_reconvergence || !SubgroupSize16 )
109109

110110
# Bug: Some wave operations are not yet implemented.
111111
# XFAIL: Clang

test/Feature/MaximalReconvergence/cts/tests/16/test_2_16_7_13_6.test

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ DescriptorSets:
102102

103103
...
104104
#--- end
105-
# UNSUPPORTED: Vulkan && !VK_KHR_shader_maximal_reconvergence
105+
# UNSUPPORTED: Vulkan && ( !VK_KHR_shader_maximal_reconvergence || !SubgroupSize16 )
106106

107107
# Bug: Some wave operations are not yet implemented.
108108
# XFAIL: Clang

test/Feature/MaximalReconvergence/cts/tests/16/test_2_16_7_13_7.test

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ DescriptorSets:
113113

114114
...
115115
#--- end
116-
# UNSUPPORTED: Vulkan && !VK_KHR_shader_maximal_reconvergence
116+
# UNSUPPORTED: Vulkan && ( !VK_KHR_shader_maximal_reconvergence || !SubgroupSize16 )
117117

118118
# Bug: Some wave operations are not yet implemented.
119119
# XFAIL: Clang

0 commit comments

Comments
 (0)