Table of Contents

Namespace ShadowDusk.HLSL.D3DCompiler

Classes

D3DCompileRequest

A request to compile preprocessed HLSL to D3D bytecode behind IDxbcShaderCompiler. Mirrors DxcCompileRequest. By default the profile is derived from Stage as SM5 (vs_5_0/ps_5_0 — the MonoGame DX11 path); ProfileOverride selects a different profile (the FNA fx_2_0 path compiles at SM1–3, e.g. "ps_3_0").

D3DCompilerShaderCompiler

Compiles preprocessed HLSL to SM5 DXBC via d3dcompiler_47.dll (the fxc engine). This is the Windows-only "oracle" DXBC backend (Phase 18): it emits the real Shader-Model-5 bytecode MonoGame's DX11 runtime loads, which DXC cannot produce (DXC's minimum is SM6 DXIL). A cross-platform vkd3d-shader backend is intended to replace it behind IDxbcShaderCompiler.

Off Windows the package restores fine (managed wrapper) but the native d3dcompiler_47.dll is absent; CompileAsync(D3DCompileRequest, CancellationToken) returns a clear ShaderError rather than throwing DllNotFoundException.

Interfaces

IDxbcShaderCompiler

Compiles preprocessed HLSL to SM5 DXBC (Shader Model ≤ 5) — the bytecode MonoGame's DX11 runtime loads. This is the seam behind which a DXBC backend sits: the d3dcompiler_47 "oracle" (D3DCompilerShaderCompiler, Windows-only) and the cross-platform vkd3d-shader backend (Vkd3dShaderCompiler) — selected via CompilerOptions.DxbcBackend without changing the pipeline.