aboutsummaryrefslogtreecommitdiff
path: root/src/Platform/Metal/MetalContext.h
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2026-08-19 01:00:48 +0200
committerhachem <im@hachem.wtf>2026-08-19 01:00:48 +0200
commit5c5fc10d8938fd2da1922f01c638d42e70eb1ab1 (patch)
tree57ef5be020247c817079d010faae9a4635c8416a /src/Platform/Metal/MetalContext.h
parentd3c54837fc8b4ef0027aa6757c303aa673944e6f (diff)
[feat]: support mac arm
Diffstat (limited to 'src/Platform/Metal/MetalContext.h')
-rw-r--r--src/Platform/Metal/MetalContext.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/Platform/Metal/MetalContext.h b/src/Platform/Metal/MetalContext.h
new file mode 100644
index 0000000..5d9eb08
--- /dev/null
+++ b/src/Platform/Metal/MetalContext.h
@@ -0,0 +1,16 @@
+#pragma once
+
+// Pure-C++ interface to the Metal backend (no Objective-C leaks into the rest
+// of the engine). Implemented in MetalContext.mm.
+namespace Donut
+{
+ // Phase 1 bring-up: creates the default Metal device + command queue and
+ // logs its capabilities, proving the Metal toolchain and build integration
+ // work natively on Apple Silicon. This grows into the Metal compute island
+ // that runs the geodesic ray tracer in real time.
+ bool MetalProbe();
+
+ // Compiles + dispatches a trivial compute kernel and validates the read-back,
+ // proving the Metal compute path the geodesic ray tracer will run on.
+ bool MetalComputeSelfTest();
+}