oxidx 0.2.0

Low-level D3D12 bindings/wrapper for Rust.
Documentation
oxidx-0.2.0 has been yanked.

oxidx

This project provides low-level bindings/wrapper for D3D12 API.

Features

  • Provides a low-level API around DirectX 12. All methods correspond to DirectX 12 C++ methods, but they are done in a Rust way.
  • Based on official windows crate.
  • No library/runtime validation, only driver validation.
  • PIX methods.
  • D3D12 and DXGI prefixes have been stripped from all types.

Minimum supported Rust version

oxidx's MSRV is 1.80.

Examples

Device creation

let entry = Entry;

let factory: Factory4 = entry.create_factory(FactoryCreationFlags::empty())?;

let adapter = factory.enum_adapters(0)?;

let device: Device = entry
    .create_device(&adapter, FeatureLevel::Level11)
    .unwrap();

Feature fetching

let mut options = Options1Feature::default();
device.check_feature_support(&mut options)?;