load vulkan queue function

This commit is contained in:
Greg Wells
2025-07-16 13:03:55 -04:00
parent 5e3f9e0a37
commit 3474ce4288
8 changed files with 49 additions and 3 deletions

View File

@@ -93,6 +93,25 @@ gnSyncExtFunctions loadAPISyncFunctions(gnRenderingAPI api) {
}
}
gnQueueExtFunctions loadAPIQueueFunctions(gnRenderingAPI api) {
switch (api) {
case GN_RENDERINGAPI_NONE: return (gnQueueExtFunctions){ NULL };
#ifdef GN_API_VULKAN
case GN_RENDERINGAPI_VULKAN: return loadVulkanQueueFunctions();
#endif
case GN_RENDERINGAPI_SOFTWARE: return (gnQueueExtFunctions){ NULL };
case GN_RENDERINGAPI_DIRECTX11: return (gnQueueExtFunctions){ NULL };
case GN_RENDERINGAPI_DIRECTX12: return (gnQueueExtFunctions){ NULL };
case GN_RENDERINGAPI_OPENGL: return (gnQueueExtFunctions){ NULL };
#ifdef GN_API_METAL
case GN_RENDERINGAPI_METAL: return (gnQueueExtFunctions){ NULL };
#endif
default: return (gnQueueExtFunctions){NULL};
}
}
loaderLayer null_layer() {
return (loaderLayer){
.instanceFunctions = (gnInstanceFunctions){ NULL },

View File

@@ -6,6 +6,7 @@
#include "utils/lists/gryphn_array_list.h"
#include "extensions/synchronization/loader/sync_functions.h"
#include "extensions/queues/queues_functions.h"
typedef struct loaderLayer {
// idk why I sperate these info different classes, I should really shove them in one bit class
@@ -16,6 +17,7 @@ typedef struct loaderLayer {
gnCommandFunctions commandFunctions;
gnSyncExtFunctions syncFunctions;
gnQueueExtFunctions queueFunctions;
// this index is not set by loadLayer, set by gnCreateInstance, also not used for now
uint32_t layerIndex;