function loader supports GN_EXT_QUEUES
This commit is contained in:
@@ -134,7 +134,8 @@ loaderLayer function_check_layer() {
|
||||
.deviceFunctions = loadFunctionLoaderDeviceFunctions(),
|
||||
.commandFunctions = loadFunctionLoaderCommandFunctions(),
|
||||
|
||||
.syncFunctions = loadFunctionLoaderSyncExtFunctions()
|
||||
.syncFunctions = loadFunctionLoaderSyncExtFunctions(),
|
||||
.queueFunctions = loadFunctionLoaderQueueExtFunctions(),
|
||||
};
|
||||
}
|
||||
|
||||
|
@@ -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);
|
||||
}
|
@@ -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);
|
@@ -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
|
||||
};
|
||||
}
|
||||
|
@@ -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();
|
||||
|
Reference in New Issue
Block a user