Copy counter value of append/consume buffer into another buffer.
Append/consume and counter buffers (see GraphicsBuffer.Target.Append, GraphicsBuffer.Target.Counter) keep track of the number of elements in them with a special counter variable. CopyCount takes a buffer as src
, and copies its counter
value into dst
buffer at given byte offset.
This is most commonly used in conjunction with Graphics.DrawProceduralIndirect,
to render arbitrary number of primitives without reading their count back to the CPU.
On DX11 there is a restriction on the dst
buffer - it must have been created with ComputeBufferType.Raw, GraphicsBuffer.Target.Raw, ComputeBufferType.IndirectArguments, or GraphicsBuffer.Target.IndirectArguments type. On other platforms dst
can be any type.
See Also: SetCounterValue.