aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/vulkan_common/vulkan_device.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/vulkan_common/vulkan_device.h')
-rw-r--r--src/video_core/vulkan_common/vulkan_device.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/video_core/vulkan_common/vulkan_device.h b/src/video_core/vulkan_common/vulkan_device.h
index a98717bc3e..db92df70a6 100644
--- a/src/video_core/vulkan_common/vulkan_device.h
+++ b/src/video_core/vulkan_common/vulkan_device.h
@@ -399,6 +399,16 @@ FN_MAX_LIMIT_LIST
return features.bit16_storage.uniformAndStorageBuffer16BitAccess;
}
+ /// Returns true if the device supports reading 8-bit values from a storage buffer.
+ bool IsStorageBuffer8BitAccessSupported() const {
+ return features.bit8_storage.storageBuffer8BitAccess;
+ }
+
+ /// Returns true if the device supports reading 16-bit values from a storage buffer.
+ bool IsStorageBuffer16BitAccessSupported() const {
+ return features.bit16_storage.storageBuffer16BitAccess;
+ }
+
/// Returns true if the device supports binding multisample images as storage images.
bool IsStorageImageMultisampleSupported() const {
return features.features.shaderStorageImageMultisample;
@@ -419,6 +429,10 @@ FN_MAX_LIMIT_LIST
return properties.subgroup_properties.supportedOperations & feature;
}
+ VkShaderStageFlags GetSubgroupSupportedStages() const {
+ return properties.subgroup_properties.supportedStages;
+ }
+
/// Returns the maximum number of push descriptors.
u32 MaxPushDescriptors() const {
return properties.push_descriptor.maxPushDescriptors;