// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics) // SPDX-FileCopyrightText: 2025 Jorrit Rouwe // SPDX-License-Identifier: MIT #include #ifdef JPH_USE_MTL #include JPH_NAMESPACE_BEGIN JPH_IMPLEMENT_RTTI_VIRTUAL(ComputeSystemMTLImpl) { JPH_ADD_BASE_CLASS(ComputeSystemMTLImpl, ComputeSystemMTL) } ComputeSystemMTLImpl::~ComputeSystemMTLImpl() { Shutdown(); [GetDevice() release]; } bool ComputeSystemMTLImpl::Initialize() { id device = MTLCreateSystemDefaultDevice(); return ComputeSystemMTL::Initialize(device); } ComputeSystemResult CreateComputeSystemMTL() { ComputeSystemResult result; Ref compute = new ComputeSystemMTLImpl; if (!compute->Initialize()) { result.SetError("Failed to initialize compute system"); return result; } result.Set(compute.GetPtr()); return result; } JPH_NAMESPACE_END #endif // JPH_USE_MTL