diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2021-03-31 13:45:43 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-31 13:45:43 +0200 |
commit | 9cd1e5096993e6b2fc92da098e3ab1ca19f40b07 (patch) | |
tree | 6d416aff668a75acc79652fb7519b925dea9b0e0 /drivers/vulkan/rendering_device_vulkan.cpp | |
parent | 6b25c94bd62a92a82551bf0aa03343bc2b3c3c7b (diff) | |
parent | e93c9fc4ed0e411a9c3ccc33e47d7dbfaf4abeb8 (diff) | |
download | redot-engine-9cd1e5096993e6b2fc92da098e3ab1ca19f40b07.tar.gz |
Merge pull request #47250 from BastiaanOlij/check_vulkan_version
Obtain supported Vulkan API
Diffstat (limited to 'drivers/vulkan/rendering_device_vulkan.cpp')
-rw-r--r-- | drivers/vulkan/rendering_device_vulkan.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/vulkan/rendering_device_vulkan.cpp b/drivers/vulkan/rendering_device_vulkan.cpp index 469d80368d..6d5809feaf 100644 --- a/drivers/vulkan/rendering_device_vulkan.cpp +++ b/drivers/vulkan/rendering_device_vulkan.cpp @@ -7834,6 +7834,18 @@ void RenderingDeviceVulkan::_flush(bool p_current_frame) { } void RenderingDeviceVulkan::initialize(VulkanContext *p_context, bool p_local_device) { + // get our device capabilities + { + device_capabilities.version_major = p_context->get_vulkan_major(); + device_capabilities.version_minor = p_context->get_vulkan_minor(); + + // get info about subgroups + VulkanContext::SubgroupCapabilities subgroup_capabilities = p_context->get_subgroup_capabilities(); + device_capabilities.subgroup_size = subgroup_capabilities.size; + device_capabilities.subgroup_in_shaders = subgroup_capabilities.supported_stages_flags_rd(); + device_capabilities.subgroup_operations = subgroup_capabilities.supported_operations_flags_rd(); + } + context = p_context; device = p_context->get_device(); if (p_local_device) { @@ -8253,6 +8265,7 @@ RenderingDevice *RenderingDeviceVulkan::create_local_device() { } RenderingDeviceVulkan::RenderingDeviceVulkan() { + device_capabilities.device_family = DEVICE_VULKAN; } RenderingDeviceVulkan::~RenderingDeviceVulkan() { |