summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_vulkan/renderer_vulkan.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/renderer_vulkan/renderer_vulkan.h')
-rw-r--r--src/video_core/renderer_vulkan/renderer_vulkan.h19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/video_core/renderer_vulkan/renderer_vulkan.h b/src/video_core/renderer_vulkan/renderer_vulkan.h
index d14384e79..42e253de5 100644
--- a/src/video_core/renderer_vulkan/renderer_vulkan.h
+++ b/src/video_core/renderer_vulkan/renderer_vulkan.h
@@ -6,8 +6,11 @@
#include <memory>
#include <optional>
+#include <string>
#include <vector>
+#include "common/dynamic_library.h"
+
#include "video_core/renderer_base.h"
#include "video_core/renderer_vulkan/declarations.h"
@@ -44,18 +47,24 @@ public:
void SwapBuffers(const Tegra::FramebufferConfig* framebuffer) override;
bool TryPresent(int timeout_ms) override;
+ static std::vector<std::string> EnumerateDevices();
+
private:
- std::optional<vk::DebugUtilsMessengerEXT> CreateDebugCallback(
- const vk::DispatchLoaderDynamic& dldi);
+ bool CreateDebugCallback();
- bool PickDevices(const vk::DispatchLoaderDynamic& dldi);
+ bool CreateSurface();
+
+ bool PickDevices();
void Report() const;
Core::System& system;
- vk::Instance instance;
- vk::SurfaceKHR surface;
+ Common::DynamicLibrary library;
+ vk::DispatchLoaderDynamic dld;
+
+ UniqueInstance instance;
+ UniqueSurfaceKHR surface;
VKScreenInfo screen_info;