enumerate all physical devices

This commit is contained in:
2026-05-07 17:20:52 -04:00
parent b46497d3e1
commit b93fd9cfec
+9 -2
View File
@@ -1,9 +1,16 @@
#import "Metal/Metal.h"
#include "metal_functions.h"
#include "stdio.h"
#include "stdint.h"
gnReturnCode metalEnumeratePhysicalDevices(gnInstance instance, uint32_t* deviceCount, gnPhysicalDevice* devices) {
*deviceCount = 0;
NSArray<id<MTLDevice>>* mtlDevices = MTLCopyAllDevices();
uint32_t systemCount = (uint32_t)[mtlDevices count];
*deviceCount = systemCount;
if (devices == NULL)
return GN_SUCCESS;
for (uint32_t i = 0; i < *deviceCount; i++)
devices[i] = (gnPhysicalDevice)mtlDevices[i];
return GN_SUCCESS;
}
c