The OpenD Programming Language

erupted.functions

Dlang vulkan function pointer prototypes, declarations and loader from vkGetInstanceProcAddr

Public Imports

erupted.types
public import erupted.types;
Undocumented in source.

Members

Aliases

PFN_vkCreateInstance
alias PFN_vkCreateInstance = VkResult function(const(VkInstanceCreateInfo)* pCreateInfo, const(VkAllocationCallbacks)* pAllocator, VkInstance* pInstance)

function type aliases

Functions

loadDeviceLevelFunctions
void loadDeviceLevelFunctions(VkInstance instance)

with a valid VkInstance call this function to retrieve VkDevice, VkQueue and VkCommandBuffer related functions the functions call indirectly through the VkInstance and will be internally dispatched by the implementation use loadDeviceLevelFunctions( VkDevice device ) bellow to avoid this indirection and get the pointers directly form a VkDevice

loadDeviceLevelFunctions
void loadDeviceLevelFunctions(VkDevice device)

with a valid VkDevice call this function to retrieve VkDevice, VkQueue and VkCommandBuffer related functions the functions call directly VkDevice and related resources and can be retrieved for one and only one VkDevice calling this function again with another VkDevices will overwrite the __gshared functions retrieved previously see module erupted.dispatch_device if multiple VkDevices will be used

loadGlobalLevelFunctions
void loadGlobalLevelFunctions(PFN_vkGetInstanceProcAddr getInstanceProcAddr)

sets vkCreateInstance function pointer and acquires basic functions to retrieve information about the implementation and create an instance: vkEnumerateInstanceExtensionProperties, vkEnumerateInstanceLayerProperties, vkCreateInstance

loadInstanceLevelFunctions
void loadInstanceLevelFunctions(VkInstance instance)

with a valid VkInstance call this function to retrieve additional VkInstance, VkPhysicalDevice, ... related functions

Static variables

vkCreateInstance
PFN_vkCreateInstance vkCreateInstance;

function declarations

Meta

License

$(https://opensource.org/licenses/MIT, MIT License).

Authors

Copyright 2016 Alex Parrill, Peter Particle