Table of Contents

Class ShaderTargetValidation

Namespace
ShadowDusk.Core
Assembly
ShadowDusk.Core.dll

One target's slice of a ShaderValidationReport: whether the shader compiles for Target, the errors when it does not, and the non-fatal warnings when it does.

public sealed record ShaderTargetValidation : IEquatable<ShaderTargetValidation>
Inheritance
ShaderTargetValidation
Implements
Inherited Members

Constructors

ShaderTargetValidation(PlatformTarget, bool, IReadOnlyList<ShaderError>, IReadOnlyList<ShaderError>)

One target's slice of a ShaderValidationReport: whether the shader compiles for Target, the errors when it does not, and the non-fatal warnings when it does.

public ShaderTargetValidation(PlatformTarget Target, bool Succeeded, IReadOnlyList<ShaderError> Errors, IReadOnlyList<ShaderError> Warnings)

Parameters

Target PlatformTarget

The platform backend that was validated.

Succeeded bool

Whether the shader compiles for Target.

Errors IReadOnlyList<ShaderError>

The compile errors, verbatim from the underlying compiler (empty when Succeeded is true).

Warnings IReadOnlyList<ShaderError>

Non-fatal diagnostics: the underlying compiler's own warnings plus ShadowDusk's GL portability findings (SD0400SD0499) — constructs that compile but are known to fail or misbehave at runtime on some GL stacks — and its reflection findings (SD0104: an unrecognised vertex-input semantic defaulted to TextureCoordinate, as mgfxc does, which is a phantom attribute when the semantic was a typo).

Properties

Errors

The compile errors, verbatim from the underlying compiler (empty when Succeeded is true).

public IReadOnlyList<ShaderError> Errors { get; init; }

Property Value

IReadOnlyList<ShaderError>

Succeeded

Whether the shader compiles for Target.

public bool Succeeded { get; init; }

Property Value

bool

Target

The platform backend that was validated.

public PlatformTarget Target { get; init; }

Property Value

PlatformTarget

Warnings

Non-fatal diagnostics: the underlying compiler's own warnings plus ShadowDusk's GL portability findings (SD0400SD0499) — constructs that compile but are known to fail or misbehave at runtime on some GL stacks — and its reflection findings (SD0104: an unrecognised vertex-input semantic defaulted to TextureCoordinate, as mgfxc does, which is a phantom attribute when the semantic was a typo).

public IReadOnlyList<ShaderError> Warnings { get; init; }

Property Value

IReadOnlyList<ShaderError>