2024-07-03 17:23:27 +00:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2024, Aliaksandr Kalenik <kalenik.aliaksandr@gmail.com>
|
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
2024-09-26 15:27:58 +00:00
|
|
|
#ifdef USE_VULKAN
|
2024-07-03 17:23:27 +00:00
|
|
|
|
2024-09-26 15:27:58 +00:00
|
|
|
# include <AK/Forward.h>
|
|
|
|
# include <AK/Function.h>
|
|
|
|
# include <vulkan/vulkan.h>
|
2024-07-03 17:23:27 +00:00
|
|
|
|
2024-09-26 15:27:58 +00:00
|
|
|
namespace Gfx {
|
2024-07-03 17:23:27 +00:00
|
|
|
|
|
|
|
struct VulkanContext {
|
|
|
|
uint32_t api_version { VK_API_VERSION_1_0 };
|
|
|
|
VkInstance instance { VK_NULL_HANDLE };
|
|
|
|
VkPhysicalDevice physical_device { VK_NULL_HANDLE };
|
|
|
|
VkDevice logical_device { VK_NULL_HANDLE };
|
|
|
|
VkQueue graphics_queue { VK_NULL_HANDLE };
|
|
|
|
};
|
|
|
|
|
|
|
|
ErrorOr<VulkanContext> create_vulkan_context();
|
|
|
|
|
|
|
|
}
|
2024-09-26 15:27:58 +00:00
|
|
|
|
|
|
|
#endif
|