aboutsummaryrefslogtreecommitdiff
path: root/src/Platform/Metal/MetalContext.h
blob: 5d9eb0848e45c4a96c8295af184540868d080de3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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();
}