Vixen
dd8b0a81
csharp
public static class TargetBackends

The backends this compiler knows about.

Read the guide page for this →

Remarks

Two are built in, and a third can be added from outside. That asymmetry is ADR-012's: SPIR-V is the canonical output and Vulkan GLSL is emitted beside it, but every other dialect — ESSL, HLSL, MSL, WGSL — is SPIRV-Cross's job, and SPIRV-Cross is a native library. Vixen.Raven is a shipped package; a reference to the project that hosts it would put those binaries in the restore graph of anything that consumes the compiler as a library, which is the shape docs/plan/01 already declined once for shaderc.

So the table is open rather than closed, and Vixen.Raven.Transpile pushes essl into it from Vixen.Raven.Cli's entry point. ⚠ Names is therefore a property of the process and not of this assembly — a caller that builds a menu from it must register first, which is why the CLI registers before it builds its command rather than inside the handler.

Fields and properties (1)

  • public static IReadOnlyList<string> Names

    Names accepted by Create, in a stable order.

Methods (2)

  • public static ITargetBackend? Create(string name)

    Creates a backend by name, or null when there is no such target.

  • public static void Register(string name, Func<ITargetBackend> factory)

    Adds a backend this assembly cannot reference.

Used by (27)

  • ParticlePictureVixen.Vfx.Gpu.Tests
  • RavenKernelsVixen.Vfx.Gpu.Tests
  • RavenTargetVixen.Fuzz
  • ShaderRunVixen.Raven.Gpu.Tests
  • VfxShaderEmitterTestsVixen.Vfx.Tests
  • VfxSortTestsVixen.Vfx.Gpu.Tests
  • CodeGenTestBaseVixen.Raven.Tests
  • CompileDriverVixen.Raven.Cli
  • CompiledEffectTestsVixen.Raven.Tests
  • ComposeInterfaceTestsVixen.Raven.Tests
  • ComposeTestsVixen.Raven.Tests
  • CrossCompilationTestsVixen.Raven.Transpile.Tests
  • EsslBackendVixen.Raven.Transpile
  • GlslBackendTestsVixen.Raven.Tests
  • GoldenGlslTestsVixen.Raven.Tests
  • GoldenSpirvTestsVixen.Raven.Tests
  • LibraryTreeTestsVixen.Raven.Tests
  • RavenCommandVixen.Raven.Cli
  • RavenEffectCompilerVixen.ShaderCompiler
  • ReadmeExampleTestsVixen.Raven.Tests
  • ShaderGraphCompilerTestsVixen.Editor.ShaderGraph.Tests
  • ShaderNodeLibraryTestsVixen.Editor.ShaderGraph.Tests
  • SharedBindingTestsVixen.Raven.Tests
  • SizedArrayTestsVixen.Raven.Tests
  • SpirvBackendTestsVixen.Raven.Tests
  • UnprovenDiagnosticTestsVixen.Raven.Tests
  • WritableResourceTestsVixen.Raven.Tests