CommandBuffer
public abstract class CommandBuffer : GraphicsResource, IDisposable
object
DisposableObject
GraphicsResource
IDisposable
Inheritance and metadata
Inheritance
- object
- DisposableObject
- GraphicsResource
- CommandBuffer
Interfaces
Inherited members
- GraphicsResource.Name
- GraphicsResource.Context
- GraphicsResource.GetNativeObject(NativeObjectType)
- GraphicsResource.SetResourceName(string)
- DisposableObject.IsDisposed
- DisposableObject.Dispose()
- object.Equals(object)
- object.Equals(object, object)
- object.GetHashCode()
- object.GetType()
- object.MemberwiseClone()
- object.ReferenceEquals(object, object)
- object.ToString()
Constructors
protected CommandBuffer(GraphicsContext context, CommandQueue queue)
GraphicsContext
CommandQueue
Properties
public CommandQueue Queue { get; }
CommandQueue
Methods
public void Barrier(BarrierStages before, BarrierStages after)
BarrierStages
BarrierStages
protected abstract void BarrierImpl(BarrierStages before, BarrierStages after)
BarrierStages
BarrierStages
public void BeginDebugEvent(string label)
string
protected abstract void BeginDebugEventImpl(string label)
string
protected abstract void BeginImpl()
public void BeginQuery(QueryHeap queryHeap, uint index)
QueryHeap
uint
protected abstract void BeginQueryImpl(QueryHeap queryHeap, uint index)
QueryHeap
uint
public void BeginRenderPass(ReadOnlySpan<ColorAttachment> colorAttachments, DepthStencilAttachment? depthStencilAttachment)
ReadOnlySpan<ColorAttachment>
DepthStencilAttachment?
protected abstract void BeginRenderPassImpl(ReadOnlySpan<ColorAttachment> colorAttachments, DepthStencilAttachment? depthStencilAttachment)
ReadOnlySpan<ColorAttachment>
DepthStencilAttachment?
public BottomLevelAccelerationStructure BuildAccelerationStructure(BottomLevelAccelerationStructureDesc desc)
BottomLevelAccelerationStructure
BottomLevelAccelerationStructureDesc
public TopLevelAccelerationStructure BuildAccelerationStructure(TopLevelAccelerationStructureDesc desc)
TopLevelAccelerationStructure
TopLevelAccelerationStructureDesc
protected abstract BottomLevelAccelerationStructure BuildAccelerationStructureImpl(BottomLevelAccelerationStructureDesc desc)
BottomLevelAccelerationStructure
BottomLevelAccelerationStructureDesc
protected abstract TopLevelAccelerationStructure BuildAccelerationStructureImpl(TopLevelAccelerationStructureDesc desc)
TopLevelAccelerationStructure
TopLevelAccelerationStructureDesc
public void CopyBuffer(Buffer src, uint srcOffsetInBytes, Buffer dst, uint dstOffsetInBytes, uint sizeInBytes)
Buffer
uint
Buffer
uint
uint
protected abstract void CopyBufferImpl(Buffer src, uint srcOffsetInBytes, Buffer dst, uint dstOffsetInBytes, uint sizeInBytes)
Buffer
uint
Buffer
uint
uint
public void CopyBufferToTexture(Buffer src, uint srcOffsetInBytes, uint srcRowStrideInBytes, uint srcSliceStrideInBytes, Texture dst, TextureSubresource dstSubresource, Offset3D dstOffset, Extent3D dstExtent)
Buffer
uint
uint
uint
Texture
TextureSubresource
Offset3D
Extent3D
protected abstract void CopyBufferToTextureImpl(Buffer src, uint srcOffsetInBytes, uint srcRowStrideInBytes, uint srcSliceStrideInBytes, Texture dst, TextureSubresource dstSubresource, Offset3D dstOffset, Extent3D dstExtent)
Buffer
uint
uint
uint
Texture
TextureSubresource
Offset3D
Extent3D
public void CopyTexture(Texture src, TextureSubresource srcSubresource, Offset3D srcOffset, Texture dst, TextureSubresource dstSubresource, Offset3D dstOffset, Extent3D extent)
Texture
TextureSubresource
Offset3D
Texture
TextureSubresource
Offset3D
Extent3D
CopyTextureImpl(Texture, TextureSubresource, Offset3D, Texture, TextureSubresource, Offset3D, Extent3D)
protected abstract void CopyTextureImpl(Texture src, TextureSubresource srcSubresource, Offset3D srcOffset, Texture dst, TextureSubresource dstSubresource, Offset3D dstOffset, Extent3D extent)
Texture
TextureSubresource
Offset3D
Texture
TextureSubresource
Offset3D
Extent3D
public void CopyTextureToBuffer(Texture src, TextureSubresource srcSubresource, Offset3D srcOffset, Extent3D srcExtent, Buffer dst, uint dstOffsetInBytes, uint dstRowStrideInBytes, uint dstSliceStrideInBytes)
Texture
TextureSubresource
Offset3D
Extent3D
Buffer
uint
uint
uint
protected abstract void CopyTextureToBufferImpl(Texture src, TextureSubresource srcSubresource, Offset3D srcOffset, Extent3D srcExtent, Buffer dst, uint dstOffsetInBytes, uint dstRowStrideInBytes, uint dstSliceStrideInBytes)
Texture
TextureSubresource
Offset3D
Extent3D
Buffer
uint
uint
uint
protected override void Destroy()
public void Dispatch(uint groupCountX, uint groupCountY, uint groupCountZ)
uint
uint
uint
protected abstract void DispatchImpl(ComputePipeline pipeline, uint groupCountX, uint groupCountY, uint groupCountZ)
ComputePipeline
uint
uint
uint
public void DispatchIndirect(Buffer indirectBuffer, uint offsetInBytes)
Buffer
uint
protected abstract void DispatchIndirectImpl(ComputePipeline pipeline, Buffer indirectBuffer, uint offsetInBytes)
ComputePipeline
Buffer
uint
public void DispatchMesh(uint groupCountX, uint groupCountY, uint groupCountZ)
uint
uint
uint
protected abstract void DispatchMeshImpl(MeshShadingPipeline pipeline, uint groupCountX, uint groupCountY, uint groupCountZ)
MeshShadingPipeline
uint
uint
uint
public void DispatchMeshIndirect(Buffer indirectBuffer, uint offsetInBytes, uint dispatchCount)
Buffer
uint
uint
protected abstract void DispatchMeshIndirectImpl(MeshShadingPipeline pipeline, Buffer indirectBuffer, uint offsetInBytes, uint dispatchCount)
MeshShadingPipeline
Buffer
uint
uint
public void Download(Buffer buffer, uint offsetInBytes, BufferData data)
Buffer
uint
BufferData
public void Download(Texture texture, TextureSubresource subresource, Offset3D offset, Extent3D extent, TextureData data)
Texture
TextureSubresource
Offset3D
Extent3D
TextureData
public void Draw(uint vertexCount, uint instanceCount, uint firstVertex, uint firstInstance)
uint
uint
uint
uint
protected abstract void DrawImpl(GraphicsPipeline pipeline, uint vertexCount, uint instanceCount, uint firstVertex, uint firstInstance)
GraphicsPipeline
uint
uint
uint
uint
public void DrawIndexed(uint indexCount, uint instanceCount, uint firstIndex, int vertexOffset, uint firstInstance)
uint
uint
uint
int
uint
protected abstract void DrawIndexedImpl(GraphicsPipeline pipeline, uint indexCount, uint instanceCount, uint firstIndex, int vertexOffset, uint firstInstance)
GraphicsPipeline
uint
uint
uint
int
uint
public void DrawIndexedIndirect(Buffer indirectBuffer, uint offsetInBytes, uint drawCount)
Buffer
uint
uint
protected abstract void DrawIndexedIndirectImpl(GraphicsPipeline pipeline, Buffer indirectBuffer, uint offsetInBytes, uint drawCount)
GraphicsPipeline
Buffer
uint
uint
public void DrawIndirect(Buffer indirectBuffer, uint offsetInBytes, uint drawCount)
Buffer
uint
uint
protected abstract void DrawIndirectImpl(GraphicsPipeline pipeline, Buffer indirectBuffer, uint offsetInBytes, uint drawCount)
GraphicsPipeline
Buffer
uint
uint
public void EndDebugEvent()
protected abstract void EndDebugEventImpl()
protected abstract void EndImpl()
public void EndQuery(QueryHeap queryHeap, uint index)
QueryHeap
uint
protected abstract void EndQueryImpl(QueryHeap queryHeap, uint index)
QueryHeap
uint
public void EndRenderPass()
protected abstract void EndRenderPassImpl()
public void InsertDebugMarker(string label)
string
protected abstract void InsertDebugMarkerImpl(string label)
string
protected abstract void ResetImpl()
public void ResolveTexture(Texture src, TextureSubresource srcSubresource, Texture dst, TextureSubresource dstSubresource)
Texture
TextureSubresource
Texture
TextureSubresource
protected abstract void ResolveTextureImpl(Texture src, TextureSubresource srcSubresource, Texture dst, TextureSubresource dstSubresource)
Texture
TextureSubresource
Texture
TextureSubresource
public void SetBlendConstant(Vector4 blendConstant)
Vector4
protected abstract void SetBlendConstantImpl(Vector4 blendConstant)
Vector4
public void SetConstantBuffer(Buffer buffer, uint offsetInBytes)
Buffer
uint
protected abstract void SetConstantBufferImpl(Pipeline pipeline, Buffer buffer, uint offsetInBytes)
Pipeline
Buffer
uint
public void SetIndexBuffer(Buffer buffer, uint offsetInBytes, IndexFormat indexFormat)
Buffer
uint
IndexFormat
protected abstract void SetIndexBufferImpl(GraphicsPipeline pipeline, Buffer buffer, uint offsetInBytes, IndexFormat indexFormat)
GraphicsPipeline
Buffer
uint
IndexFormat
public void SetPipeline(ComputePipeline pipeline)
ComputePipeline
public void SetPipeline(GraphicsPipeline pipeline)
GraphicsPipeline
public void SetPipeline(MeshShadingPipeline pipeline)
MeshShadingPipeline
protected abstract void SetPipelineImpl(ComputePipeline pipeline)
ComputePipeline
protected abstract void SetPipelineImpl(GraphicsPipeline pipeline)
GraphicsPipeline
protected abstract void SetPipelineImpl(MeshShadingPipeline pipeline)
MeshShadingPipeline
public void SetScissors(ReadOnlySpan<Scissor> scissors)
ReadOnlySpan<Scissor>
protected abstract void SetScissorsImpl(ReadOnlySpan<Scissor> scissors)
ReadOnlySpan<Scissor>
public void SetStencilReference(uint stencilReference)
uint
protected abstract void SetStencilReferenceImpl(uint stencilReference)
uint
public void SetVertexBuffer(Buffer buffer, uint offsetInBytes, uint slot)
Buffer
uint
uint
protected abstract void SetVertexBufferImpl(GraphicsPipeline pipeline, Buffer buffer, uint offsetInBytes, uint slot)
GraphicsPipeline
Buffer
uint
uint
public void SetViewports(ReadOnlySpan<Viewport> viewports)
ReadOnlySpan<Viewport>
protected abstract void SetViewportsImpl(ReadOnlySpan<Viewport> viewports)
ReadOnlySpan<Viewport>
public TimelineValue Submit(params ReadOnlySpan<TimelineValue> waits)
TimelineValue
ReadOnlySpan<TimelineValue>
public void Transition(Texture texture, TextureSubresource subresource, TextureLayout before, TextureLayout after)
Texture
TextureSubresource
TextureLayout
TextureLayout
protected abstract void TransitionImpl(Texture texture, TextureSubresource subresource, TextureLayout before, TextureLayout after)
Texture
TextureSubresource
TextureLayout
TextureLayout
public void UpdateAccelerationStructure(BottomLevelAccelerationStructure accelerationStructure, BottomLevelAccelerationStructureDesc newDesc)
BottomLevelAccelerationStructure
BottomLevelAccelerationStructureDesc
public void UpdateAccelerationStructure(TopLevelAccelerationStructure accelerationStructure, TopLevelAccelerationStructureDesc newDesc)
TopLevelAccelerationStructure
TopLevelAccelerationStructureDesc
UpdateAccelerationStructureImpl(BottomLevelAccelerationStructure, BottomLevelAccelerationStructureDesc)
protected abstract void UpdateAccelerationStructureImpl(BottomLevelAccelerationStructure accelerationStructure, BottomLevelAccelerationStructureDesc newDesc)
BottomLevelAccelerationStructure
BottomLevelAccelerationStructureDesc
protected abstract void UpdateAccelerationStructureImpl(TopLevelAccelerationStructure accelerationStructure, TopLevelAccelerationStructureDesc newDesc)
TopLevelAccelerationStructure
TopLevelAccelerationStructureDesc
public void Upload(Buffer buffer, uint offsetInBytes, BufferData data)
Buffer
uint
BufferData
public void Upload(Texture texture, TextureSubresource subresource, Offset3D offset, Extent3D extent, TextureData data)
Texture
TextureSubresource
Offset3D
Extent3D
TextureData
public void WriteTimestamp(QueryHeap queryHeap, uint index)
QueryHeap
uint
protected abstract void WriteTimestampImpl(QueryHeap queryHeap, uint index)
QueryHeap
uint