From a1bdb0005fe08265d83b3121889cf7ad42ecd091 Mon Sep 17 00:00:00 2001 From: light7734 Date: Thu, 9 Oct 2025 13:39:59 +0330 Subject: [PATCH] wip --- .../private/backend/vk/context/device.cpp | 12 +++++++++-- .../private/backend/vk/renderer/pass.cpp | 20 +++++++++---------- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/modules/renderer/private/backend/vk/context/device.cpp b/modules/renderer/private/backend/vk/context/device.cpp index 3b069d8..50647b5 100644 --- a/modules/renderer/private/backend/vk/context/device.cpp +++ b/modules/renderer/private/backend/vk/context/device.cpp @@ -40,8 +40,16 @@ Device::~Device() return; } - vkc(vk_device_wait_idle(m_device)); - vk_destroy_device(m_device, nullptr); + try + { + vkc(vk_device_wait_idle(m_device)); + vk_destroy_device(m_device, nullptr); + } + catch (const std::exception &exp) + { + log_err("Failed to destroy vk device:"); + log_err("\twhat: {}", exp.what()); + } } void Device::initialize_logical_device() diff --git a/modules/renderer/private/backend/vk/renderer/pass.cpp b/modules/renderer/private/backend/vk/renderer/pass.cpp index 7b7d3af..5dd47e9 100644 --- a/modules/renderer/private/backend/vk/renderer/pass.cpp +++ b/modules/renderer/private/backend/vk/renderer/pass.cpp @@ -10,7 +10,15 @@ Pass::Pass( const lt::assets::ShaderAsset &vertex_shader, const lt::assets::ShaderAsset &fragment_shader ) - : m_device(static_cast(device)) + : m_device(static_cast(device)), m_layout(m_device->create_pipeline_layout( + VkPipelineLayoutCreateInfo { + .sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO, + .setLayoutCount = 0u, + .pSetLayouts = nullptr, + .pushConstantRangeCount = 0u, + .pPushConstantRanges = nullptr, + } + )) { auto *vertex_module = create_module( vertex_shader.unpack(lt::assets::ShaderAsset::BlobTag::code) @@ -103,15 +111,7 @@ Pass::Pass( .blendConstants = { 0.0f, 0.0, 0.0, 0.0 }, }; - m_layout = m_device->create_pipeline_layout( - VkPipelineLayoutCreateInfo { - .sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO, - .setLayoutCount = 0u, - .pSetLayouts = nullptr, - .pushConstantRangeCount = 0u, - .pPushConstantRanges = nullptr, - } - ); + auto attachment_description = VkAttachmentDescription { .format = static_cast(swapchain)->get_format(),