Skip to content

Commit 7e3af17

Browse files
committed
[*] Move wrapper code for command buffers and command pools into subfolder
1 parent c40f73f commit 7e3af17

File tree

10 files changed

+44
-25
lines changed

10 files changed

+44
-25
lines changed

include/inexor/vulkan-renderer/render_graph.hpp

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,26 @@
1616
// TODO: Compute stages.
1717
// TODO: Uniform buffers.
1818

19-
// Forward declarations
2019
namespace inexor::vulkan_renderer::wrapper {
21-
class CommandBuffer;
20+
// Forward declaration
2221
class Shader;
2322
}; // namespace inexor::vulkan_renderer::wrapper
2423

24+
namespace inexor::vulkan_renderer::wrapper::commands {
25+
// Forward declaration
26+
class CommandBuffer;
27+
} // namespace inexor::vulkan_renderer::wrapper::commands
28+
2529
namespace inexor::vulkan_renderer {
2630

2731
// Forward declarations
2832
class PhysicalResource;
2933
class PhysicalStage;
3034
class RenderGraph;
3135

36+
// Using declaration
37+
using wrapper::commands::CommandBuffer;
38+
3239
/// @brief Base class of all render graph objects (resources and stages).
3340
/// @note This is just for internal use.
3441
struct RenderGraphObject {
@@ -167,7 +174,7 @@ class RenderStage : public RenderGraphObject {
167174

168175
std::vector<VkDescriptorSetLayout> m_descriptor_layouts;
169176
std::vector<VkPushConstantRange> m_push_constant_ranges;
170-
std::function<void(const PhysicalStage &, const wrapper::CommandBuffer &)> m_on_record{[](auto &, auto &) {}};
177+
std::function<void(const PhysicalStage &, const CommandBuffer &)> m_on_record{[](auto &, auto &) {}};
171178

172179
protected:
173180
explicit RenderStage(std::string name) : m_name(std::move(name)) {}
@@ -393,7 +400,7 @@ class RenderGraph {
393400

394401
// Functions for building stage related vulkan objects.
395402
void build_pipeline_layout(const RenderStage *, PhysicalStage &) const;
396-
void record_command_buffer(const RenderStage *, const wrapper::CommandBuffer &cmd_buf,
403+
void record_command_buffer(const RenderStage *, const wrapper::commands::CommandBuffer &cmd_buf,
397404
std::uint32_t image_index) const;
398405

399406
// Functions for building graphics stage related vulkan objects.
@@ -427,7 +434,7 @@ class RenderGraph {
427434
/// @brief Submits the command frame's command buffers for drawing.
428435
/// @param image_index The current image index, retrieved from Swapchain::acquire_next_image
429436
/// @param cmd_buf The command buffer
430-
void render(std::uint32_t image_index, const wrapper::CommandBuffer &cmd_buf);
437+
void render(std::uint32_t image_index, const wrapper::commands::CommandBuffer &cmd_buf);
431438
};
432439

433440
template <typename T>

include/inexor/vulkan-renderer/wrapper/command_buffer.hpp renamed to include/inexor/vulkan-renderer/wrapper/commands/command_buffer.hpp

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,15 @@
99
#include <vector>
1010

1111
namespace inexor::vulkan_renderer::wrapper {
12-
1312
// Forward declaration
14-
class Device;
13+
class wrapper::Device;
14+
} // namespace inexor::vulkan_renderer::wrapper
15+
16+
namespace inexor::vulkan_renderer::wrapper::commands {
17+
18+
// Using declarations
19+
using wrapper::Device;
20+
using wrapper::Fence;
1521

1622
/// @brief RAII wrapper class for VkCommandBuffer.
1723
/// @todo Make trivially copyable (this class doesn't really "own" the command buffer, more just an OOP wrapper).
@@ -364,4 +370,4 @@ class CommandBuffer {
364370
const CommandBuffer &submit_and_wait() const; // NOLINT
365371
};
366372

367-
} // namespace inexor::vulkan_renderer::wrapper
373+
} // namespace inexor::vulkan_renderer::wrapper::commands

include/inexor/vulkan-renderer/wrapper/command_pool.hpp renamed to include/inexor/vulkan-renderer/wrapper/commands/command_pool.hpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,16 @@
33
#include <spdlog/spdlog.h>
44
#include <volk.h>
55

6-
#include "inexor/vulkan-renderer/wrapper/command_buffer.hpp"
6+
#include "inexor/vulkan-renderer/wrapper/commands/command_buffer.hpp"
77

88
#include <cassert>
99

1010
namespace inexor::vulkan_renderer::wrapper {
11-
1211
// Forward declaration
1312
class Device;
13+
} // namespace inexor::vulkan_renderer::wrapper
14+
15+
namespace inexor::vulkan_renderer::wrapper::commands {
1416

1517
/// @brief RAII wrapper class for VkCommandPool.
1618
class CommandPool {
@@ -49,4 +51,4 @@ class CommandPool {
4951
[[nodiscard]] const CommandBuffer &request_command_buffer(const std::string &name);
5052
};
5153

52-
} // namespace inexor::vulkan_renderer::wrapper
54+
} // namespace inexor::vulkan_renderer::wrapper::commands

include/inexor/vulkan-renderer/wrapper/device.hpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#pragma once
22

3-
#include "inexor/vulkan-renderer/wrapper/command_pool.hpp"
3+
#include "inexor/vulkan-renderer/wrapper/commands/command_pool.hpp"
44

55
#include <array>
66
#include <functional>
@@ -13,6 +13,9 @@ namespace inexor::vulkan_renderer::wrapper {
1313
// Forward declaration
1414
class Instance;
1515

16+
using wrapper::commands::CommandBuffer;
17+
using wrapper::commands::CommandPool;
18+
1619
/// A wrapper struct for physical device data
1720
struct DeviceInfo {
1821
std::string name;

src/CMakeLists.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@ set(INEXOR_SOURCE_FILES
2121
vulkan-renderer/tools/file.cpp
2222
vulkan-renderer/tools/representation.cpp
2323

24-
vulkan-renderer/wrapper/command_buffer.cpp
25-
vulkan-renderer/wrapper/command_pool.cpp
2624
vulkan-renderer/wrapper/cpu_texture.cpp
2725
vulkan-renderer/wrapper/descriptor.cpp
2826
vulkan-renderer/wrapper/descriptor_builder.cpp
@@ -39,6 +37,9 @@ set(INEXOR_SOURCE_FILES
3937
vulkan-renderer/wrapper/swapchain.cpp
4038
vulkan-renderer/wrapper/uniform_buffer.cpp
4139

40+
vulkan-renderer/wrapper/commands/command_buffer.cpp
41+
vulkan-renderer/wrapper/commands/command_pool.cpp
42+
4243
vulkan-renderer/wrapper/window/window.cpp
4344
vulkan-renderer/wrapper/window/surface.cpp
4445

src/vulkan-renderer/imgui.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ void ImGUIOverlay::update() {
164164
return;
165165
}
166166

167-
m_stage->set_on_record([this](const PhysicalStage &physical, const wrapper::CommandBuffer &cmd_buf) {
167+
m_stage->set_on_record([this](const PhysicalStage &physical, const wrapper::commands::CommandBuffer &cmd_buf) {
168168
ImDrawData *imgui_draw_data = ImGui::GetDrawData();
169169
if (imgui_draw_data == nullptr) {
170170
return;

src/vulkan-renderer/render_graph.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#include "inexor/vulkan-renderer/render_graph.hpp"
22

33
#include "inexor/vulkan-renderer/exception.hpp"
4-
#include "inexor/vulkan-renderer/wrapper/command_buffer.hpp"
4+
#include "inexor/vulkan-renderer/wrapper/commands/command_buffer.hpp"
55
#include "inexor/vulkan-renderer/wrapper/make_info.hpp"
66
#include "inexor/vulkan-renderer/wrapper/shader.hpp"
77

@@ -167,7 +167,7 @@ void RenderGraph::build_pipeline_layout(const RenderStage *stage, PhysicalStage
167167
}
168168
}
169169

170-
void RenderGraph::record_command_buffer(const RenderStage *stage, const wrapper::CommandBuffer &cmd_buf,
170+
void RenderGraph::record_command_buffer(const RenderStage *stage, const wrapper::commands::CommandBuffer &cmd_buf,
171171
const std::uint32_t image_index) const {
172172
const PhysicalStage &physical = *stage->m_physical;
173173

@@ -528,7 +528,7 @@ void RenderGraph::compile(const RenderResource *target) {
528528
}
529529
}
530530

531-
void RenderGraph::render(const std::uint32_t image_index, const wrapper::CommandBuffer &cmd_buf) {
531+
void RenderGraph::render(const std::uint32_t image_index, const wrapper::commands::CommandBuffer &cmd_buf) {
532532
// Update dynamic buffers.
533533
for (auto &buffer_resource : m_buffer_resources) {
534534
if (buffer_resource->m_data_upload_needed) {

src/vulkan-renderer/renderer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ void VulkanRenderer::setup_render_graph() {
2929
main_stage->bind_buffer(m_vertex_buffer, 0);
3030
main_stage->set_clears_screen(true);
3131
main_stage->set_depth_options(true, true);
32-
main_stage->set_on_record([&](const PhysicalStage &physical, const wrapper::CommandBuffer &cmd_buf) {
32+
main_stage->set_on_record([&](const PhysicalStage &physical, const wrapper::commands::CommandBuffer &cmd_buf) {
3333
cmd_buf.bind_descriptor_sets(m_descriptors[0].descriptor_sets(), physical.pipeline_layout());
3434
cmd_buf.draw_indexed(static_cast<std::uint32_t>(m_octree_indices.size()));
3535
});

src/vulkan-renderer/wrapper/command_buffer.cpp renamed to src/vulkan-renderer/wrapper/commands/command_buffer.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include "inexor/vulkan-renderer/wrapper/command_buffer.hpp"
1+
#include "inexor/vulkan-renderer/wrapper/commands/command_buffer.hpp"
22

33
#include "inexor/vulkan-renderer/exception.hpp"
44
#include "inexor/vulkan-renderer/wrapper/device.hpp"
@@ -8,7 +8,7 @@
88
#include <memory>
99
#include <utility>
1010

11-
namespace inexor::vulkan_renderer::wrapper {
11+
namespace inexor::vulkan_renderer::wrapper::commands {
1212

1313
CommandBuffer::CommandBuffer(const Device &device, const VkCommandPool cmd_pool, std::string name)
1414
: m_device(device), m_name(std::move(name)) {
@@ -325,4 +325,4 @@ const CommandBuffer &CommandBuffer::submit_and_wait() const {
325325
}));
326326
}
327327

328-
} // namespace inexor::vulkan_renderer::wrapper
328+
} // namespace inexor::vulkan_renderer::wrapper::commands

src/vulkan-renderer/wrapper/command_pool.cpp renamed to src/vulkan-renderer/wrapper/commands/command_pool.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include "inexor/vulkan-renderer/wrapper/command_pool.hpp"
1+
#include "inexor/vulkan-renderer/wrapper/commands/command_pool.hpp"
22

33
#include "inexor/vulkan-renderer/exception.hpp"
44
#include "inexor/vulkan-renderer/wrapper/device.hpp"
@@ -8,7 +8,7 @@
88

99
#include <thread>
1010

11-
namespace inexor::vulkan_renderer::wrapper {
11+
namespace inexor::vulkan_renderer::wrapper::commands {
1212

1313
CommandPool::CommandPool(const Device &device, std::string name) : m_device(device), m_name(std::move(name)) {
1414
const auto cmd_pool_ci = make_info<VkCommandPoolCreateInfo>({
@@ -56,4 +56,4 @@ const CommandBuffer &CommandPool::request_command_buffer(const std::string &name
5656
return *m_cmd_bufs.back();
5757
}
5858

59-
} // namespace inexor::vulkan_renderer::wrapper
59+
} // namespace inexor::vulkan_renderer::wrapper::commands

0 commit comments

Comments
 (0)