Vixen
02b45cc4
csharp
public sealed class Lowerer

Lowers 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)

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