public sealed class FrameCaptureOne frame's command stream, as a tree and as a list.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
Both, because the two answer different questions. The tree is how somebody finds the pass they care about; the list is what StateAt replays, and replaying a tree would mean walking it in an order that is not the order the GPU sees.
⚠ An unbalanced stream is tolerated rather than refused. A capture taken from a frame that threw halfway through has a pass that never ended, and that capture is exactly the one somebody needs to look at. Unclosed scopes end at the last command rather than making the whole capture unopenable.
Fields and properties (7)
public static FrameCapture EmptyThe capture with nothing in it.
public string NameWhat the capture is called.
public IReadOnlyList<CapturedCommand> CommandsEvery call, in submission order.
public IReadOnlyList<CaptureNode> RootsThe top-level passes and groups.
public IReadOnlyList<int> WorkThe stream positions of the draws and dispatches, in order.
public int WorkCountHow many draws and dispatches the frame issued.
public bool IsEmptyWhether anything was captured.
Methods (4)
public FrameCapture(string name, IReadOnlyList<CapturedCommand> stream)Builds a capture from a stream.
public DrawState StateAt(int sequence)Replays the stream up to a call and reports the state in effect there.
public int? NextWork(int sequence)The next draw or dispatch at or after a position.
public int? PreviousWork(int sequence)The previous draw or dispatch at or before a position.
Used by (5)
- DiagnosticsModuleVixen.Editor.Diagnostics
- EditorApplicationVixen.Editor.App
- FrameCaptureTestsVixen.Editor.Debugger.Tests
- FrameDebuggerViewVixen.Editor.Debugger
- NullFrameCaptureVixen.Editor.Debugger