I am trying to play around a bit with Panda3D’s Vulkan implementation. I successfully built Panda3D from the vulkan branch. However, I can’t seem to determine how to use the vulkan engine. Something like loadPrcFileData('', 'load-display vulkandisplay') or loadPrcFileData('', 'load-display vulkan') fails with Unable to load: Path not found. The only vulkan-related dll that resulted from the build is libp3vulkandisplay.dll. I am probably missing something trivial. Can someone please enlighten me?
The correct string is load-display p3vulkandisplay.
You may also want to put notify-level-vulkandisplay debug in there so you can get some more debugging information printed out.
At the moment it’s not very powerful; it relies on a hardcoded pair of SPIR-V shaders that just do very basic rendering at the moment, and it isn’t very good at passing inputs to those shaders yet. We’re planning to work on a new SPIR-V-based shader compilation pipeline very soon.
Although, maybe MSVC means the error happened before that line, which would indeed suggest it happened inside the call to vkEnumerateInstanceExtensionProperties (inside the Vulkan loader).
Try initialising num_inst_extensions to 0, and if necessary, commenting out the enumerate call. It seems you have a broken Vulkan runtime, but we could see how far we can get.
I think this just means you don’t have a Vulkan-capable driver installed or set-up correctly. Can you run other Vulkan programs, like vkcube or vulkaninfo? If not, this is not something we can fix in Panda.
I’ve checked in a fix for the zero-initialization.