public interface ICommandListA list of recorded work, submitted to a queue as a unit.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
Recorded on any thread — one list per thread per frame — which is what makes a renderer scale with cores rather than with the main thread. The OpenGL backend cannot record in parallel and does not pretend to: it records into a replayable buffer in managed memory and replays it on the GL thread at submit, which keeps this contract true everywhere at a modest CPU cost (docs/plan/05).
Disposing returns the list to its pool. It is not a resource with a lifetime the caller has to reason about; it is a scratch buffer.
Fields and properties (2)
QueueKind KindWhich queue this list may be submitted to.
bool IsRecordedWhether recording has finished.
Methods (29)
void Finish()Finishes recording. The list may then be submitted, once.
void BeginRenderPass(in RenderPassDescription description)Begins a render pass.
void EndRenderPass()Ends the current render pass.
void SetViewport(in Viewport viewport)Sets the viewport.
void SetScissor(in ScissorRect scissor)Sets the scissor rectangle.
void SetBlendConstant(in Color4 colour)Sets the blend constant used by Constant.
void SetStencilReference(uint reference)Sets the stencil reference value.
void BindPipeline(PipelineHandle pipeline)Binds a pipeline.
void BindDescriptorSet(DescriptorSetSlot slot, DescriptorSetHandle descriptors, ReadOnlySpan<uint> dynamicOffsets = default(ReadOnlySpan<uint>))Binds a descriptor set.
void PushConstants(ShaderStage stages, int offset, ReadOnlySpan<byte> data)Writes push constants.
void BindVertexBuffer(int slot, BufferHandle buffer, long offset = 0)Binds a vertex buffer.
void BindIndexBuffer(BufferHandle buffer, IndexFormat format = UInt16, long offset = 0)Binds the index buffer.
void Draw(int vertexCount, int instanceCount = 1, int firstVertex = 0, int firstInstance = 0)Draws without indices.
void DrawIndexed(int indexCount, int instanceCount = 1, int firstIndex = 0, int vertexOffset = 0, int firstInstance = 0)Draws with indices.
void DrawIndexedIndirect(BufferHandle arguments, long offset = 0, int drawCount = 1, int stride = 20)Draws with arguments the GPU wrote.
void DrawIndexedIndirectCount(BufferHandle arguments, BufferHandle count, long offset = 0, long countOffset = 0, int maxDrawCount = 1, int stride = 20)Draws with arguments the GPU wrote, as many of them as the GPU said.
void Dispatch(int groupsX, int groupsY = 1, int groupsZ = 1)Runs a compute shader.
void DispatchIndirect(BufferHandle arguments, long offset = 0)Runs a compute shader with a group count the GPU wrote.
void BuildAccelerationStructure(AccelerationStructureHandle target, in AccelerationStructureBuildInput input, BufferHandle scratch, long scratchOffset = 0)Builds an acceleration structure from its geometry.
void Barrier(in BarrierGroup barriers)States that resources are changing what they are used for.
void CopyBuffer(BufferHandle source, long sourceOffset, BufferHandle destination, long destinationOffset, long size)Copies between buffers.
void CopyBufferToTexture(BufferHandle source, long sourceOffset, in TextureRegion destination, Int3 size)Copies from a buffer into a texture.
void CopyTextureToBuffer(in TextureRegion source, Int3 size, BufferHandle destination, long destinationOffset)Copies from a texture into a buffer.
void CopyTexture(in TextureRegion source, in TextureRegion destination, Int3 size)Copies between textures.
void ResetQueries(QueryPoolHandle pool, int first, int count)Puts a range of a pool's queries back into the state a write expects.
void WriteTimestamp(QueryPoolHandle pool, int index)Writes the GPU clock into one of a pool's queries.
void PushDebugGroup(string name)Opens a named group in a capture.
void PopDebugGroup()Closes the innermost debug group.
void InsertDebugMarker(string name)Marks a point in a capture.
Used by (209, showing 40)
- ArenaFrameThirdPersonShooter
- ArenaIlluminationThirdPersonShooter
- PbrShowcaseGamePbrShowcase
- TriangleGameHelloTriangle
- UiHostHelloUi
- VideoGameVideoPlayback
- VirtualGeometryGameVirtualGeometry
- AccelerationStructureDeviceTestsVixen.Graphics.Golden.Tests
- AccelerationStructureTestsVixen.Graphics.Null.Tests
- AppGraphicsVixen.App.Hosting
- AssetMaterialSourceVixen.Engine.Renderer
- AssetTextureSourceVixen.Engine.Renderer
- AssetTextureSourceTestsVixen.Engine.Renderer.Tests
- AutoExposureTestsVixen.Rendering.PostFx.Tests
- BindlessFrameTestsVixen.Rendering.Tests
- BindlessSamplingDeviceTestsVixen.Graphics.Golden.Tests
- BloomTestsVixen.Rendering.PostFx.Tests
- BoundBindingsVixen.Rendering
- BufferReadbackRendererVixen.Rendering
- BufferTransferDeviceTestsVixen.Graphics.Golden.Tests
- BufferTransferTestsVixen.Rendering.Tests
- BufferUploadRendererVixen.Rendering
- ClusterCullingDeviceTestsVixen.Graphics.Golden.Tests
- ClusterResolveTestsVixen.Rendering.Tests
- ClusteredLightingTestsVixen.Rendering.Tests
- ClusteredShadingDeviceTestsVixen.Graphics.Golden.Tests
- CommandRecorderTestsVixen.Graphics.Null.Tests
- CompositorAssetTestsVixen.Rendering.Tests
- CompositorFrameVixen.Rendering
- CompositorImageTestsVixen.Graphics.Golden.Tests
- ComputeDispatchVixen.Rendering
- ComputeRendererVixen.Rendering
- DebugDrawRendererVixen.Engine.Renderer
- DepthPrepassTestsVixen.Rendering.Tests
- DescriptorBindingTestsVixen.Rendering.Tests
- DrawCompactionTestsVixen.Rendering.Tests
- EditorGizmoFacingDeviceTestsVixen.Graphics.Golden.Tests
- EnvironmentTextureVixen.Rendering
- FixtureVixen.Graphics.Golden.Tests
- FixtureVixen.Rendering.Tests