Files
Gryphn/projects/loader/src/gryphn_loader.h
2025-07-09 20:12:02 -04:00

32 lines
1010 B
C

#pragma once
#include "gryphn_instance_functions.h"
#include "gryphn_device_functions.h"
#include "gryphn_command_functions.h"
#include "gryphn_loader_info.h"
#include "utils/lists/gryphn_array_list.h"
#include "extensions/synchronization/loader/sync_functions.h"
typedef struct loaderLayer {
// idk why I sperate these info different classes, I should really shove them in one bit class
// they used to be loaded seperatly but I guess there not anymore
// initlization is hard
gnInstanceFunctions instanceFunctions;
gnDeviceFunctions deviceFunctions;
gnCommandFunctions commandFunctions;
gnSyncExtFunctions syncFunctions;
// this index is not set by loadLayer, set by gnCreateInstance, also not used for now
uint32_t layerIndex;
} loaderLayer;
loaderLayer loadLayer(loaderInfo info);
GN_ARRAY_LIST(loaderLayer);
loaderLayer* loaderGetNextLayer(gnInstance instance);
void resetLayer(gnInstance instance);
gnSyncExtFunctions loadAPISyncFunctions(gnRenderingAPI api);