feat: Add ILogger dependency to RenderCommandService for improved logging

This commit is contained in:
2026-01-04 14:49:17 +00:00
parent 4edebc959a
commit ac35dd42eb
2 changed files with 8 additions and 4 deletions

View File

@@ -1,14 +1,15 @@
#include "render_command_service.hpp"
#include "../../core/vertex.hpp"
#include "../../logging/logger.hpp"
#include <stdexcept>
namespace sdl3cpp::services::impl {
RenderCommandService::RenderCommandService(std::shared_ptr<IVulkanDeviceService> deviceService,
std::shared_ptr<ISwapchainService> swapchainService)
std::shared_ptr<ISwapchainService> swapchainService,
std::shared_ptr<ILogger> logger)
: deviceService_(std::move(deviceService)),
swapchainService_(std::move(swapchainService)) {}
swapchainService_(std::move(swapchainService)),
logger_(logger) {}
RenderCommandService::~RenderCommandService() {
if (commandPool_ != VK_NULL_HANDLE || imageAvailableSemaphore_ != VK_NULL_HANDLE) {

View File

@@ -3,6 +3,7 @@
#include "../interfaces/i_render_command_service.hpp"
#include "../interfaces/i_vulkan_device_service.hpp"
#include "../interfaces/i_swapchain_service.hpp"
#include "../interfaces/i_logger.hpp"
#include "../../di/lifecycle.hpp"
#include <memory>
#include <vector>
@@ -19,7 +20,8 @@ class RenderCommandService : public IRenderCommandService,
public di::IShutdownable {
public:
explicit RenderCommandService(std::shared_ptr<IVulkanDeviceService> deviceService,
std::shared_ptr<ISwapchainService> swapchainService);
std::shared_ptr<ISwapchainService> swapchainService,
std::shared_ptr<ILogger> logger);
~RenderCommandService() override;
// IRenderCommandService interface
@@ -41,6 +43,7 @@ public:
private:
std::shared_ptr<IVulkanDeviceService> deviceService_;
std::shared_ptr<ISwapchainService> swapchainService_;
std::shared_ptr<ILogger> logger_;
VkCommandPool commandPool_ = VK_NULL_HANDLE;
std::vector<VkCommandBuffer> commandBuffers_;