Add synchronous IRenderDevice::ReadBuffer and asynchronous IRenderContext::ReadBuffer
Add ComputeBuffer class for creating, reading and writing GPU buffers for usage with ComputeShader
Can be passed to RenderAttributes.Set( string, ComputeBuffer )
Read data from GPU with ComputeBuffer.GetData<T>( Span<T>, int, int )
Add ComputeBuffer.SetData( Span<T> ) and ComputeBuffer.CopyStructureCount( ComputeBuffer, ComputeBuffer, int )
Can set/copy data outside a graphics block
Flush this shit when using ComputeBuffer in a sync way, I'll do it a different way for an async/callback API
API makes more sense to be ComputeBuffer<T>
Drop access type to keep things simple, add List<T> SetData variants, add elementOffset arguments, additional error checking
AppendConsume buffers still need the structured buffer flag too
ComputeBuffer<T>.CopyStructureCount<U>( ... ) YUCKY generics
Don't make ByteAddress buffers with unordered access
Docs, GetData alternative with no count, checks for disposed buffers