mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-26 01:35:08 +02:00
38 lines
930 B
C++
38 lines
930 B
C++
/*
|
|
* Copyright (c) 2024, Aliaksandr Kalenik <kalenik.aliaksandr@gmail.com>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#ifdef USE_VULKAN
|
|
|
|
# include <vulkan/vulkan.h>
|
|
|
|
namespace Gfx {
|
|
|
|
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 };
|
|
uint32_t graphics_queue_family { 0 };
|
|
# ifdef USE_VULKAN_DMABUF_IMAGES
|
|
VkCommandPool command_pool { VK_NULL_HANDLE };
|
|
VkCommandBuffer command_buffer { VK_NULL_HANDLE };
|
|
struct
|
|
{
|
|
PFN_vkGetMemoryFdKHR get_memory_fd { nullptr };
|
|
PFN_vkGetImageDrmFormatModifierPropertiesEXT get_image_drm_format_modifier_properties { nullptr };
|
|
} ext_procs;
|
|
# endif
|
|
};
|
|
|
|
ErrorOr<VulkanContext> create_vulkan_context();
|
|
|
|
}
|
|
|
|
#endif
|