instance suitability functions

This commit is contained in:
Gregory Wells
2025-09-10 13:26:18 -04:00
parent 0310652abc
commit a446d6e75f
10 changed files with 36 additions and 34 deletions

View File

@@ -84,8 +84,12 @@ gnReturnCode gnCreateInstance(gnInstanceHandle* instance, gnInstanceCreateInfo*
return (*instance)->functions->createInstance(*instance, info, (*instance)->functions->next, &(*instance)->allocators);
}
gnBool gnIsInstanceSuitable(gnInstance instance, gnSuitableField field) {
return instance->functions->isSuitable(instance, field, instance->functions->next);
}
gnReturnCode gnInstanceQueryDevices(gnInstanceHandle instance, uint32_t* count, gnPhysicalDeviceHandle* devices) {
return instance->functions->queryDevices(instance, count, devices);
return instance->functions->queryDevices(instance, count, devices, instance->functions->next);
}
void gnDestroyInstance(gnInstanceHandle* instance) {

View File

@@ -7,7 +7,6 @@
#include "gryphn_allocators.h"
#include <gryphn_extensions.h>
typedef struct gnApplicationInfo {
gnString applicationName;
gnVersion applicationVersion;
@@ -16,6 +15,10 @@ typedef struct gnApplicationInfo {
gnVersion engineVersion;
} gnApplicationInfo;
typedef enum gnSuitableField {
GN_NON_EXISTANT_PHYSICAL_DEVICE
} gnSuitableField;
typedef struct gnInstanceCreateInfo {
gnApplicationInfo applicationInfo;
gnDebuggerCreateInfo debuggerInfo;
@@ -45,5 +48,6 @@ struct gnInstance_t {
#endif
gnReturnCode gnCreateInstance(gnInstanceHandle* instance, gnInstanceCreateInfo* info);
gnBool gnIsInstanceSuitable(gnInstance instance, gnSuitableField field);
gnReturnCode gnInstanceQueryDevices(gnInstanceHandle instance, uint32_t* count, gnPhysicalDeviceHandle* devices);
void gnDestroyInstance(gnInstanceHandle* instance);