1

(firstly I'm a chinese, so there might be some syntax errors. I'm sorry for that) So yesterday I just update my VulkanSDK version to the newest (version 1.3.216.0) as well as VMA, but there's a runtime error occured when I try to run the code which was like : 'Entry Point Not Found'(The picture's chinese)

So I try to clean the Project and Regenerate it but no progress, then I re-installed VulkanSDK and restart my computer but still nothing helped. Later I find that this is a Vulkan error which probably originate from vk_mem_alloc.h (VMA). But I debugged for a few days but still don't understand why "vkGetDeviceImageRequirements" is not find while there seems nothing wrong with "vkGetDeviceBufferMemoryRequirements" which was actually fetched earlier

#if VMA_VULKAN_VERSION >= 1003000
            if(m_VulkanApiVersion >= VK_MAKE_VERSION(1, 3, 0))
            {
                VMA_FETCH_DEVICE_FUNC(vkGetDeviceBufferMemoryRequirements, PFN_vkGetDeviceBufferMemoryRequirements, "vkGetDeviceBufferMemoryRequirements");
                VMA_FETCH_DEVICE_FUNC(vkGetDeviceImageMemoryRequirements, PFN_vkGetDeviceImageMemoryRequirements, "vkGetDeviceImageMemoryRequirements");
            }
#endif

And here is my base.h:

#pragma once
#include <glad/glad.h>
#define GLFW_INCLUDE_VULKAN
#include <GLFW/glfw3.h>
#include <vulkan/vulkan.hpp>
#include <shaderc/shaderc.hpp>
#include <vma/vk_mem_alloc.h>

This is my CKake list:

cmake_minimum_required(VERSION 3.21)
project(FFEngine_Project)

set(CMAKE_CXX_STANDARD 20)

file(GLOB copyResources "./assets" "./thirdParty/libs/assimp/assimp-vc143-mtd.dll")
file(COPY ${copyResources} DESTINATION ${CMAKE_BINARY_DIR})

include_directories(
SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/thirdParty/include)
include_directories(
SYSTEM D:/Vulkan/VulkanSDK/1.3.216.0/Include)

link_directories(
    SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/thirdParty/libs/glfw
    SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/thirdParty/libs/assimp
    SYSTEM D:/Vulkan/VulkanSDK/1.3.216.0/Lib
)

add_subdirectory(ff)

add_executable(triangle "examples/triangle.cpp")

target_link_libraries(triangle ff_lib glfw3.lib vulkan-1.lib shaderc_sharedd.lib assimp-vc143-mtd.lib)

This error has been confusing me for days, I'm really pissed off... If any more details or codes are needed, ask me, and I'll reply

dance_0607
  • 11
  • 1
  • 1
    We have encountered the same issue. There are many reports on [vma's repo](https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/issues/280). You can try define VMA_VERSION so vma won'y load these functions or you should update your driver if you haven't done so – Jiehong Jiang Aug 16 '22 at 02:06

0 Answers0