Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The procedure Entry point could not be located #280

Open
marvkey opened this issue Aug 6, 2022 · 4 comments
Open

The procedure Entry point could not be located #280

marvkey opened this issue Aug 6, 2022 · 4 comments
Labels
bug Something isn't working input needed Waiting for more information

Comments

@marvkey
Copy link

marvkey commented Aug 6, 2022

Every time I add the VMA_IMPLEMENTATION in 1 cpp file I keep getting this error at runtime, just before my application starts running

image

@adam-sawicki-a adam-sawicki-a added the bug Something isn't working label Aug 10, 2022
@adam-sawicki-a
Copy link
Contributor

This issue has been observed before. Please check following tickets, they may help: #247 , #256.

Please make sure your entire project uses the same version of Vulkan SDK.

@adam-sawicki-a adam-sawicki-a added the input needed Waiting for more information label Aug 22, 2022
@darby-anderson
Copy link

Not sure if it helpful to add to the pile of reports on this issue, but I have run into the same error. My project only uses the 1.3.224 Vulkan SDK (it's the only one on my device) and I am using the 3.0.0 version of VMA.

The fix of removing #define VMA_IMPLEMENTATION has worked for me, but was hoping to see if I could help by adding information.

@janlaff
Copy link

janlaff commented Feb 19, 2023

For me it worked to just #define VMA_VULKAN_VERSION 1002000 and the error is gone

@squadack
Copy link

squadack commented Mar 3, 2023

This issue can be caused by graphics card driver not supporting Vulkan 1.3. You are trying link statically with a function that is not there. The solution to this would be to fetch those functions dynamically.
To do that, you have to define

#define VMA_STATIC_VULKAN_FUNCTIONS 0
#define VMA_DYNAMIC_VULKAN_FUNCTIONS 1

in the same place where you have #define VMA_IMPLEMENTATION and pass 2 functions vkGetInstanceProcAddr and vkGetDeviceProcAddr when creating the allocator:

VmaAllocatorCreateInfo allocInfo = {};
VmaVulkanFunctions func = {};
func.vkGetInstanceProcAddr = vkGetInstanceProcAddr;
func.vkGetDeviceProcAddr = vkGetDeviceProcAddr;
allocInfo.pVulkanFunctions = &func;
//add other stuff to allocInfo and pass it to vmaCreateAllocator()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working input needed Waiting for more information
Projects
None yet
Development

No branches or pull requests

5 participants