Module gfx.bindings.vulkan.loader

Loader module for vkdgen. Loading bindings is done in 3 steps as follow:

import gfx.bindings.vulkan.loader;

// load global commands
auto globVk = loadVulkanGlobalCmds();

// load instance commands
VkInstance inst;
VkInstanceCreateInfo instCreateInfo = // ...
globVk.CreateInstance(&instCreateInfo, null, &inst);
auto instVk = new VkInstanceCmds(inst, globVk);

// load device commands
VkPhysicalDevice phDev = // ...
VkDevice dev;
VkDeviceCreateInfo devCreateInfo = // ...
instVk.CreateDevice(phDev, &devCreateInfo, null, &dev);
auto vk = new VkDeviceCmds(dev, instVk);

// vk.CreateBuffer(dev, ...);

Functions

NameDescription
closeSharedLib(lib) Close a shared library
closeSharedLib(lib)
loadSharedSym(lib, name) Load a symbol from a shared library. Return null in case of failure.
loadSharedSym(lib, name)
loadVulkanGlobalCmds() Load global commands from Vulkan DLL/Shared object.
openSharedLib(name) Opens a shared library. Return null in case of failure.
openSharedLib(name)

Aliases

NameTypeDescription
SharedLib void* A handle to a shared library
SharedSym void* A handle to a shared library symbol
SymbolLoader void* delegate(in string) Generic Dynamic lib symbol loader. Symbols loaded with such loader must be cast to the appropriate function type.