Vixen
02b45cc4
csharp
public record class ShaderDataType

The shape of a value, flat enough for a generator or an RHI to switch on.

No guide page documents this yet — the page shows what the code says about itself.

Fields and properties (8)

  • public IrTypeKind Scalar

    Component type. Void for an opaque resource.

  • public int Rows

    Vector lanes, or matrix rows. 1 for a scalar. A matrix is stored column-major, so this is the length of one column.

  • public int Columns

    Matrix columns. 1 for a scalar or vector.

  • public int? ArrayLength

    Array length; 0 for a runtime-sized array; null when not an array.

  • public string? StructName

    Name of the struct this describes, when it is one.

  • public bool IsMatrix

    Whether this describes a matrix rather than a scalar or vector.

  • public bool IsArray

    Whether this describes an array.

  • public bool IsStruct

    Whether this describes a struct.

Methods (2)

  • public ShaderDataType(IrTypeKind Scalar, int Rows = 1, int Columns = 1, int? ArrayLength = null, string? StructName = null)

    The shape of a value, flat enough for a generator or an RHI to switch on.

  • public static ShaderDataType From(IrType type)

    Reads an IR type into the engine-facing shape.

Used by (13)

  • LayoutGateTestsVixen.Raven.Gpu.Tests
  • ConventionTestsVixen.Raven.Tests
  • EffectTranslatorVixen.ShaderCompiler
  • FragmentOutputInfoVixen.Raven
  • MemberInfoVixen.Raven
  • ParameterInfoVixen.Raven
  • PermutationClosureVixen.ShaderCompiler
  • PermutationInfoVixen.Raven
  • ReflectionBuilderVixen.Raven
  • ReflectionTestsVixen.Raven.Tests
  • SpecConstantInfoVixen.Raven
  • ValueParameterInfoVixen.Raven
  • VertexInputInfoVixen.Raven