aboutsummaryrefslogtreecommitdiff
path: root/src/platform/metal/metal_context.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/platform/metal/metal_context.h')
-rw-r--r--src/platform/metal/metal_context.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/platform/metal/metal_context.h b/src/platform/metal/metal_context.h
new file mode 100644
index 0000000..f1e376b
--- /dev/null
+++ b/src/platform/metal/metal_context.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.
+ auto metal_probe() -> bool;
+
+ // Compiles + dispatches a trivial compute kernel and validates the read-back,
+ // proving the Metal compute path the geodesic ray tracer will run on.
+ auto metal_compute_self_test() -> bool;
+}