public record class CompileRequestEverything 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> InputsSource files. They become one compilation, so they can see each other.
public required string OutputWhere 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 TargetBackend name, as TargetBackends knows it.
public IReadOnlyList<string> DefinesValues 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> ComposesWhich shader fills each compose slot, as slot=Shader strings. The slot may be qualified by shader: Lit.diffuse=Lambert.
public IReadOnlyList<string> ReferencesCompiled libraries to bind against, as paths to .rvnlib files.
public bool EmitLibraryWrite a .rvnlib for this compilation instead of generating for a target.
public IReadOnlyList<string> ShadersWhich shaders to write, by name. Empty writes every shader the compilation declares.
public bool EmitIrAlso write the IR dump next to the generated sources.
public bool EmitListingFor a binary target, also write the readable listing beside the bytes.
public bool ShowCapabilitiesPrint the target features the module requires, so a host can see what it will be asked to support.
public bool EmitReflectionAlso write the reflection as JSON — the descriptor sets, member offsets and flattened parameter list the engine binds against.
public bool EmitEffectAlso 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 VerboseName every file as it is written.
public bool UseColorColour the diagnostics.
Used by (3)
- CliTestsVixen.Raven.Tests
- CompileDriverVixen.Raven.Cli
- RavenCommandVixen.Raven.Cli