From 7dfb8a4b194eb7ffc6410a49db655fd03cd82528 Mon Sep 17 00:00:00 2001 From: Nick Fisher Date: Wed, 16 Apr 2025 13:34:45 +0800 Subject: [PATCH] logging/header path changes --- .../src/windows/vulkan/vulkan_texture.cpp | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/thermion_dart/native/src/windows/vulkan/vulkan_texture.cpp b/thermion_dart/native/src/windows/vulkan/vulkan_texture.cpp index 60795eef..1b64a21d 100644 --- a/thermion_dart/native/src/windows/vulkan/vulkan_texture.cpp +++ b/thermion_dart/native/src/windows/vulkan/vulkan_texture.cpp @@ -1,7 +1,7 @@ #include "vulkan_texture.h" #include "bluevk/BlueVK.h" -#include "utils.h" - +#include "vulkan_utils.h" +#include "Log.hpp" #include namespace thermion::windows::vulkan @@ -23,7 +23,12 @@ namespace thermion::windows::vulkan } - std::unique_ptr VulkanTexture::create(VkDevice device, VkPhysicalDevice physicalDevice, uint32_t width, uint32_t height, HANDLE d3dTextureHandle) + std::unique_ptr VulkanTexture::create( + VkDevice device, + VkPhysicalDevice physicalDevice, + uint32_t width, + uint32_t height, + HANDLE d3dTextureHandle) { // Create image with external memory support VkExternalMemoryImageCreateInfo extImageInfo = { @@ -67,9 +72,8 @@ namespace thermion::windows::vulkan .sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2, .pNext = nullptr, .image = image}; - // WARN: Memory access violation unless validation instance layer is enabled, otherwise success but... - bluevk::vkGetImageMemoryRequirements2(device, &ImageMemoryRequirementsInfo2, &MemoryRequirements2); - // ... if we happen to be here, MemoryRequirements2 is empty + + bluevk::vkGetImageMemoryRequirements2(device, &ImageMemoryRequirementsInfo2, &MemoryRequirements2); VkMemoryRequirements &MemoryRequirements = MemoryRequirements2.memoryRequirements; const VkMemoryDedicatedAllocateInfo MemoryDedicatedAllocateInfo{ @@ -102,6 +106,9 @@ namespace thermion::windows::vulkan VkDeviceMemory imageMemory = VK_NULL_HANDLE; VkResult allocResult = bluevk::vkAllocateMemory(device, &allocInfo, nullptr, &imageMemory); + if(imageMemory == VK_NULL_HANDLE) { + ERROR("imageMemory == VK_NULL_HANDLE"); + } if (allocResult != VK_SUCCESS || imageMemory == VK_NULL_HANDLE) { std::cout << "IMAGE MEMORY ALLOCATION FAILED:" << std::endl;