mono / VulkanSharp

Open source .NET binding for the Vulkan API
MIT License
537 stars 61 forks source link

No entry point towards 'vkCreateInstance'. #12

Closed Kyniverse closed 8 years ago

Kyniverse commented 8 years ago

Hello developers behind VulkanSharp!

I came to report an issue today that held me back from creating a Vulkan application. The error is as following:

An unhandled exception of type 'System.EntryPointNotFoundException' occurred in Vulkan.dll Additional information: Unable to find an entry point named 'vkCreateInstance' in DLL 'vulkan'.

I added an image on which Visual Studio gives me the error code. I hope this can be of any help.

vulkanerror_001

radekdoulik commented 8 years ago

I didn't try VulkanSharp on Windows yet. Are you sure you have Vulkan installed?

Kyniverse commented 8 years ago

@radekdoulik Yes, I have both the VulkanSDK and the Vulkan Runtime installed. I can run native Vulkan applications as well as an other C# vulkan wrapper. The other wrapper is a lot of work to implement but does run.

I launched Visual Studio again for about 10 minutes and went messing around a bit more. This time the same 'EntryPointNotFound' exception pointed towards one of the generated files.

vulkanerror_002

radekdoulik commented 8 years ago

It probably means it cannot find the vulkan native library.

I hope to try VulkanSharp on windows soon.

bholcomb commented 8 years ago

I noticed that this library is trying to use the "vulkan" library for pinvoke, but on my windows system, it looks like the dll that should be used is "vulkan-1". Could this be causing the issue?

Kyniverse commented 8 years ago

I changed the 'generator' locally a bit to use 'vulkan-1.dll' instead of 'vulkan' and it did result in some progress. It seems like the function now gets called. So the wrapper was pointing at the wrong library after all.

vulkanerror_004

Time to continue to explore this and attempt to build a basic application.

vulkanerror_003

radekdoulik commented 8 years ago

I think "vulkan-1" instead of vulkan-1.dll would be enough. I guess I can change it to vulkan-1 so that it works on Windows and use dllmap on Android and Linux to map to vulkan

radekdoulik commented 8 years ago

this should be fixed now