From 6271f5ce797bf12be64c710b66b1b9e93a239829 Mon Sep 17 00:00:00 2001 From: Chuyan Zhang Date: Thu, 10 Oct 2024 18:51:05 -0700 Subject: move to new resource abstraction --- include/resources/buffer.h | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 include/resources/buffer.h (limited to 'include/resources/buffer.h') diff --git a/include/resources/buffer.h b/include/resources/buffer.h new file mode 100644 index 0000000..7c6fe0e --- /dev/null +++ b/include/resources/buffer.h @@ -0,0 +1,37 @@ +#pragma once + +#include +#include +#include +#include +#include +namespace iris { + +struct BufferDesc { + uint64_t size; + std::optional alignment; + VkBufferUsageFlags buffer_usage; + VmaMemoryUsage memory_usage; +}; + +struct Buffer_tt { + VkBuffer handle; + BufferDesc desc; + + // Used during release + VkDevice device; + VmaAllocator allocator; + VmaAllocation allocation; + void release(); + + // Used during map/unmap + std::optional mapped_data; + void *map(); + void unmap(); + + ~Buffer_tt() { release(); } +}; + +typedef std::shared_ptr Buffer_s; + +} // namespace iris \ No newline at end of file -- cgit v1.2.3-70-g09d2