Vixen
02b45cc4
csharp
public record class CompileRequest

Everything CompileDriver needs, with no console in it.

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

Fields and properties (15)

  • public required IReadOnlyList<string> Inputs

    Source files. They become one compilation, so they can see each other.

  • public required string Output

    Where to write. A path with an extension is a file, and then the shader must produce exactly one unit; anything else is a directory.

  • public string Target

    Backend name, as TargetBackends knows it.

  • public IReadOnlyList<string> Defines

    Values for the shader's [Permutation] keys, as Name=Value strings. Name alone means Name=true. Keys not named here take the default in the source.

  • public IReadOnlyList<string> Composes

    Which shader fills each compose slot, as slot=Shader strings. The slot may be qualified by shader: Lit.diffuse=Lambert.

  • public IReadOnlyList<string> References

    Compiled libraries to bind against, as paths to .rvnlib files.

  • public bool EmitLibrary

    Write a .rvnlib for this compilation instead of generating for a target.

  • public IReadOnlyList<string> Shaders

    Which shaders to write, by name. Empty writes every shader the compilation declares.

  • public bool EmitIr

    Also write the IR dump next to the generated sources.

  • public bool EmitListing

    For a binary target, also write the readable listing beside the bytes.

  • public bool ShowCapabilities

    Print the target features the module requires, so a host can see what it will be asked to support.

  • public bool EmitReflection

    Also write the reflection as JSON — the descriptor sets, member offsets and flattened parameter list the engine binds against.

  • public bool EmitEffect

    Also write a .rvnfx per shader — the compiled effect the runtime loads instead of compiling: every stage's module, the reflection, the permutation key and a source hash.

  • public bool Verbose

    Name every file as it is written.

  • public bool UseColor

    Colour the diagnostics.

Used by (3)

  • CliTestsVixen.Raven.Tests
  • CompileDriverVixen.Raven.Cli
  • RavenCommandVixen.Raven.Cli