Table of Contents

Namespace ShadowDusk.HLSL.Dxc

Classes

DxcCompileOptions

Fine-grained tuning for a DxcCompileRequest: whether to tolerate compiler warnings rather than fail, and whether to embed debug information in the emitted module.

DxcCompileRequest

A single HLSL → SPIR-V/DXIL compile request for the DXC frontend: the source and its logical file name, the entry point and ShaderStage to compile, the PlatformTarget that selects the output dialect, plus optional preprocessor macros, an include handler, and tuning via DxcCompileOptions.

DxcPreprocessRequest

A DXC preprocess-only request (the -P path): expand #includes, #defines and conditional directives into a single flat HLSL text WITHOUT compiling. No entry point, stage, or profile is involved — preprocessing is stage-agnostic.

DxcShaderCompiler

Compiles preprocessed HLSL to SPIR-V or DXBC via Vortice.Dxc. NOT thread-safe: do not share across concurrent compilations. Create one instance per parallel worker or serialize via a lock/channel.

PlatformBlob

A compiled platform shader blob plus a tag describing what kind of bytecode it holds. Produced by the HLSL backends (DxcShaderCompiler for SPIR-V/DXIL, the DXBC backends for SM5 DXBC and SM1-3 D3D9 bytecode) and consumed by the reflection and effect-writing stages.

Interfaces

IDxcShaderCompiler

Compiles preprocessed HLSL to SPIR-V or DXBC using DXC. NOT thread-safe: do not share a single instance across concurrent compilations. Create one instance per parallel worker or serialize access.

Enums

BlobKind

The container format of a compiled shader blob.