Files
Gryphn/projects/apis/metal/loader/metal_instance_loader.m
2025-09-17 13:37:50 -04:00

27 lines
998 B
Objective-C

#include "metal_loader.h"
#include "instance/metal_instance.h"
#include "surface/metal_surface.h"
#include "devices/metal_output_devices.h"
gryphnInstanceFunctionLayers metalLoadAPILayer(void) {
return (gryphnInstanceFunctionLayers) {
.createInstance = metalCreateInstance,
.queryDevices = metalQueryDevices,
.destroyInstance = metalDestroyInstance,
// .isSuitable = metalIsInstanceSuitable,
.getPhysicalDeviceProperties = metalQueryPhysicalDeviceProperties,
.next = NULL
};
}
gnInstanceFunctions loadMetalInstanceFunctions(void) {
return (gnInstanceFunctions){
._gnPhysicalDeviceCanPresentToSurface = metalCanDevicePresent,
._gnCreateOutputDevice = createMetalOutputDevice,
._gnDestroyOutputDevice = destroyMetalOutputDevice,
._gnCreateMacOSWindowSurface = createMetalSurface,
._gnDestroyWindowSurface = destroyMetalWindowSurface,
._gnGetSurfaceDetails = getMetalSurfaceDetails
};
}