big refactor
This commit is contained in:
parent
2a0ed55aba
commit
ee6797c69e
8
test.sh
Executable file
8
test.sh
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
glslc -fshader-stage=comp --target-env=vulkan1.2 convert.comp.glsl -oconvert.comp.spv
|
||||||
|
|
||||||
|
ldc2 vulkan.d vulkan_funcs.d vulkan_logging.d vulkan_util.d -L-lvulkan --unittest -J./ -verrors=30
|
||||||
|
|
||||||
|
rm convert.comp.spv
|
||||||
|
rm vulkan.o
|
||||||
@ -84,6 +84,7 @@ PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets = null;
|
|||||||
PFN_vkDestroyDevice vkDestroyDevice = null;
|
PFN_vkDestroyDevice vkDestroyDevice = null;
|
||||||
PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool = null;
|
PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool = null;
|
||||||
PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR = null;
|
PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR = null;
|
||||||
|
PFN_vkDestroyBufferView vkDestroyBufferView = null;
|
||||||
PFN_vkQueueSubmit2 vkQueueSubmit2 = null;
|
PFN_vkQueueSubmit2 vkQueueSubmit2 = null;
|
||||||
PFN_vkDestroyImage vkDestroyImage = null;
|
PFN_vkDestroyImage vkDestroyImage = null;
|
||||||
PFN_vkCmdBlitImage vkCmdBlitImage = null;
|
PFN_vkCmdBlitImage vkCmdBlitImage = null;
|
||||||
@ -125,36 +126,6 @@ PFN_vkGetBufferDeviceAddress vkGetBufferDeviceAddress = null;
|
|||||||
PFN_vkWaitSemaphores vkWaitSemaphores = null;
|
PFN_vkWaitSemaphores vkWaitSemaphores = null;
|
||||||
PFN_vkQueueWaitIdle vkQueueWaitIdle = null;
|
PFN_vkQueueWaitIdle vkQueueWaitIdle = null;
|
||||||
|
|
||||||
bool
|
|
||||||
LoadGlobalFunctions()
|
|
||||||
{
|
|
||||||
Library lib;
|
|
||||||
Function fn;
|
|
||||||
foreach(name; VULKAN_LIBS)
|
|
||||||
{
|
|
||||||
lib = LoadLibrary(name);
|
|
||||||
if(lib.ptr)
|
|
||||||
{
|
|
||||||
fn = LoadFunction(lib, "vkGetInstanceProcAddr");
|
|
||||||
vkGetInstanceProcAddr = cast(PFN_vkGetInstanceProcAddr)fn.ptr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(fn.ptr)
|
|
||||||
{
|
|
||||||
vkGetInstanceProcAddr = cast(PFN_vkGetInstanceProcAddr)vkGetInstanceProcAddr(null, "vkGetInstanceProcAddr");
|
|
||||||
assert(vkGetInstanceProcAddr != null, "LoadGlobalFunctions failure: Unable to load vkGetInstanceProcAddr");
|
|
||||||
|
|
||||||
vkCreateInstance = cast(PFN_vkCreateInstance)vkGetInstanceProcAddr(null, "vkCreateInstance");
|
|
||||||
assert(vkCreateInstance != null, "LoadGlobalFunctions failure: Unable to load VkCreateInstance");
|
|
||||||
|
|
||||||
vkEnumerateInstanceLayerProperties = cast(PFN_vkEnumerateInstanceLayerProperties)vkGetInstanceProcAddr(null, "vkEnumerateInstanceLayerProperties");
|
|
||||||
assert(vkEnumerateInstanceLayerProperties != null, "LoadGlobalFunctions failure: Unable to load vkEnumerateInstanceLayerProperties");
|
|
||||||
}
|
|
||||||
|
|
||||||
return fn.ptr != null;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
LoadDeviceFunctions(Vulkan* vk)
|
LoadDeviceFunctions(Vulkan* vk)
|
||||||
{
|
{
|
||||||
@ -190,6 +161,7 @@ LoadDeviceFunctions(Vulkan* vk)
|
|||||||
vkDestroyDevice = cast(PFN_vkDestroyDevice)vkGetDeviceProcAddr(vk.device, "vkDestroyDevice");
|
vkDestroyDevice = cast(PFN_vkDestroyDevice)vkGetDeviceProcAddr(vk.device, "vkDestroyDevice");
|
||||||
vkDestroyDescriptorPool = cast(PFN_vkDestroyDescriptorPool)vkGetDeviceProcAddr(vk.device, "vkDestroyDescriptorPool");
|
vkDestroyDescriptorPool = cast(PFN_vkDestroyDescriptorPool)vkGetDeviceProcAddr(vk.device, "vkDestroyDescriptorPool");
|
||||||
vkDestroySwapchainKHR = cast(PFN_vkDestroySwapchainKHR)vkGetDeviceProcAddr(vk.device, "vkDestroySwapchainKHR");
|
vkDestroySwapchainKHR = cast(PFN_vkDestroySwapchainKHR)vkGetDeviceProcAddr(vk.device, "vkDestroySwapchainKHR");
|
||||||
|
vkDestroyBufferView = cast(PFN_vkDestroyBufferView)vkGetDeviceProcAddr(vk.device, "vkDestroyBufferView");
|
||||||
vkDestroyImage = cast(PFN_vkDestroyImage)vkGetDeviceProcAddr(vk.device, "vkDestroyImage");
|
vkDestroyImage = cast(PFN_vkDestroyImage)vkGetDeviceProcAddr(vk.device, "vkDestroyImage");
|
||||||
vkDestroyImageView = cast(PFN_vkDestroyImageView)vkGetDeviceProcAddr(vk.device, "vkDestroyImageView");
|
vkDestroyImageView = cast(PFN_vkDestroyImageView)vkGetDeviceProcAddr(vk.device, "vkDestroyImageView");
|
||||||
vkDestroyCommandPool = cast(PFN_vkDestroyCommandPool)vkGetDeviceProcAddr(vk.device, "vkDestroyCommandPool");
|
vkDestroyCommandPool = cast(PFN_vkDestroyCommandPool)vkGetDeviceProcAddr(vk.device, "vkDestroyCommandPool");
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user