Table of Contents

Class DxcCompileRequest

Namespace
ShadowDusk.HLSL.Dxc
Assembly
ShadowDusk.HLSL.dll

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.

public sealed class DxcCompileRequest
Inheritance
DxcCompileRequest
Inherited Members

Properties

EntryPoint

The entry-point function name to compile.

public required string EntryPoint { get; init; }

Property Value

string

HlslSource

The preprocessed HLSL source to compile.

public required string HlslSource { get; init; }

Property Value

string

IncludeHandler

Optional handler that resolves #include directives; null disables includes.

public IDxcIncludeHandler? IncludeHandler { get; init; }

Property Value

IDxcIncludeHandler

Macros

Preprocessor macros to define, as (name, value) pairs; a null value defines the macro with no value.

public IReadOnlyList<(string Name, string? Value)> Macros { get; init; }

Property Value

IReadOnlyList<(string Name, string Value)>

Options

Fine-grained compile tuning (warning tolerance, debug-info embedding).

public DxcCompileOptions Options { get; init; }

Property Value

DxcCompileOptions

Platform

The target platform that selects the output dialect (SPIR-V for OpenGL, DXBC/DXIL for DirectX).

public required PlatformTarget Platform { get; init; }

Property Value

PlatformTarget

SourceFileName

The logical file name reported in diagnostics and used for include resolution.

public required string SourceFileName { get; init; }

Property Value

string

Stage

The shader stage (vertex/pixel/…) the entry point belongs to.

public required ShaderStage Stage { get; init; }

Property Value

ShaderStage