#pragma once #include"VK.h" VK_NAMESPACE_BEGIN struct RenderSurfaceAttribute { VkInstance instance =nullptr; VkPhysicalDevice physical_device =nullptr; VkSurfaceKHR surface =nullptr; VkSurfaceCapabilitiesKHR surface_caps; VkExtent2D swapchain_extent; int family_index =-1; List family_properties; List supports_present; VkPhysicalDeviceFeatures features; VkPhysicalDeviceProperties properties; VkPhysicalDeviceMemoryProperties memory_properties; List surface_formts; List present_modes; VkDevice device =nullptr; VkCommandPool cmd_pool =nullptr; public: RenderSurfaceAttribute(VkInstance inst,VkPhysicalDevice pd,VkSurfaceKHR s); ~RenderSurfaceAttribute(); };//class RenderSurfaceAttribute VK_NAMESPACE_END