Vixen
02b45cc4
csharp
public sealed class IrStream

An interstage value the shader declares with stream: written by one stage, read by the next.

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

Remarks

Deliberately not an IrBinding. A binding is host-visible state with a descriptor; a stream is per-invocation and lives in the pipeline's own interface, so nothing about it reaches BindingPlan or the descriptor sets.

The variable it carries is a module-scope global, which is exactly how both targets model a stage interface — a SPIR-V Input/Output variable and a GLSL in/out are both module scope. So a read lowers to an ordinary load and a write to an ordinary store, and it is the direction that the backend resolves per stage. Which direction a stage needs is not declared: see StreamInputs.

Fields and properties (3)

Methods (2)

  • public IrStream(IrVariable variable)

    An interstage value the shader declares with stream: written by one stage, read by the next.

  • public override string ToString()

Used by (12)

  • GlslEmitterVixen.Raven
  • InheritanceTestsVixen.Raven.Tests
  • IrEntryPointVixen.Raven
  • IrPrinterVixen.Raven
  • IrShaderVixen.Raven
  • LibraryBuilderVixen.Raven
  • LowererVixen.Raven
  • PlannedStreamVixen.Raven
  • ReflectionBuilderVixen.Raven
  • SpirvEmitterVixen.Raven
  • StreamPlanVixen.Raven
  • StreamTestsVixen.Raven.Tests