public sealed class IrSharedVariableStorage one workgroup shares, declared with groupshared.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
Deliberately not an IrBinding, and for the same reason IrStream is not: there is no descriptor, no (set, binding) and nothing the host writes. It is not a local either — a local is one copy per invocation and this is one per workgroup, which is the entire difference and the entire point.
The variable it carries is a module-scope global, which is what both targets model this as: a SPIR-V OpVariable in the Workgroup storage class and a GLSL shared declaration are both module scope. So a read lowers to an ordinary load and a write to an ordinary store, and the storage class is the backend's to spell.
Fields and properties (3)
public IrVariable Variablepublic string Namepublic IrType Type
Methods (2)
public IrSharedVariable(IrVariable variable)Storage one workgroup shares, declared with groupshared.
public override string ToString()
Used by (10)
- GlslEmitterVixen.Raven
- GroupSharedTestsVixen.Raven.Tests
- IrCapabilitiesVixen.Raven
- IrEntryPointVixen.Raven
- IrPrinterVixen.Raven
- IrShaderVixen.Raven
- LibraryBuilderVixen.Raven
- LibraryTreeTestsVixen.Raven.Tests
- LowererVixen.Raven
- SpirvEmitterVixen.Raven