#include "detail/graphics.h" #define GLFW_INCLUDE_VULKAN #include namespace deerith { graphics::GraphicsConfig graphics::graphics_config; GLFWwindow* graphics::window; VkInstance graphics::instance; const std::vector graphics::validation_layers = {"VK_LAYER_KHRONOS_validation"}; const std::vector graphics::device_extensions = {VK_KHR_SWAPCHAIN_EXTENSION_NAME}; VkPhysicalDevice graphics::physical_device = VK_NULL_HANDLE; graphics::QueueFamilyIndices graphics::queue_family_indices; graphics::SwapChainSupportDetails graphics::swap_chain_support_details; VkDevice graphics::device; VkQueue graphics::graphics_queue; VkQueue graphics::pressent_queue; VkSurfaceKHR graphics::surface; VkSwapchainKHR graphics::swap_chain; std::vector graphics::swap_chain_images; VkFormat graphics::swap_chain_image_format; VkExtent2D graphics::swap_chain_extent; std::vector graphics::swap_chain_image_views; VkPipelineLayout graphics::pipeline_layout; VkRenderPass graphics::render_pass; VkPipeline graphics::graphics_pipeline; std::vector graphics::swap_chain_frame_buffers; VkCommandPool graphics::command_pool; VkCommandBuffer graphics::command_buffer; VkSemaphore graphics::image_available_semaphore; VkSemaphore graphics::render_finished_semaphore; VkFence graphics::in_flight_fence; } // namespace deerith