From 969dd4cc7246bfe89103efcb00f399606e804e98 Mon Sep 17 00:00:00 2001 From: Jay Kwak <82421531+jkwak-work@users.noreply.github.com> Date: Tue, 25 Jun 2024 22:07:41 -0700 Subject: Support atomic intrinsics for Metal (#4473) * Support atomic intrinsics for Metal This commit adds a support for the atomic intrinsics in Metal. The atomic member functions for buffers is not implemented yet. Metal requires the first argument for the atomic functions to be an atomic data type. This implementation rely on the fact that we can do a C-style type casting from a regular data type to an atomic data type. --- source/slang/slang-emit-c-like.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'source/slang/slang-emit-c-like.cpp') diff --git a/source/slang/slang-emit-c-like.cpp b/source/slang/slang-emit-c-like.cpp index e9ab58bca..6062875b3 100644 --- a/source/slang/slang-emit-c-like.cpp +++ b/source/slang/slang-emit-c-like.cpp @@ -2889,6 +2889,7 @@ void CLikeSourceEmitter::_emitInst(IRInst* inst) case kIROp_AtomicCounterIncrement: case kIROp_AtomicCounterDecrement: case kIROp_StructuredBufferGetDimensions: + case kIROp_MetalAtomicCast: emitInstStmt(inst); break; -- cgit v1.2.3