loadGlobalLevelFunctions

Combines loadVulkanLib, loadGetInstanceProcAddr and loadGlobalLevelFunctions( PFN_vkGetInstanceProcAddr ) from module erupted.functions. If this function succeeds the function vkGetInstanceProcAddr from module erupted.functions can be used freely. Moreover the required functions to initialize a vulkan instance a vkEnumerateInstanceExtensionProperties, vkEnumerateInstanceLayerProperties and vkCreateInstance are available as well. To get all the other functions an vulkan instance must be created and with it loadInstanceLevelFunctions be called from either erupted.functions or through a custom tailored module with mixed in extensions through the erupted.platform.mixin_extensions mechanism. Additional device based functions can then be loaded with loadDeviceLevelFunctions passing in the instance or with creating a vulkan device beforehand and calling the same function with it.

Note: as this function indirectly calls loadVulkanLib loading the vulkan lib, freeVulkanLib should be called at some point in the process to cleanly free / unload the lib all errors during vulkan lib loading and vkGetInstanceProcAddr retrieving are reported to log_stream, default stderr log_stream = file stream to receive error messages, default stderr

nothrow @nogc
bool
loadGlobalLevelFunctions
(
FILE* log_stream = stderr
)

Return Value

Type: bool

true if the vulkan lib could be freed, false otherwise

Meta