#include "ui/ozone/platform/wayland/gpu/vulkan_implementation_wayland.h"
#include <vulkan/vulkan_wayland.h>
#include "base/base_paths.h"
#include "base/files/file_path.h"
#include "base/functional/callback_helpers.h"
#include "base/notreached.h"
#include "base/path_service.h"
#include "gpu/vulkan/vulkan_image.h"
#include "gpu/vulkan/vulkan_instance.h"
#include "gpu/vulkan/vulkan_surface.h"
#include "gpu/vulkan/vulkan_util.h"
#include "ui/gfx/gpu_fence.h"
#include "ui/gfx/gpu_memory_buffer.h"
namespace ui {
VulkanImplementationWayland::VulkanImplementationWayland(bool use_swiftshader)
: … { … }
VulkanImplementationWayland::~VulkanImplementationWayland() { … }
bool VulkanImplementationWayland::InitializeVulkanInstance(bool using_surface) { … }
gpu::VulkanInstance* VulkanImplementationWayland::GetVulkanInstance() { … }
std::unique_ptr<gpu::VulkanSurface>
VulkanImplementationWayland::CreateViewSurface(gfx::AcceleratedWidget window) { … }
bool VulkanImplementationWayland::GetPhysicalDevicePresentationSupport(
VkPhysicalDevice device,
const std::vector<VkQueueFamilyProperties>& queue_family_properties,
uint32_t queue_family_index) { … }
std::vector<const char*>
VulkanImplementationWayland::GetRequiredDeviceExtensions() { … }
std::vector<const char*>
VulkanImplementationWayland::GetOptionalDeviceExtensions() { … }
VkFence VulkanImplementationWayland::CreateVkFenceForGpuFence(
VkDevice vk_device) { … }
std::unique_ptr<gfx::GpuFence>
VulkanImplementationWayland::ExportVkFenceToGpuFence(VkDevice vk_device,
VkFence vk_fence) { … }
VkExternalSemaphoreHandleTypeFlagBits
VulkanImplementationWayland::GetExternalSemaphoreHandleType() { … }
bool VulkanImplementationWayland::CanImportGpuMemoryBuffer(
gpu::VulkanDeviceQueue* device_queue,
gfx::GpuMemoryBufferType memory_buffer_type) { … }
std::unique_ptr<gpu::VulkanImage>
VulkanImplementationWayland::CreateImageFromGpuMemoryHandle(
gpu::VulkanDeviceQueue* device_queue,
gfx::GpuMemoryBufferHandle gmb_handle,
gfx::Size size,
VkFormat vk_format,
const gfx::ColorSpace& color_space) { … }
}