26 [[nodiscard]]
static std::expected<ReadbackRing, std::string>
Create(ID3D12Device* device, uint64_t bytes,
27 uint64_t headerBytes, uint32_t slotCount,
28 std::wstring_view name);
30 [[nodiscard]] D3D12_GPU_VIRTUAL_ADDRESS
GpuAddress()
const {
return m_buffer->GetGPUVirtualAddress(); }
33 [[nodiscard]] ID3D12Resource*
Buffer()
const {
38 void RecordBegin(ID3D12GraphicsCommandList* list)
const;
42 uint64_t copyBytes = UINT64_MAX)
const;
45 [[nodiscard]]
bool Read(uint32_t slot, std::span<std::byte> destination)
const;
static std::expected< ReadbackRing, std::string > Create(ID3D12Device *device, uint64_t bytes, uint64_t headerBytes, uint32_t slotCount, std::wstring_view name)