function loader supports GN_EXT_QUEUES

This commit is contained in:
Greg Wells
2025-07-16 20:03:15 -04:00
parent 29a2818643
commit ab72c87421
5 changed files with 58 additions and 1 deletions

View File

@@ -0,0 +1,32 @@
#include "queue_functions.h"
#include "loader_utils.h"
#include "core/src/output_device/gryphn_physical_output_device.h"
#include "core/src/output_device/gryphn_output_device.h"
#include <core/src/instance/gryphn_debugger.h>
#include <core/src/instance/gryphn_instance.h>
#include "core/src/submit/gryphn_submit.h"
#include "core/src/present/gryphn_present.h"
#include "extensions/synchronization/commands/gryphn_sync_submit.h"
#include "extensions/synchronization/commands/gryphn_sync_present.h"
gnReturnCode checkGetPhysicalDeviceQueueProperties(gnPhysicalOutputDeviceHandle device, uint32_t queueCount, gnQueueFamilyProperties* queues) {
CHECK_FUNCTION_WITH_RETURN_CODE(device->instance, _gnGetPhysicalDeviceQueueProperties, queueFunctions, device, queueCount, queues);
}
void checkGetDeviceQueue(gnOutputDevice device, uint32_t queueFamily, uint32_t queueIndex, gnQueue* queue) {
CHECK_VOID_FUNCTION(device->instance, _gnGetDeviceQueue, queueFunctions, device, queueFamily, queueIndex, queue);
}
gnReturnCode checkQueueSubmit(gnOutputDevice device, gnQueue queue, gnSubmitInfo info) {
CHECK_FUNCTION_WITH_RETURN_CODE(device->instance, _gnQueueSubmit, queueFunctions, device, queue, info);
}
gnReturnCode checkQueueSubmitSync(gnOutputDevice device, gnQueue queue, gnSubmitSyncInfo info) {
CHECK_FUNCTION_WITH_RETURN_CODE(device->instance, _gnQueueSubmitSync, queueFunctions, device, queue, info);
}
gnReturnCode checkQueuePresent(gnDevice device, gnQueue queue, gnPresentInfo info) {
CHECK_FUNCTION_WITH_RETURN_CODE(device->instance, _gnQueuePresent, queueFunctions, device, queue, info);
}
gnReturnCode checkQueuePresentSync(gnDevice device, gnQueue queue, gnPresentSyncInfo info) {
CHECK_FUNCTION_WITH_RETURN_CODE(device->instance, _gnQueuePresentSync, queueFunctions, device, queue, info);
}

View File

@@ -0,0 +1,10 @@
#include <loader/src/gryphn_loader.h>
gnReturnCode checkGetPhysicalDeviceQueueProperties(gnPhysicalOutputDeviceHandle device, uint32_t queueCount, gnQueueFamilyProperties* queues);
void checkGetDeviceQueue(gnOutputDevice device, uint32_t queueFamily, uint32_t queueIndex, gnQueue* queue);
gnReturnCode checkQueueSubmit(gnOutputDevice device, gnQueue queue, gnSubmitInfo info);
gnReturnCode checkQueueSubmitSync(gnOutputDevice device, gnQueue queue, gnSubmitSyncInfo info);
gnReturnCode checkQueuePresent(gnDevice device, gnQueue queue, gnPresentInfo info);
gnReturnCode checkQueuePresentSync(gnDevice device, gnQueue queue, gnPresentSyncInfo info);

View File

@@ -3,6 +3,7 @@
#include "src/device_functions.h"
#include "src/command_functions.h"
#include "extensions/sync_functions.h"
#include "extensions/queue_functions.h"
gnInstanceFunctions loadFunctionLoaderInstanceFunctions() {
return (gnInstanceFunctions){
@@ -121,3 +122,14 @@ gnSyncExtFunctions loadFunctionLoaderSyncExtFunctions() {
._gnPresentSync = checkPresentSync
};
}
gnQueueExtFunctions loadFunctionLoaderQueueExtFunctions() {
return (gnQueueExtFunctions){
._gnGetPhysicalDeviceQueueProperties = checkGetPhysicalDeviceQueueProperties,
._gnGetDeviceQueue = checkGetDeviceQueue,
._gnQueueSubmit = checkQueueSubmit,
._gnQueueSubmitSync = checkQueueSubmitSync,
._gnQueuePresent = checkQueuePresent,
._gnQueuePresentSync = checkQueuePresentSync
};
}

View File

@@ -8,4 +8,6 @@ gnDeviceFunctions loadFunctionLoaderDeviceFunctions();
gnCommandFunctions loadFunctionLoaderCommandFunctions();
#include "extensions/synchronization/loader/sync_functions.h"
#include "extensions/queues/queues_functions.h"
gnSyncExtFunctions loadFunctionLoaderSyncExtFunctions();
gnQueueExtFunctions loadFunctionLoaderQueueExtFunctions();