summaryrefslogtreecommitdiff
path: root/src/renderer/cleanroom/backend_vulkan.h
diff options
context:
space:
mode:
authoromniscient <17525998+omnisci3nce@users.noreply.github.com>2024-03-31 17:37:40 +1100
committeromniscient <17525998+omnisci3nce@users.noreply.github.com>2024-03-31 17:37:40 +1100
commit1a55bc92eaae3509a18e468198772b8888397492 (patch)
tree25b75d8b0f62d76c815af2e1dc096827a84b0248 /src/renderer/cleanroom/backend_vulkan.h
parent1b4c27d514423c9e27a93742b8c8e9eb9f588e27 (diff)
redesigning the renderer backend
Diffstat (limited to 'src/renderer/cleanroom/backend_vulkan.h')
-rw-r--r--src/renderer/cleanroom/backend_vulkan.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/renderer/cleanroom/backend_vulkan.h b/src/renderer/cleanroom/backend_vulkan.h
new file mode 100644
index 0000000..6798b13
--- /dev/null
+++ b/src/renderer/cleanroom/backend_vulkan.h
@@ -0,0 +1,27 @@
+#pragma once
+#include "cleanroom/ral.h"
+
+#define GPU_SWAPCHAIN_IMG_COUNT 2
+
+typedef struct gpu_swapchain {} gpu_swapchain;
+typedef struct gpu_device {
+ // In Vulkan we store both physical and logical device here
+ VkPhysicalDevice physical_device;
+ VkDevice logical_device;
+ VkPhysicalDeviceProperties properties;
+ VkPhysicalDeviceFeatures features;
+ VkPhysicalDeviceMemoryProperties memory;
+ VkCommandPool pool;
+} gpu_device;
+typedef struct gpu_pipeline {} gpu_pipeline;
+
+typedef struct gpu_renderpass {
+ VkRenderPass vk_handle;
+ VkFramebuffer framebuffers[GPU_SWAPCHAIN_IMG_COUNT];
+ u32
+} gpu_renderpass;
+
+
+typedef struct gpu_cmd_encoder {
+ VkCommandBuffer cmd_buffer;
+} gpu_cmd_encoder; \ No newline at end of file