• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
2 // Copyright 2019 The ANGLE Project Authors. All rights reserved.
3 // Use of this source code is governed by a BSD-style license that can be
4 // found in the LICENSE file.
5 //
6 // DisplayVk_api.h:
7 //    Defines the Vulkan Display APIs to be used by the code outside the back-end.
8 //
9 
10 #ifndef LIBANGLE_RENDERER_VULKAN_DISPLAYVK_API_H_
11 #define LIBANGLE_RENDERER_VULKAN_DISPLAYVK_API_H_
12 
13 #include "libANGLE/renderer/DisplayImpl.h"
14 
15 namespace rx
16 {
17 #if defined(ANGLE_PLATFORM_WINDOWS)
18 bool IsVulkanWin32DisplayAvailable();
19 DisplayImpl *CreateVulkanWin32Display(const egl::DisplayState &state);
20 #endif  // defined(ANGLE_PLATFORM_WINDOWS)
21 
22 #if defined(ANGLE_PLATFORM_LINUX)
23 bool IsVulkanXcbDisplayAvailable();
24 DisplayImpl *CreateVulkanXcbDisplay(const egl::DisplayState &state);
25 #endif  // defined(ANGLE_PLATFORM_LINUX)
26 
27 #if defined(ANGLE_PLATFORM_ANDROID)
28 bool IsVulkanAndroidDisplayAvailable();
29 DisplayImpl *CreateVulkanAndroidDisplay(const egl::DisplayState &state);
30 #endif  // defined(ANGLE_PLATFORM_ANDROID)
31 
32 #if defined(ANGLE_PLATFORM_FUCHSIA)
33 bool IsVulkanFuchsiaDisplayAvailable();
34 DisplayImpl *CreateVulkanFuchsiaDisplay(const egl::DisplayState &state);
35 #endif  // defined(ANGLE_PLATFORM_FUCHSIA)
36 
37 #if defined(ANGLE_PLATFORM_GGP)
38 bool IsVulkanGGPDisplayAvailable();
39 DisplayImpl *CreateVulkanGGPDisplay(const egl::DisplayState &state);
40 #endif  // defined(ANGLE_PLATFORM_GGP)
41 
42 #if defined(ANGLE_PLATFORM_APPLE)
43 bool IsVulkanMacDisplayAvailable();
44 DisplayImpl *CreateVulkanMacDisplay(const egl::DisplayState &state);
45 #endif  // defined(ANGLE_PLATFORM_APPLE)
46 }  // namespace rx
47 
48 #endif /* LIBANGLE_RENDERER_VULKAN_DISPLAYVK_API_H_ */
49