1 stable release
new 2023.12.14+0b7073b.1 | Nov 21, 2024 |
---|
#5 in #mach
7KB
55 lines
mach-dxcompiler-rs
This library allows for statically linking prebuilt binaries from mach-dxcompiler-rs
into a Rust project. The mach-dxcompiler
repository is a fork of Microsoft's DirectXShaderCompiler
that replaces the CMake build system with Zig. This allows for building the project statically and linking it into existing applications - but the core logic comes from the original DXC library.
Usage
The curl.exe
and tar.exe
command line utilities are required for this crate's build script. They should be installed by default in Windows 10 and 11.
First, add this crate to the project: cargo add mach-dxcompiler-rs
Next, use the DxcCreateInstance
function to create DXC COM objects. Once created, these objects are usable with the normal COM windows API.
use windows::Win32::Graphics::Direct3D::Dxc;
let mut obj = std::ptr::null_mut();
mach_dxcompiler_rs::DxcCreateInstance(&Dxc::CLSID_DxcCompiler, &Dxc::CLSID_DxcUtils, &mut object);
// ... use the shader compiler ...
Dependencies
~0.5–5.5MB
~22K SLoC