From 1cbfd0a0a7d04d9d064bc7011b4b1a08e776b17b Mon Sep 17 00:00:00 2001 From: sean Date: Thu, 28 Dec 2023 20:48:36 +0100 Subject: [PATCH] Add: Recognize Apple9 --- MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm | 6 ++++++ MoltenVK/MoltenVK/GPUObjects/MVKPixelFormats.mm | 12 ++++++++++++ 2 files changed, 18 insertions(+) diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm index a47b4e62..ec1bf9f5 100644 --- a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm +++ b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm @@ -2926,6 +2926,9 @@ uint32_t MVKPhysicalDevice::getHighestGPUCapability() { #if MVK_XCODE_14 || (MVK_IOS && MVK_XCODE_13) if (supportsMTLGPUFamily(Apple8)) { gpuFam = MTLGPUFamilyApple8; } #endif +#if MVK_XCODE_15 && (MVK_IOS || MVK_MACOS) + if (supportsMTLGPUFamily(Apple9)) { gpuFam = MTLGPUFamilyApple9; } +#endif // Combine OS major (8 bits), OS minor (8 bits), and GPU family (16 bits) // into one 32-bit value summarizing highest GPU capability. @@ -3326,6 +3329,9 @@ void MVKPhysicalDevice::logGPUInfo() { logMsg += "\n\tsupports the following Metal Versions, GPU's and Feature Sets:"; logMsg += "\n\t\tMetal Shading Language %s"; +#if MVK_XCODE_15 && (MVK_IOS || MVK_MACOS) + if (supportsMTLGPUFamily(Apple9)) { logMsg += "\n\t\tGPU Family Apple 9"; } +#endif #if MVK_XCODE_14 || (MVK_IOS && MVK_XCODE_13) if (supportsMTLGPUFamily(Apple8)) { logMsg += "\n\t\tGPU Family Apple 8"; } #endif diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKPixelFormats.mm b/MoltenVK/MoltenVK/GPUObjects/MVKPixelFormats.mm index ce60ba3e..afec11c0 100644 --- a/MoltenVK/MoltenVK/GPUObjects/MVKPixelFormats.mm +++ b/MoltenVK/MoltenVK/GPUObjects/MVKPixelFormats.mm @@ -1682,6 +1682,12 @@ void MVKPixelFormats::modifyMTLFormatCapabilities(id mtlDevice) { addGPUOSMTLPixFmtCaps( Apple5, 11.0, BGR10_XR, All ); addGPUOSMTLPixFmtCaps( Apple5, 11.0, BGR10_XR_sRGB, All ); #endif + +#if MVK_XCODE_15 + addGPUOSMTLPixFmtCaps( Apple9, 14.0, R32Float, All ); + addGPUOSMTLPixFmtCaps( Apple9, 14.0, RG32Float, All ); + addGPUOSMTLPixFmtCaps( Apple9, 14.0, RGBA32Float, All ); +#endif addFeatSetMTLVtxFmtCaps( macOS_GPUFamily1_v3, UCharNormalized, Vertex ); addFeatSetMTLVtxFmtCaps( macOS_GPUFamily1_v3, CharNormalized, Vertex ); @@ -1941,6 +1947,12 @@ void MVKPixelFormats::modifyMTLFormatCapabilities(id mtlDevice) { addGPUOSMTLPixFmtCaps( Apple1, 13.0, Depth16Unorm, DRFM ); addGPUOSMTLPixFmtCaps( Apple3, 13.0, Depth16Unorm, DRFMR ); + +#if MVK_XCODE_15 + addGPUOSMTLPixFmtCaps( Apple9, 14.0, R32Float, All ); + addGPUOSMTLPixFmtCaps( Apple9, 14.0, RG32Float, All ); + addGPUOSMTLPixFmtCaps( Apple9, 14.0, RGBA32Float, All ); +#endif // Vertex formats addFeatSetMTLVtxFmtCaps( iOS_GPUFamily1_v4, UCharNormalized, Vertex );