Vixen
02b45cc4
csharp
public static class ReflectionBuilder

Reads a lowered shader into the RavenReflection the engine binds against.

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

Remarks

Built from the IR, never by parsing emitted GLSL or SPIR-V back. That is what makes the numbers identical on every backend: the SPIR-V decorations and these offsets come from one ShaderLayout, so there is nothing for two backends to disagree about. It also means a value behind a false permutation is already gone, so the reported interface is the one this variant actually has.

Methods (2)

  • public static RavenReflection Describe(IrShader shader, IEnumerable<string>? usedPermutationKeys = null)

    Describes one shader.

  • public static ImmutableDictionary<string, RavenReflection> Describe(IrModule module, IEnumerable<string>? usedPermutationKeys = null)

    Describes every shader in a module, keyed by name.

Used by (24)

  • ShaderRunVixen.Raven.Gpu.Tests
  • VfxShaderUniformTestsVixen.Vfx.Tests
  • BindlessTextureTestsVixen.Raven.Tests
  • CompileDriverVixen.Raven.Cli
  • CompiledEffectTestsVixen.Raven.Tests
  • ComposeInterfaceTestsVixen.Raven.Tests
  • ComputeTestsVixen.Raven.Tests
  • ConventionTestsVixen.Raven.Tests
  • DescriptorSetTestsVixen.Raven.Tests
  • LibraryReflectionTestsVixen.Raven.Tests
  • MaterialRecordTestsVixen.Raven.Tests
  • PushConstantTestsVixen.Raven.Tests
  • RavenEffectCompilerVixen.ShaderCompiler
  • RayQueryTestsVixen.Raven.Tests
  • ReflectionTestsVixen.Raven.Tests
  • RenderTargetTestsVixen.Raven.Tests
  • SampledTextureTestsVixen.Raven.Tests
  • SharedBindingTestsVixen.Raven.Tests
  • SizedArrayTestsVixen.Raven.Tests
  • StageBuiltInTestsVixen.Raven.Tests
  • StorageImageTestsVixen.Raven.Tests
  • StreamTestsVixen.Raven.Tests
  • TupleTestsVixen.Raven.Tests
  • WritableResourceTestsVixen.Raven.Tests