public sealed class LowererLowers a bound compilation to the target-independent IrModule.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
The three jobs here are erasure, explicitness and desugaring. Erasure: a shader's fields have no runtime object, so self.scale becomes a global binding and self disappears. Explicitness: every conversion, every load and every store is its own instruction. Desugaring: for loops, compound assignment and ++ become plain loops, loads and stores.
Lowering assumes the compilation bound cleanly. Anything the binder already reported flows in as ErrorTypeSymbol and is passed over silently rather than reported twice.
Methods (2)
public static IrModule Lower(Compilation compilation, DiagnosticBag diagnostics)Lowers every shader and type in the compilation.
public static LoweringResult LowerWithLinks(Compilation compilation, DiagnosticBag diagnostics)Lowers the compilation and keeps the map from symbols to what they lowered to.
Used by (41, showing 40)
- RavenKernelsVixen.Vfx.Gpu.Tests
- ShaderRunVixen.Raven.Gpu.Tests
- VfxShaderEmitterTestsVixen.Vfx.Tests
- VfxShaderUniformTestsVixen.Vfx.Tests
- VfxSortTestsVixen.Vfx.Gpu.Tests
- AtomicTestsVixen.Raven.Tests
- BindlessTextureTestsVixen.Raven.Tests
- CapabilityTestsVixen.Raven.Tests
- CodeGenTestBaseVixen.Raven.Tests
- CompileDriverVixen.Raven.Cli
- CompiledEffectTestsVixen.Raven.Tests
- CompiledLibraryTestsVixen.Raven.Tests
- ComposeInterfaceTestsVixen.Raven.Tests
- ComposeTestsVixen.Raven.Tests
- ComputeTestsVixen.Raven.Tests
- DescriptorSetTestsVixen.Raven.Tests
- GoldenGlslTestsVixen.Raven.Tests
- GoldenIrTestsVixen.Raven.Tests
- GoldenSpirvTestsVixen.Raven.Tests
- GroupSharedTestsVixen.Raven.Tests
- InOutTestsVixen.Raven.Tests
- Int64TestsVixen.Raven.Tests
- LibraryExampleTestsVixen.Raven.Tests
- LibraryReflectionTestsVixen.Raven.Tests
- LibraryTreeTestsVixen.Raven.Tests
- LoweringTestBaseVixen.Raven.Tests
- MaterialRecordTestsVixen.Raven.Tests
- PermutationTestsVixen.Raven.Tests
- RavenEffectCompilerVixen.ShaderCompiler
- ReadmeExampleTestsVixen.Raven.Tests
- ReferenceLinkVixen.Raven
- ReflectionTestsVixen.Raven.Tests
- RenderTargetTestsVixen.Raven.Tests
- ShaderGraphCompilerTestsVixen.Editor.ShaderGraph.Tests
- SharedBindingTestsVixen.Raven.Tests
- SizedArrayTestsVixen.Raven.Tests
- SourceOrderTestsVixen.Raven.Tests
- StreamTestsVixen.Raven.Tests
- ValueParameterTestsVixen.Raven.Tests
- VfxGraphCompilerTestsVixen.Editor.VfxGraph.Tests