hassle-rs 0.2.0

This crate provides an FFI layer and idiomatic rust wrappers for the new DXC hlsl compiler and validator.

Hassle

This crate provides an FFI layer and idiomatic rust wrappers for the new DirectXShaderCompiler library.

Simple example


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)
],
);