Table of Contents

Class SpirvReflector

Namespace
ShadowDusk.Core.Reflection
Assembly
ShadowDusk.Core.dll

Pure-managed IShaderReflector that derives a ReflectedEffect directly from SPIR-V bytecode — no native DXIL / ID3D12ShaderReflection path, so it runs inside the .NET WASM browser host (Phase 19).

It mirrors the field-population semantics of the native DXIL oracle (ShadowDusk.HLSL.Reflection.DxilReflectionExtractor) for the OpenGL SM3 PS-only corpus: constant-buffer layouts (offsets, sizes, class/type, rows/columns/elements, 16-byte packing) and texture / sampler bind slots.

Signatures. InputSignature and OutputSignature are intentionally left EMPTY: SPIR-V discards HLSL semantic strings (TEXCOORD0, SV_Target, …) — it keeps only numeric Location decorations — so the original signatures cannot be recovered. The PS-only MonoGame corpus does not need them for .mgfx output.

public sealed class SpirvReflector : IShaderReflector
Inheritance
SpirvReflector
Implements
Inherited Members

Methods

Reflect(ReadOnlyMemory<byte>)

Reflects a SPIR-V module into a ReflectedEffect.

public Result<ReflectedEffect, ShaderError> Reflect(ReadOnlyMemory<byte> spirvBlob)

Parameters

spirvBlob ReadOnlyMemory<byte>

A complete SPIR-V module (little-endian word stream).

Returns

Result<ReflectedEffect, ShaderError>