// 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 ComputeShaderMTL::ComputeShaderMTL(id inPipelineState, MTLComputePipelineReflection *inReflection, uint32 inGroupSizeX, uint32 inGroupSizeY, uint32 inGroupSizeZ) : ComputeShader(inGroupSizeX, inGroupSizeY, inGroupSizeZ), mPipelineState(inPipelineState) { for (id binding in inReflection.bindings) { const char *name = [binding.name UTF8String]; uint index = uint(binding.index); mNameToBindingIndex[name] = index; } } uint ComputeShaderMTL::NameToBindingIndex(const char *inName) const { UnorderedMap::const_iterator it = mNameToBindingIndex.find(inName); JPH_ASSERT(it != mNameToBindingIndex.end()); return it->second; } JPH_NAMESPACE_END #endif // JPH_USE_MTL