mirror of
https://github.com/lucannez64/darling-lol.git
synced 2026-10-27 19:54:38 +00:00
-[MTLDevice name] returned "Darling Indium Device" for every GPU. It now returns the selected Vulkan device's name in macOS Metal style: the trailing driver note in brackets and the (R)/(TM) marks are removed, and NVIDIA names are unchanged. The name is never replaced with another vendor's. recommendedMaxWorkingSetSize is the device-local heap size on discrete GPUs and all heaps on integrated/CPU devices, with the old 1 GiB as fallback. Both are computed once per device. hasUnifiedMemory stays YES by default: synchronizeResource:/ synchronizeTexture: are missing and Private buffers created with data abort in Indium, so reporting NO on discrete GPUs would send apps down unimplemented paths. DARLING_METAL_HOST_UNIFIED_MEMORY=1 opts in to the GPU-type answer. DARLING_METAL_GPU_NAME and DARLING_METAL_VRAM_MB override the name and working set. The cleaning logic lives in private-include/Metal/MTLDeviceInfo.h and is covered by the host check tools/test-metal-device-info.cpp. Metal now links indium_private for the Vulkan properties, and the runtime build script adds Indium's private headers before compiling MTLDevice.mm. Co-Authored-By: Claude Opus 5.5 <[email protected]>