a lot of loader cleanup

This commit is contained in:
Gregory Wells
2025-08-03 11:43:20 -04:00
parent 988333c0ac
commit 17b1cff781
16 changed files with 77 additions and 64 deletions

View File

@@ -3,7 +3,6 @@
#include "core/gryphn_return_code.h"
#include "utils/gryphn_bool.h"
#include "gryphn_handles.h"
#include "gryphn_loader_helpers.h"
typedef struct gnInstanceCreateInfo gnInstanceCreateInfo;
typedef struct gnSurfaceDetails gnSurfaceDetails;
@@ -19,13 +18,9 @@ typedef struct gnOutputDeviceInfo gnOutputDeviceInfo;
typedef struct gnMacOSWindowSurfaceInfo gnMacOSWindowSurfaceInfo;
#endif
typedef struct PFN_gnCreateInstance_layer PFN_gnCreateInstance_layer;
typedef gnReturnCode (*PFN_gnCreateInstance)(gnInstanceHandle instance, gnInstanceCreateInfo* info, PFN_gnCreateInstance_layer* next);
gryphnFunctionLayer(PFN_gnCreateInstance);
typedef struct PFN_gnDestroyInstance_layer PFN_gnDestroyInstance_layer;
typedef void (*PFN_gnDestroyInstance)(gnInstanceHandle instance, PFN_gnDestroyInstance_layer* next);
gryphnFunctionLayer(PFN_gnDestroyInstance);
typedef struct gryphnInstanceFunctionLayers gryphnInstanceFunctionLayers;
typedef gnReturnCode (*PFN_gnCreateInstance)(gnInstanceHandle instance, gnInstanceCreateInfo* info, gryphnInstanceFunctionLayers* next);
typedef void (*PFN_gnDestroyInstance)(gnInstanceHandle instance, gryphnInstanceFunctionLayers* next);
typedef struct gnInstanceFunctions {
gnPhysicalDevice* (*_gnGetPhysicalDevices)(gnInstanceHandle instance, uint32_t* count);

View File

@@ -14,9 +14,11 @@ typedef struct gryphnFunctionLayer {
} gryphnFunctionLayer;
typedef struct gryphnInstanceFunctionLayers {
PFN_gnCreateInstance_layer createInstance;
PFN_gnDestroyInstance_layer destroyInstance;
PFN_gnCreateInstance createInstance;
PFN_gnDestroyInstance destroyInstance;
struct gryphnInstanceFunctionLayers* next;
} gryphnInstanceFunctionLayers;
gryphnInstanceFunctionLayers gryphnLoadAPILayer(gnRenderingAPI api);
typedef struct loaderLayer {

View File

@@ -1,6 +0,0 @@
#pragma once
#define gryphnFunctionLayer(function) typedef struct function##_layer { \
function func;\
struct function##_layer* next; \
} function##_layer;\