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
spirvBlobReadOnlyMemory<byte>A complete SPIR-V module (little-endian word stream).