Vixen
02b45cc4
csharp
public sealed class CommandRecorder

The command stream, as a list you can assert on.

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

Remarks

What makes an RHI test a unit test. "Did the shadow feature bind the right pipeline and draw the right number of casters" is a question about a sequence of calls, and answering it by rendering an image and diffing it is slower, flakier and tells you less about what went wrong.

Off unless a device is told to record. docs/plan/05 is explicit that Vixen.Graphics.Null is a shipping backend as well as a test one — a dedicated server runs on it — and a server that accumulated a command log would run out of memory some hours in.

Fields and properties (2)

  • public IReadOnlyList<RecordedCommand> Commands

    Everything recorded so far, in order.

  • public int Count

    How many calls have been recorded.

Methods (7)

  • public RecordedCommand Record(RecordedCommand command)

    Adds a command, stamping it with its position in the stream.

  • public void Clear()

    Throws everything away.

  • public IReadOnlyList<RecordedCommand> OfKind(RecordedCommandKind kind)

    Every recorded call of one kind, in order.

  • public int CountOf(RecordedCommandKind kind)

    How many calls of one kind were recorded.

  • public bool Contains(params ReadOnlySpan<RecordedCommand> expected)

    Whether the recorded stream contains a run of calls matching this one, in order.

  • public string Dump()

    The stream as text, one call per line.

  • public override string ToString()

    Returns a string that represents the current object.

Used by (54, showing 40)

  • AccelerationStructureTestsVixen.Graphics.Null.Tests
  • AutoExposureTestsVixen.Rendering.PostFx.Tests
  • BindlessFrameTestsVixen.Rendering.Tests
  • BloomTestsVixen.Rendering.PostFx.Tests
  • BufferTransferTestsVixen.Rendering.Tests
  • ClusterResolveTestsVixen.Rendering.Tests
  • ClusteredLightingTestsVixen.Rendering.Tests
  • CommandRecorderTestsVixen.Graphics.Null.Tests
  • CompositorAssetTestsVixen.Rendering.Tests
  • DepthPrepassTestsVixen.Rendering.Tests
  • DescriptorBindingTestsVixen.Rendering.Tests
  • DrawCompactionTestsVixen.Rendering.Tests
  • FixtureVixen.Rendering.Tests
  • FoliageCullPassTestsVixen.Rendering.Terrain.Tests
  • ForwardFrameTestsVixen.Rendering.Tests
  • ForwardLightingTestsVixen.Rendering.Tests
  • GeometryBufferTestsVixen.Rendering.Tests
  • GlobalDistanceFieldTextureTestsVixen.Rendering.Tests
  • GpuVisibilityGroupTestsVixen.Rendering.Tests
  • GraphicsCompositorTestsVixen.Rendering.Tests
  • GrassDispatchTestsVixen.Rendering.Terrain.Tests
  • GrassDrawPassTestsVixen.Rendering.Terrain.Tests
  • ImpostorBakeTestsVixen.Rendering.Tests
  • ImpostorCapturePassTestsVixen.Rendering.Tests
  • IrradianceFieldTextureTestsVixen.Rendering.Tests
  • LodTestsVixen.Rendering.Tests
  • MaterialBindingTestsVixen.Rendering.Tests
  • MaterialRecordBufferTestsVixen.Rendering.Tests
  • MeshRenderFeatureTestsVixen.Rendering.Tests
  • NullCommandListVixen.Graphics.Null
  • NullDeviceVixen.Graphics.Null
  • NullDeviceTestsVixen.Graphics.Null.Tests
  • NullSubmitterVixen.Graphics.Null
  • ParticleRenderFeatureTestsVixen.Rendering.Tests
  • PostEffectTestsVixen.Rendering.PostFx.Tests
  • PostProcessTestsVixen.Rendering.Tests
  • PunctualShadowTestsVixen.Rendering.Tests
  • QueryPoolTestsVixen.Graphics.Null.Tests
  • RecordingTestsVixen.Rendering.Tests
  • RenderGraphTestsVixen.Graphics.RenderGraph.Tests