MCPcopy Create free account
hub / github.com/danoon2/Boxedwine / initVulkan

Function initVulkan

source/vulkan/vulkancommon.cpp:442–463  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

440static bool vulkanInitialized;
441
442void initVulkan() {
443 if (!vulkanInitialized) {
444 BOXEDWINE_CRITICAL_SECTION;
445 if (vulkanInitialized) {
446 return;
447 }
448
449 if (SDL_Vulkan_LoadLibrary(NULL)) {
450 kpanic_fmt("Failed to load vulkan: %s\n", SDL_GetError());
451 }
452 pvkGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)SDL_Vulkan_GetVkGetInstanceProcAddr();
453 pvkCreateInstance = (PFN_vkCreateInstance)pvkGetInstanceProcAddr(VK_NULL_HANDLE, "vkCreateInstance");
454 pvkEnumerateInstanceExtensionProperties = (PFN_vkEnumerateInstanceExtensionProperties)pvkGetInstanceProcAddr(VK_NULL_HANDLE, "vkEnumerateInstanceExtensionProperties");
455#undef VKFUNC_INSTANCE
456#define VKFUNC_INSTANCE(f)
457#undef VKFUNC
458#define VKFUNC(f) pvk##f = (PFN_vk##f)pvkGetInstanceProcAddr(VK_NULL_HANDLE, "vk"#f); if (!pvk##f) {kwarn("Boxedwine: Failed to load vk"#f);}
459#include "../vulkan/vkfuncs.h"
460#undef LOAD_FUNCPTR
461 vulkanInitialized = true;
462 }
463}
464
465Int99Callback int9ACallback[VK_LAST_VALUE+1];
466U32 int9ACallbackSize;

Calls 4

SDL_Vulkan_LoadLibraryFunction · 0.85
kpanic_fmtFunction · 0.85
SDL_GetErrorFunction · 0.85

Tested by

no test coverage detected