diff --git a/projects/apis/vulkan/loader/vulkan_command_loader.c b/projects/apis/vulkan/loader/vulkan_command_loader.c index 57d8ca3..275ca83 100644 --- a/projects/apis/vulkan/loader/vulkan_command_loader.c +++ b/projects/apis/vulkan/loader/vulkan_command_loader.c @@ -2,7 +2,7 @@ #include #include -gnCommandFunctions loadVulkanCommandFunctions() { +gnCommandFunctions loadVulkanCommandFunctions(loaderInfo info) { return (gnCommandFunctions){ ._gnCommandPoolAllocateCommandBuffers = allocateCommandBuffers, ._gnBeginCommandBuffer = beginCommandBuffer, diff --git a/projects/apis/vulkan/loader/vulkan_device_loader.c b/projects/apis/vulkan/loader/vulkan_device_loader.c index c214dea..d9f5fb7 100644 --- a/projects/apis/vulkan/loader/vulkan_device_loader.c +++ b/projects/apis/vulkan/loader/vulkan_device_loader.c @@ -15,7 +15,7 @@ #include #include -gnDeviceFunctions loadVulkanDeviceFunctions() { +gnDeviceFunctions loadVulkanDeviceFunctions(loaderInfo info) { return (gnDeviceFunctions){ ._gnCreatePresentationQueue = createPresentationQueue, ._gnPresentationQueueGetImage = getPresentQueueImage, diff --git a/projects/apis/vulkan/loader/vulkan_instance_loader.c b/projects/apis/vulkan/loader/vulkan_instance_loader.c index f74959a..a444ed4 100644 --- a/projects/apis/vulkan/loader/vulkan_instance_loader.c +++ b/projects/apis/vulkan/loader/vulkan_instance_loader.c @@ -4,7 +4,7 @@ #include #include -gnInstanceFunctions loadVulkanInstanceFunctions() { +gnInstanceFunctions loadVulkanInstanceFunctions(loaderInfo info) { return (gnInstanceFunctions){ ._gnCreateInstance = createInstance, ._gnDestroyInstance = destroyInstance, diff --git a/projects/apis/vulkan/loader/vulkan_loader.h b/projects/apis/vulkan/loader/vulkan_loader.h index b6f706d..509c60b 100644 --- a/projects/apis/vulkan/loader/vulkan_loader.h +++ b/projects/apis/vulkan/loader/vulkan_loader.h @@ -2,7 +2,8 @@ #include "loader/src/gryphn_instance_functions.h" #include "loader/src/gryphn_device_functions.h" #include "loader/src/gryphn_command_functions.h" +#include "loader/src/gryphn_loader_info.h" -gnInstanceFunctions loadVulkanInstanceFunctions(); -gnDeviceFunctions loadVulkanDeviceFunctions(); -gnCommandFunctions loadVulkanCommandFunctions(); +gnInstanceFunctions loadVulkanInstanceFunctions(loaderInfo info); +gnDeviceFunctions loadVulkanDeviceFunctions(loaderInfo info); +gnCommandFunctions loadVulkanCommandFunctions(loaderInfo info); diff --git a/projects/loader/src/gryphn_loader.c b/projects/loader/src/gryphn_loader.c index c9770b0..f315998 100644 --- a/projects/loader/src/gryphn_loader.c +++ b/projects/loader/src/gryphn_loader.c @@ -4,7 +4,7 @@ gnInstanceFunctions loadInstanceFunctions(loaderInfo info) { switch (info.api) { case GN_RENDERINGAPI_NONE: return (gnInstanceFunctions){ NULL }; - case GN_RENDERINGAPI_VULKAN: return loadVulkanInstanceFunctions(); + case GN_RENDERINGAPI_VULKAN: return loadVulkanInstanceFunctions(info); case GN_RENDERINGAPI_SOFTWARE: return (gnInstanceFunctions){ NULL }; case GN_RENDERINGAPI_DIRECTX11: return (gnInstanceFunctions){ NULL }; @@ -17,7 +17,7 @@ gnInstanceFunctions loadInstanceFunctions(loaderInfo info) { gnDeviceFunctions loadDeviceFunctions(loaderInfo info) { switch (info.api) { case GN_RENDERINGAPI_NONE: return (gnDeviceFunctions){ NULL }; - case GN_RENDERINGAPI_VULKAN: return loadVulkanDeviceFunctions(); + case GN_RENDERINGAPI_VULKAN: return loadVulkanDeviceFunctions(info); case GN_RENDERINGAPI_SOFTWARE: return (gnDeviceFunctions){ NULL }; case GN_RENDERINGAPI_DIRECTX11: return (gnDeviceFunctions){ NULL }; @@ -30,7 +30,7 @@ gnDeviceFunctions loadDeviceFunctions(loaderInfo info) { gnCommandFunctions loadCommandFunctions(loaderInfo info) { switch (info.api) { case GN_RENDERINGAPI_NONE: return (gnCommandFunctions){ NULL }; - case GN_RENDERINGAPI_VULKAN: return loadVulkanCommandFunctions(); + case GN_RENDERINGAPI_VULKAN: return loadVulkanCommandFunctions(info); case GN_RENDERINGAPI_SOFTWARE: return (gnCommandFunctions){ NULL }; case GN_RENDERINGAPI_DIRECTX11: return (gnCommandFunctions){ NULL }; diff --git a/projects/loader/src/gryphn_loader.h b/projects/loader/src/gryphn_loader.h index a659fe0..b8e0576 100644 --- a/projects/loader/src/gryphn_loader.h +++ b/projects/loader/src/gryphn_loader.h @@ -1,12 +1,8 @@ #pragma once -#include "gryphn_rendering_api.h" #include "gryphn_instance_functions.h" #include "gryphn_device_functions.h" #include "gryphn_command_functions.h" - -typedef struct loaderInfo { - gnRenderingAPI api; -} loaderInfo; +#include "gryphn_loader_info.h" gnInstanceFunctions loadInstanceFunctions(loaderInfo info); gnDeviceFunctions loadDeviceFunctions(loaderInfo info); diff --git a/projects/loader/src/gryphn_loader_info.h b/projects/loader/src/gryphn_loader_info.h new file mode 100644 index 0000000..477b7b8 --- /dev/null +++ b/projects/loader/src/gryphn_loader_info.h @@ -0,0 +1,6 @@ +#pragma once +#include "gryphn_rendering_api.h" + +typedef struct loaderInfo { + gnRenderingAPI api; +} loaderInfo;