function loader supports GN_EXT_QUEUES
This commit is contained in:
@@ -134,7 +134,8 @@ loaderLayer function_check_layer() {
|
|||||||
.deviceFunctions = loadFunctionLoaderDeviceFunctions(),
|
.deviceFunctions = loadFunctionLoaderDeviceFunctions(),
|
||||||
.commandFunctions = loadFunctionLoaderCommandFunctions(),
|
.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/device_functions.h"
|
||||||
#include "src/command_functions.h"
|
#include "src/command_functions.h"
|
||||||
#include "extensions/sync_functions.h"
|
#include "extensions/sync_functions.h"
|
||||||
|
#include "extensions/queue_functions.h"
|
||||||
|
|
||||||
gnInstanceFunctions loadFunctionLoaderInstanceFunctions() {
|
gnInstanceFunctions loadFunctionLoaderInstanceFunctions() {
|
||||||
return (gnInstanceFunctions){
|
return (gnInstanceFunctions){
|
||||||
@@ -121,3 +122,14 @@ gnSyncExtFunctions loadFunctionLoaderSyncExtFunctions() {
|
|||||||
._gnPresentSync = checkPresentSync
|
._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();
|
gnCommandFunctions loadFunctionLoaderCommandFunctions();
|
||||||
|
|
||||||
#include "extensions/synchronization/loader/sync_functions.h"
|
#include "extensions/synchronization/loader/sync_functions.h"
|
||||||
|
#include "extensions/queues/queues_functions.h"
|
||||||
gnSyncExtFunctions loadFunctionLoaderSyncExtFunctions();
|
gnSyncExtFunctions loadFunctionLoaderSyncExtFunctions();
|
||||||
|
gnQueueExtFunctions loadFunctionLoaderQueueExtFunctions();
|
||||||
|
Reference in New Issue
Block a user