mtl-rs

Crates.iomtl-rs
lib.rsmtl-rs
version0.1.0
created_at2026-01-23 20:25:20.99016+00
updated_at2026-01-23 20:25:20.99016+00
descriptionRust bindings for Apple's Metal API
homepage
repositoryhttps://github.com/computer-graphics-tools/mtl-rs
max_upload_size
id2065402
size1,178,720
eugene (eugenebokhan)

documentation

README

mtl-rs

Rust bindings for Apple's Metal API, built on the modern objc2 ecosystem.

Features

  • Comprehensive Metal API coverage
  • MTL4 (Metal 4) API bindings
  • Built on objc2 for safe and modern Objective-C interop
  • Supports macOS and iOS

Installation

Add to your Cargo.toml:

[dependencies]
mtl-rs = "0.1.0"

Usage

use metal::{create_system_default_device, MTLDevice};

fn main() {
    let device = create_system_default_device()
        .expect("No Metal device found");

    println!("Device: {:?}", device.name());
    println!("Unified memory: {}", device.has_unified_memory());
    println!("Max threadgroup size: {:?}", device.max_threads_per_threadgroup());
}

Platforms

  • macOS (x86_64, aarch64)
  • iOS (aarch64)

License

MIT

Commit count: 4

cargo fmt