19 #ifndef INCLUDED_CSPAINT_BUFFER_H
20 #define INCLUDED_CSPAINT_BUFFER_H
22 #include <cspaint_fwd.h>
24 #include <vulkan/vulkan.hpp>
32 using handle = std::shared_ptr<buffer>;
49 template <
typename T,
typename Alloc>
50 void store(
const std::vector<T, Alloc> &vec)
52 store(
static_cast<const void *
>(vec.data()), vec.size() *
sizeof(T));
55 void store(
const void *data, uint64_t size);
59 vk::UniqueBuffer m_buffer;
60 vk::UniqueDeviceMemory m_memory;
void store(const std::vector< T, Alloc > &vec)
Definition: cspaint_buffer.h:50
vk::Buffer getBuffer()
Definition: cspaint_buffer.h:39
vk::DeviceMemory getDeviceMemory()
Definition: cspaint_buffer.h:44
void operator=(const buffer &) = delete
buffer(device_handle, vk::UniqueBuffer)
std::shared_ptr< buffer > handle
Definition: cspaint_buffer.h:32
std::shared_ptr< device > device_handle
Definition: cspaint_fwd.h:45
Definition: cspaint_buffer.h:28
Definition: cspaint_buffer.h:26