// ============================================= // Aster: device.h // Copyright (c) 2020-2024 Anish Bhobe // ============================================= #pragma once #include "global.h" #include struct Context; struct PhysicalDevice; struct QueueAllocation { u32 m_Family; u32 m_Count; }; struct Device final { NameString m_Name; vk::PhysicalDevice m_PhysicalDevice = nullptr; 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(); };