45 MemorySlots::OptionalOffset reserve(VkDeviceSize size);
46 void release(VkDeviceSize offset, VkDeviceSize size);
49 VkDeviceSize maximumAvailableSpace()
const;
50 size_t totalAvailableSize()
const;
51 size_t totalReservedSize()
const;
53 Device* getDevice() {
return _device; }
54 const Device* getDevice()
const {
return _device; }
57 virtual ~DeviceMemory();
59 VkDeviceMemory _deviceMemory;
60 VkMemoryRequirements _memoryRequirements;
61 VkMemoryPropertyFlags _properties;
62 ref_ptr<Device> _device;
64 mutable std::mutex _mutex;
65 MemorySlots _memorySlots;