// ============================================= // Aster: device.h // Copyright (c) 2020-2024 Anish Bhobe // ============================================= #pragma once #include "global.h" #include "physical_device.h" struct QueueAllocation { u32 m_Family; u32 m_Count; }; struct Device final { using NameString = eastl::fixed_string; NameString m_Name; vk::Device m_Device = nullptr; VmaAllocator m_Allocator = nullptr; Device(const Context *context, PhysicalDevice *physicalDevice, const vk::PhysicalDeviceFeatures *enabledFeatures, const eastl::vector &queueAllocations, NameString name); ~Device(); };