aboutsummaryrefslogtreecommitdiff
path: root/src/platform/vulkan/vulkan_device.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/platform/vulkan/vulkan_device.h')
-rw-r--r--src/platform/vulkan/vulkan_device.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/platform/vulkan/vulkan_device.h b/src/platform/vulkan/vulkan_device.h
new file mode 100644
index 0000000..efc2433
--- /dev/null
+++ b/src/platform/vulkan/vulkan_device.h
@@ -0,0 +1,17 @@
+#pragma once
+
+#include "rendering/rhi.h"
+
+namespace Donut::RHI
+{
+ // Vulkan implementation of the RHI Device (MoltenVK on macOS). Owns the
+ // instance/device/swapchain and translates the RHI's baked pipelines +
+ // recorded command lists into native Vulkan; the geometry it draws is the
+ // shared SceneRenderer / BlackHoleRenderer, identical to every other backend.
+ auto create_vulkan_device() -> Scope<Device>;
+
+ // Must run BEFORE glfwInit() when Vulkan is the selected API: points GLFW at
+ // the loader the app links against (its own dlopen fails on macOS/Homebrew)
+ // and configures the MoltenVK ICD / layer paths.
+ auto vulkan_prepare_glfw() -> void;
+}