Vixen
02b45cc4
csharp
public sealed class DrawState

Everything bound at a point in the stream.

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

Remarks

What doc 13 means by "inspect bound state and render targets". A draw call on its own says how many vertices; the question somebody opens a frame debugger to ask is which pipeline, with which descriptor sets, into which attachments — and none of that is in the draw call.

⚠ Vertex buffers are a sparse map rather than an array. A renderer binds slot 0 and slot 3 and leaves 1 and 2 alone; an array sized to the largest slot would show two rows saying "buffer #0", which reads as two bindings that are not there.

⚠ Everything a pass scopes is cleared when the pass ends. Pipeline, bindings, viewport and scissor are all pass-scoped in the RHI — ICommandList.BeginRenderPass says so — so a state pane that carried a pipeline across a pass boundary would be showing a binding the next pass does not have.

Fields and properties (13)

  • public string? Pass

    The pass in effect, or outside one.

  • public long ColourAttachments

    How many colour attachments the pass has.

  • public bool HasDepth

    Whether it has a depth-stencil attachment.

  • public IReadOnlyList<string> Groups

    The debug groups open at this point, outermost first.

  • public long? Pipeline

    The bound pipeline, or .

  • public IReadOnlyDictionary<DescriptorSetSlot, long> DescriptorSets

    Which descriptor set is bound to each slot.

  • public IReadOnlyDictionary<int, long> VertexBuffers

    Which vertex buffer is bound to each slot.

  • public long? IndexBuffer

    The bound index buffer, or .

  • public IndexFormat IndexFormat

    How wide an index is.

  • public (long Width, long Height, long X, long Y)? Viewport

    The viewport, as width, height, x and y, or .

  • public (long Width, long Height, long X, long Y)? Scissor

    The scissor rectangle, or .

  • public long StencilReference

    The stencil reference value.

  • public long PushConstantBytes

    How many bytes of push constants were last written.

Methods (2)

  • public void Apply(in CapturedCommand command)

    Applies one command.

  • public IReadOnlyList<StateRow> Rows()

    The state as rows, in the order a pane should show them.

Used by (3)

  • FrameCaptureVixen.Editor.Debugger
  • FrameCaptureTestsVixen.Editor.Debugger.Tests
  • FrameDebuggerViewVixen.Editor.Debugger