public abstract class FieldSymbolA val/var member of a type, or an enum member.
No guide page documents this yet — the page shows what the code says about itself.
Fields and properties (20)
public override SymbolKind Kindpublic abstract TypeSymbol Typepublic virtual bool IsReadOnlyDeclared with val (or synthesized read-only) — assignable only in an initializer or constructor.
public virtual bool IsConstDeclared const: a compile-time constant.
public virtual object? ConstantValueThe folded value of a const field, when it could be computed.
public virtual bool IsPermutationDeclared [Permutation]: a constant whose value the caller supplies per effect variant rather than the source fixing it.
public virtual bool IsValueParameterA val type parameter — shader Blur<val TapCount: int> — rather than a field. Like a [Permutation] key it is a compile-time constant, but it has no default: a value is part of the shader's signature.
public virtual bool IsComposeDeclared compose: a protocol-typed slot filled by a concrete shader chosen when the shader is compiled.
public virtual bool IsStreamDeclared stream: per-invocation storage threaded between pipeline stages.
public virtual bool IsGroupSharedDeclared groupshared: storage every invocation of one workgroup reaches and no other workgroup does.
public virtual object? DeclaredValueThe literal written in the declaration, or null when there is none.
public virtual NamedTypeSymbol? ComposedTypeThe shader bound to this compose slot, or null when the field is not a slot or nothing valid is bound. Calls through the slot go straight to this type's members, so there is no dispatch at runtime.
public virtual ResourceKind ResourceKindHow this field binds on the GPU when it is a shader member.
public bool IsBindingWhether this field becomes a descriptor binding — state the host supplies rather than storage the shader owns.
public virtual ResourceSet ResourceSetThe descriptor set this field's binding belongs to, from a [PerFrame] / [PerView] / [PerMaterial] / [PerDraw] marker.
public virtual bool IsPushConstantWhether this field is marked [PushConstant]: a small value the host writes into the command buffer rather than into a descriptor.
public virtual bool IsSharedWhether this binding is one resource for the whole compilation rather than a contribution from each feature that declares it — [Shared].
public virtual bool IsMaterialIndexWhether this field is the index of the material record a draw reads — [MaterialIndex].
public virtual ImageFormat? ImageFormatThe texel format from [Format("…")], resolved. Null unless this field is a storage image with a recognised format.
public virtual string? SemanticNameThe pipeline semantic from a [Semantic("…")] attribute, or null.
Methods (1)
public override string ToDisplayString()
Used by (25)
- BinderVixen.Raven
- BindingTestsVixen.Raven.Tests
- BoundFieldExpressionVixen.Raven
- BuilderVixen.Raven
- ComposeTestsVixen.Raven.Tests
- ConstantEvaluatorVixen.Raven
- EnumValueTestsVixen.Raven.Tests
- LowererVixen.Raven
- MetadataFieldSymbolVixen.Raven
- MonomorphiserVixen.Raven
- PermutationTestsVixen.Raven.Tests
- RemovedConstructsTestsVixen.Raven.Tests
- SemanticModelTestsVixen.Raven.Tests
- ShaderSemanticsTestsVixen.Raven.Tests
- SizedArrayTestsVixen.Raven.Tests
- SourceEnumMemberSymbolVixen.Raven
- SourceFieldSymbolVixen.Raven
- SourceNamedTypeSymbolVixen.Raven
- SourceValueParameterSymbolVixen.Raven
- SubstitutedFieldSymbolVixen.Raven
- SubstitutedSymbolsVixen.Raven
- SymbolTestsVixen.Raven.Tests
- SynthesizedFieldSymbolVixen.Raven
- ValueParameterTestsVixen.Raven.Tests
- WritableResourceTestsVixen.Raven.Tests