1// Copyright 2013 The Flutter Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef FLUTTER_SHELL_GPU_GPU_SURFACE_VULKAN_DELEGATE_H_
6#define FLUTTER_SHELL_GPU_GPU_SURFACE_VULKAN_DELEGATE_H_
7
8#include "flutter/fml/memory/ref_ptr.h"
9#include "flutter/shell/gpu/gpu_surface_delegate.h"
10#include "flutter/vulkan/vulkan_proc_table.h"
11
12namespace flutter {
13
14class GPUSurfaceVulkanDelegate : public GPUSurfaceDelegate {
15 public:
16 ~GPUSurfaceVulkanDelegate() override;
17
18 // |GPUSurfaceDelegate|
19 ExternalViewEmbedder* GetExternalViewEmbedder() override;
20
21 // Obtain a reference to the Vulkan implementation's proc table.
22 virtual fml::RefPtr<vulkan::VulkanProcTable> vk() = 0;
23};
24
25} // namespace flutter
26
27#endif // FLUTTER_SHELL_GPU_GPU_SURFACE_VULKAN_DELEGATE_H_
28