34 lines
701 B
C#
34 lines
701 B
C#
using Ghost.Core;
|
|
using Misaki.HighPerformance.LowLevel.Buffer;
|
|
using Misaki.HighPerformance.LowLevel.Collections;
|
|
|
|
namespace Ghost.Graphics.Data;
|
|
|
|
internal struct CBufferCache : IDisposable
|
|
{
|
|
public UnsafeArray<byte> CpuData
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
public Handle<GraphicsBuffer> GpuResource
|
|
{
|
|
get;
|
|
}
|
|
|
|
private readonly uint _alignedSize;
|
|
|
|
internal unsafe CBufferCache(Handle<GraphicsBuffer> buffer, uint bufferSize)
|
|
{
|
|
_alignedSize = (bufferSize + 255u) & ~255u;
|
|
|
|
CpuData = new((int)_alignedSize, Allocator.Persistent);
|
|
GpuResource = buffer;
|
|
}
|
|
|
|
public readonly void Dispose()
|
|
{
|
|
CpuData.Dispose();
|
|
}
|
|
} |