1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
#![allow(dead_code)] //! # Hassle //! //! This crate provides an FFI layer and idiomatic rust wrappers for the new [DirectXShaderCompiler](https://github.com/Microsoft/DirectXShaderCompiler) library. //! //! ## Simple example //! //! ```rust //! //! let code = " //! Texture2D<float4> g_input : register(t0, space0); //! RWTexture2D<float4> g_output : register(u0, space0); //! //! [numthreads(8, 8, 1)] //! void copyCs(uint3 dispatchThreadId : SV_DispatchThreadID) //! { //! g_output[dispatchThreadId.xy] = g_input[dispatchThreadId.xy]; //! }"; //! //! let ir = compile_hlsl( //! "shader_filename.hlsl", //! code, //! "copyCs", //! "cs_6_1", //! &vec!["-spirv"], //! &vec![ //! ("MY_DEFINE", Some("Value")), //! ("OTHER_DEFINE", None) //! ], //! ); //! ``` pub mod ffi; pub mod utils; pub mod wrapper; pub use crate::ffi::*; pub use crate::utils::{compile_hlsl, validate_dxil}; pub use crate::wrapper::*;