From 4bcabdebd1d245bc207bc3a3f2e2430dea0a70a6 Mon Sep 17 00:00:00 2001 From: Jayden Grubb Date: Tue, 22 Apr 2025 19:00:36 +1000 Subject: [PATCH] Add RenderDriver::create_render_pass() stub --- engine/include/nova/render/render_driver.h | 3 +++ engine/src/drivers/vulkan/render_driver.cpp | 13 +++++++++++++ engine/src/drivers/vulkan/render_driver.h | 3 +++ 3 files changed, 19 insertions(+) diff --git a/engine/include/nova/render/render_driver.h b/engine/include/nova/render/render_driver.h index c3a99d9..ab844a7 100644 --- a/engine/include/nova/render/render_driver.h +++ b/engine/include/nova/render/render_driver.h @@ -44,5 +44,8 @@ namespace Nova { [[nodiscard]] virtual PipelineID create_pipeline(GraphicsPipelineParams& params) = 0; [[nodiscard]] virtual PipelineID create_pipeline(ComputePipelineParams& params) = 0; virtual void destroy_pipeline(PipelineID pipeline) = 0; + + [[nodiscard]] virtual RenderPassID create_render_pass() = 0; + virtual void destroy_render_pass(RenderPassID render_pass) = 0; }; } // namespace Nova diff --git a/engine/src/drivers/vulkan/render_driver.cpp b/engine/src/drivers/vulkan/render_driver.cpp index ce6cc79..c440f98 100644 --- a/engine/src/drivers/vulkan/render_driver.cpp +++ b/engine/src/drivers/vulkan/render_driver.cpp @@ -500,6 +500,19 @@ void VulkanRenderDriver::destroy_pipeline(PipelineID p_pipeline) { delete p_pipeline; } +RenderPassID VulkanRenderDriver::create_render_pass() { + NOVA_AUTO_TRACE(); + NOVA_WARN("{}() not implemented", NOVA_FUNC_NAME); + RenderPass* render_pass = new RenderPass(); + return render_pass; +} + +void VulkanRenderDriver::destroy_render_pass(RenderPassID p_render_pass) { + NOVA_AUTO_TRACE(); + NOVA_ASSERT(p_render_pass); + delete p_render_pass; +} + VkInstance VulkanRenderDriver::get_instance() const { return m_instance; } diff --git a/engine/src/drivers/vulkan/render_driver.h b/engine/src/drivers/vulkan/render_driver.h index 9880ccf..d7e8df9 100644 --- a/engine/src/drivers/vulkan/render_driver.h +++ b/engine/src/drivers/vulkan/render_driver.h @@ -74,6 +74,9 @@ namespace Nova { [[nodiscard]] PipelineID create_pipeline(ComputePipelineParams& params) override; void destroy_pipeline(PipelineID pipeline) override; + [[nodiscard]] RenderPassID create_render_pass() override; + void destroy_render_pass(RenderPassID render_pass) override; + [[nodiscard]] VkInstance get_instance() const; [[nodiscard]] VkAllocationCallbacks* get_allocator(VkObjectType type) const;