aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2020-03-31 21:30:19 -0300
committerReinUsesLisp <reinuseslisp@airmail.cc>2020-03-31 21:32:08 -0300
commitf22f6b72c3ebef386abdce2efbc829a8113e8b9b (patch)
tree5063fa4f3fa135b6c320ac5ba57c9bac9b4c959f
parent27dd542c601cb5b2a97dbdd9535662cb2fd83932 (diff)
renderer_vulkan/wrapper: Add vkEnumerateInstanceExtensionProperties wrapper
-rw-r--r--src/video_core/renderer_vulkan/wrapper.cpp14
-rw-r--r--src/video_core/renderer_vulkan/wrapper.h3
2 files changed, 17 insertions, 0 deletions
diff --git a/src/video_core/renderer_vulkan/wrapper.cpp b/src/video_core/renderer_vulkan/wrapper.cpp
index 242cfff6e7..9b94dfff18 100644
--- a/src/video_core/renderer_vulkan/wrapper.cpp
+++ b/src/video_core/renderer_vulkan/wrapper.cpp
@@ -733,4 +733,18 @@ VkPhysicalDeviceMemoryProperties PhysicalDevice::GetMemoryProperties() const noe
return properties;
}
+std::optional<std::vector<VkExtensionProperties>> EnumerateInstanceExtensionProperties(
+ const InstanceDispatch& dld) {
+ u32 num;
+ if (dld.vkEnumerateInstanceExtensionProperties(nullptr, &num, nullptr) != VK_SUCCESS) {
+ return std::nullopt;
+ }
+ std::vector<VkExtensionProperties> properties(num);
+ if (dld.vkEnumerateInstanceExtensionProperties(nullptr, &num, properties.data()) !=
+ VK_SUCCESS) {
+ return std::nullopt;
+ }
+ return properties;
+}
+
} // namespace Vulkan::vk
diff --git a/src/video_core/renderer_vulkan/wrapper.h b/src/video_core/renderer_vulkan/wrapper.h
index 1f91cceb2f..fb36578198 100644
--- a/src/video_core/renderer_vulkan/wrapper.h
+++ b/src/video_core/renderer_vulkan/wrapper.h
@@ -981,4 +981,7 @@ private:
const DeviceDispatch* dld;
};
+std::optional<std::vector<VkExtensionProperties>> EnumerateInstanceExtensionProperties(
+ const InstanceDispatch& dld);
+
} // namespace Vulkan::vk