From da85f98c91cd6f50158c318a0987fa8eeef1ba97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 17 Jan 2021 17:56:53 +0100 Subject: [PATCH] Vk: move command implementation to files containing related structures. Otherwise the CommandBuffer.cpp would grow indefinitely. --- src/Magnum/Vk/CommandBuffer.cpp | 75 ++------------------------------- src/Magnum/Vk/RenderPass.cpp | 72 +++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+), 71 deletions(-) diff --git a/src/Magnum/Vk/CommandBuffer.cpp b/src/Magnum/Vk/CommandBuffer.cpp index bd004bdde..6e78948c2 100644 --- a/src/Magnum/Vk/CommandBuffer.cpp +++ b/src/Magnum/Vk/CommandBuffer.cpp @@ -83,77 +83,6 @@ CommandBuffer& CommandBuffer::begin(const CommandBufferBeginInfo& info) { return *this; } -CommandBuffer& CommandBuffer::beginRenderPass(const RenderPassBeginInfo& info, const SubpassBeginInfo& beginInfo) { - _device->state().cmdBeginRenderPassImplementation(*this, *info, *beginInfo); - return *this; -} - -void CommandBuffer::beginRenderPassImplementationDefault(CommandBuffer& self, const VkRenderPassBeginInfo& info, const VkSubpassBeginInfo& beginInfo) { - return (**self._device).CmdBeginRenderPass(self, &info, beginInfo.contents); -} - -void CommandBuffer::beginRenderPassImplementationKHR(CommandBuffer& self, const VkRenderPassBeginInfo& info, const VkSubpassBeginInfo& beginInfo) { - return (**self._device).CmdBeginRenderPass2KHR(self, &info, &beginInfo); -} - -void CommandBuffer::beginRenderPassImplementation12(CommandBuffer& self, const VkRenderPassBeginInfo& info, const VkSubpassBeginInfo& beginInfo) { - return (**self._device).CmdBeginRenderPass2(self, &info, &beginInfo); -} - -CommandBuffer& CommandBuffer::beginRenderPass(const RenderPassBeginInfo& info) { - return beginRenderPass(info, SubpassBeginInfo{}); -} - -CommandBuffer& CommandBuffer::nextSubpass(const SubpassEndInfo& endInfo, const SubpassBeginInfo& beginInfo) { - _device->state().cmdNextSubpassImplementation(*this, *endInfo, *beginInfo); - return *this; -} - -void CommandBuffer::nextSubpassImplementationDefault(CommandBuffer& self, const VkSubpassEndInfo&, const VkSubpassBeginInfo& beginInfo) { - return (**self._device).CmdNextSubpass(self, beginInfo.contents); -} - -void CommandBuffer::nextSubpassImplementationKHR(CommandBuffer& self, const VkSubpassEndInfo& endInfo, const VkSubpassBeginInfo& beginInfo) { - return (**self._device).CmdNextSubpass2KHR(self, &beginInfo, &endInfo); -} - -void CommandBuffer::nextSubpassImplementation12(CommandBuffer& self, const VkSubpassEndInfo& endInfo, const VkSubpassBeginInfo& beginInfo) { - return (**self._device).CmdNextSubpass2(self, &beginInfo, &endInfo); -} - -CommandBuffer& CommandBuffer::nextSubpass(const SubpassEndInfo& endInfo) { - return nextSubpass(endInfo, SubpassBeginInfo{}); -} - -CommandBuffer& CommandBuffer::nextSubpass(const SubpassBeginInfo& beginInfo) { - return nextSubpass(SubpassEndInfo{}, beginInfo); -} - -CommandBuffer& CommandBuffer::nextSubpass() { - return nextSubpass(SubpassBeginInfo{}); -} - -CommandBuffer& CommandBuffer::endRenderPass(const SubpassEndInfo& endInfo) { - _device->state().cmdEndRenderPassImplementation(*this, *endInfo); - return *this; -} - -void CommandBuffer::endRenderPassImplementationDefault(CommandBuffer& self, const VkSubpassEndInfo&) { - return (**self._device).CmdEndRenderPass(self); -} - -void CommandBuffer::endRenderPassImplementationKHR(CommandBuffer& self, const VkSubpassEndInfo& endInfo) { - return (**self._device).CmdEndRenderPass2KHR(self, &endInfo); -} - -void CommandBuffer::endRenderPassImplementation12(CommandBuffer& self, const VkSubpassEndInfo& endInfo) { - return (**self._device).CmdEndRenderPass2(self, &endInfo); -} - -CommandBuffer& CommandBuffer::endRenderPass() { - return endRenderPass(SubpassEndInfo{}); -} - void CommandBuffer::end() { MAGNUM_VK_INTERNAL_ASSERT_SUCCESS((**_device).EndCommandBuffer(_handle)); } @@ -164,4 +93,8 @@ VkCommandBuffer CommandBuffer::release() { return handle; } +/* Remaining commands implemented in files corresponding to a class that + defines the inputs, to avoid this file growing indefinitely and depending on + ALL OTHER headers */ + }} diff --git a/src/Magnum/Vk/RenderPass.cpp b/src/Magnum/Vk/RenderPass.cpp index e16661adb..a39275b7d 100644 --- a/src/Magnum/Vk/RenderPass.cpp +++ b/src/Magnum/Vk/RenderPass.cpp @@ -25,6 +25,7 @@ #include "RenderPass.h" #include "RenderPassCreateInfo.h" +#include "CommandBuffer.h" #include #include @@ -893,4 +894,75 @@ SubpassEndInfo::SubpassEndInfo(const VkSubpassEndInfo& info): member instead of doing a copy */ _info(info) {} +CommandBuffer& CommandBuffer::beginRenderPass(const RenderPassBeginInfo& info, const SubpassBeginInfo& beginInfo) { + _device->state().cmdBeginRenderPassImplementation(*this, *info, *beginInfo); + return *this; +} + +void CommandBuffer::beginRenderPassImplementationDefault(CommandBuffer& self, const VkRenderPassBeginInfo& info, const VkSubpassBeginInfo& beginInfo) { + return (**self._device).CmdBeginRenderPass(self, &info, beginInfo.contents); +} + +void CommandBuffer::beginRenderPassImplementationKHR(CommandBuffer& self, const VkRenderPassBeginInfo& info, const VkSubpassBeginInfo& beginInfo) { + return (**self._device).CmdBeginRenderPass2KHR(self, &info, &beginInfo); +} + +void CommandBuffer::beginRenderPassImplementation12(CommandBuffer& self, const VkRenderPassBeginInfo& info, const VkSubpassBeginInfo& beginInfo) { + return (**self._device).CmdBeginRenderPass2(self, &info, &beginInfo); +} + +CommandBuffer& CommandBuffer::beginRenderPass(const RenderPassBeginInfo& info) { + return beginRenderPass(info, SubpassBeginInfo{}); +} + +CommandBuffer& CommandBuffer::nextSubpass(const SubpassEndInfo& endInfo, const SubpassBeginInfo& beginInfo) { + _device->state().cmdNextSubpassImplementation(*this, *endInfo, *beginInfo); + return *this; +} + +void CommandBuffer::nextSubpassImplementationDefault(CommandBuffer& self, const VkSubpassEndInfo&, const VkSubpassBeginInfo& beginInfo) { + return (**self._device).CmdNextSubpass(self, beginInfo.contents); +} + +void CommandBuffer::nextSubpassImplementationKHR(CommandBuffer& self, const VkSubpassEndInfo& endInfo, const VkSubpassBeginInfo& beginInfo) { + return (**self._device).CmdNextSubpass2KHR(self, &beginInfo, &endInfo); +} + +void CommandBuffer::nextSubpassImplementation12(CommandBuffer& self, const VkSubpassEndInfo& endInfo, const VkSubpassBeginInfo& beginInfo) { + return (**self._device).CmdNextSubpass2(self, &beginInfo, &endInfo); +} + +CommandBuffer& CommandBuffer::nextSubpass(const SubpassEndInfo& endInfo) { + return nextSubpass(endInfo, SubpassBeginInfo{}); +} + +CommandBuffer& CommandBuffer::nextSubpass(const SubpassBeginInfo& beginInfo) { + return nextSubpass(SubpassEndInfo{}, beginInfo); +} + +CommandBuffer& CommandBuffer::nextSubpass() { + return nextSubpass(SubpassBeginInfo{}); +} + +CommandBuffer& CommandBuffer::endRenderPass(const SubpassEndInfo& endInfo) { + _device->state().cmdEndRenderPassImplementation(*this, *endInfo); + return *this; +} + +void CommandBuffer::endRenderPassImplementationDefault(CommandBuffer& self, const VkSubpassEndInfo&) { + return (**self._device).CmdEndRenderPass(self); +} + +void CommandBuffer::endRenderPassImplementationKHR(CommandBuffer& self, const VkSubpassEndInfo& endInfo) { + return (**self._device).CmdEndRenderPass2KHR(self, &endInfo); +} + +void CommandBuffer::endRenderPassImplementation12(CommandBuffer& self, const VkSubpassEndInfo& endInfo) { + return (**self._device).CmdEndRenderPass2(self, &endInfo); +} + +CommandBuffer& CommandBuffer::endRenderPass() { + return endRenderPass(SubpassEndInfo{}); +} + }}