From ed37da9049cc73c771383453a444a30c13993be6 Mon Sep 17 00:00:00 2001 From: johndoe6345789 Date: Sun, 4 Jan 2026 13:51:22 +0000 Subject: [PATCH] feat: Update GraphicsService to initialize Vulkan device with extensions and validation layers --- src/services/impl/graphics_service.cpp | 4 +++- src/services/impl/vulkan_device_service.cpp | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/services/impl/graphics_service.cpp b/src/services/impl/graphics_service.cpp index 5da8588..10cc7cc 100644 --- a/src/services/impl/graphics_service.cpp +++ b/src/services/impl/graphics_service.cpp @@ -54,7 +54,9 @@ void GraphicsService::InitializeDevice(SDL_Window* window, const GraphicsConfig& } // Device service handles device initialization - deviceService_->Initialize(window, config); + deviceService_->Initialize(config.deviceExtensions, config.enableValidationLayers); + deviceService_->CreateSurface(window); + deviceService_->CreateLogicalDevice(); } void GraphicsService::InitializeSwapchain() { diff --git a/src/services/impl/vulkan_device_service.cpp b/src/services/impl/vulkan_device_service.cpp index 8aa4e0a..f530b87 100644 --- a/src/services/impl/vulkan_device_service.cpp +++ b/src/services/impl/vulkan_device_service.cpp @@ -41,7 +41,9 @@ void VulkanDeviceService::CreateSurface(SDL_Window* window) { throw std::invalid_argument("Window cannot be null"); } - CreateSurfaceInternal(window); + if (!SDL_Vulkan_CreateSurface(window, instance_, nullptr, &surface_)) { + throw std::runtime_error("Failed to create Vulkan surface"); + } } void VulkanDeviceService::CreateInstance(const std::vector& requiredExtensions) {