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
TargetPlatformTargetThe platform backend that was validated.
SucceededboolWhether the shader compiles for Target.
ErrorsIReadOnlyList<ShaderError>The compile errors, verbatim from the underlying compiler (empty when Succeeded is true).
WarningsIReadOnlyList<ShaderError>Non-fatal diagnostics: the underlying compiler's own warnings plus ShadowDusk's GL portability findings (
SD0400–SD0499) — 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
public IReadOnlyList<ShaderError> Errors { get; init; }
Property Value
Succeeded
Whether the shader compiles for Target.
public bool Succeeded { get; init; }
Property Value
Target
The platform backend that was validated.
public PlatformTarget Target { get; init; }
Property Value
Warnings
Non-fatal diagnostics: the underlying compiler's own warnings plus ShadowDusk's GL
portability findings (SD0400–SD0499) — 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; }