fixing bugs

This commit is contained in:
Kbz-8
2024-09-20 21:43:23 +02:00
parent 8dd6def84d
commit 3f065bc77e
3 changed files with 4 additions and 12 deletions

View File

@@ -60,27 +60,16 @@ namespace mlx
return;
bool is_single_time_cmd_buffer = (cmd == VK_NULL_HANDLE);
if(is_single_time_cmd_buffer)
{
cmd = kvfCreateCommandBuffer(RenderCore::Get().GetDevice());
kvfBeginCommandBuffer(cmd, VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT);
}
KvfImageType kvf_type = KVF_IMAGE_OTHER;
switch(m_type)
{
case ImageType::Color: kvf_type = KVF_IMAGE_COLOR; break;
case ImageType::Depth: kvf_type = KVF_IMAGE_DEPTH; break;
default: break;
}
kvfTransitionImageLayout(RenderCore::Get().GetDevice(), m_image, kvf_type, cmd, m_format, m_layout, new_layout, is_single_time_cmd_buffer);
m_layout = new_layout;
if(is_single_time_cmd_buffer)
{
RenderCore::Get().vkEndCommandBuffer(cmd);
VkFence fence = kvfCreateFence(RenderCore::Get().GetDevice());
kvfSubmitSingleTimeCommandBuffer(RenderCore::Get().GetDevice(), cmd, KVF_GRAPHICS_QUEUE, fence);
kvfDestroyFence(RenderCore::Get().GetDevice(), fence);
}
}
void Image::Clear(VkCommandBuffer cmd, Vec4f color)

View File

@@ -14,7 +14,7 @@ namespace mlx
default : FatalError("wtf"); break;
}
m_module = kvfCreateShaderModule(RenderCore::Get().GetDevice(), reinterpret_cast<std::uint32_t*>(m_bytecode.data()), m_bytecode.size() * 4);
m_module = kvfCreateShaderModule(RenderCore::Get().GetDevice(), reinterpret_cast<std::uint32_t*>(m_bytecode.data()), m_bytecode.size() / 4);
DebugLog("Vulkan : shader module created");
GeneratePipelineLayout(m_layout);

View File

@@ -90,6 +90,8 @@ namespace mlx
LoadKVFDeviceVulkanFunctionPointers();
vkDestroySurfaceKHR(m_instance, surface, nullptr);
m_allocator.Init();
}
#undef MLX_LOAD_FUNCTION
@@ -191,6 +193,7 @@ namespace mlx
RenderCore::~RenderCore()
{
WaitDeviceIdle();
m_allocator.Destroy();
kvfDestroyDevice(m_device);
DebugLog("Vulkan : logical device destroyed");
kvfDestroyInstance(m_instance);