Files
Gryphn/projects/apis/metal/loader/metal_instance_loader.m
2025-08-03 11:43:20 -04:00

25 lines
872 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() {
return (gryphnInstanceFunctionLayers) {
.createInstance = metalCreateInstance,
.destroyInstance = metalDestroyInstance,
.next = NULL
};
}
gnInstanceFunctions loadMetalInstanceFunctions() {
return (gnInstanceFunctions){
._gnGetPhysicalDevices = getMetalDevices,
._gnPhysicalDeviceCanPresentToSurface = metalCanDevicePresent,
._gnCreateOutputDevice = createMetalOutputDevice,
._gnDestroyOutputDevice = destroyMetalOutputDevice,
._gnCreateMacOSWindowSurface = createMetalSurface,
._gnDestroyWindowSurface = destroyMetalWindowSurface,
._gnGetSurfaceDetails = getMetalSurfaceDetails
};
}