• 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 
18 bool IsVulkanNullDisplayAvailable();
19 DisplayImpl *CreateVulkanNullDisplay(const egl::DisplayState &state);
20 
21 #if defined(ANGLE_PLATFORM_WINDOWS)
22 bool IsVulkanWin32DisplayAvailable();
23 DisplayImpl *CreateVulkanWin32Display(const egl::DisplayState &state);
24 #endif  // defined(ANGLE_PLATFORM_WINDOWS)
25 
26 #if defined(ANGLE_PLATFORM_LINUX)
27 bool IsVulkanXcbDisplayAvailable();
28 DisplayImpl *CreateVulkanXcbDisplay(const egl::DisplayState &state);
29 
30 bool IsVulkanSimpleDisplayAvailable();
31 DisplayImpl *CreateVulkanSimpleDisplay(const egl::DisplayState &state);
32 
33 bool IsVulkanHeadlessDisplayAvailable();
34 DisplayImpl *CreateVulkanHeadlessDisplay(const egl::DisplayState &state);
35 #endif  // defined(ANGLE_PLATFORM_LINUX)
36 
37 #if defined(ANGLE_PLATFORM_ANDROID)
38 bool IsVulkanAndroidDisplayAvailable();
39 DisplayImpl *CreateVulkanAndroidDisplay(const egl::DisplayState &state);
40 #endif  // defined(ANGLE_PLATFORM_ANDROID)
41 
42 #if defined(ANGLE_PLATFORM_FUCHSIA)
43 bool IsVulkanFuchsiaDisplayAvailable();
44 DisplayImpl *CreateVulkanFuchsiaDisplay(const egl::DisplayState &state);
45 #endif  // defined(ANGLE_PLATFORM_FUCHSIA)
46 
47 #if defined(ANGLE_PLATFORM_GGP)
48 bool IsVulkanGGPDisplayAvailable();
49 DisplayImpl *CreateVulkanGGPDisplay(const egl::DisplayState &state);
50 #endif  // defined(ANGLE_PLATFORM_GGP)
51 
52 #if defined(ANGLE_PLATFORM_APPLE)
53 bool IsVulkanMacDisplayAvailable();
54 DisplayImpl *CreateVulkanMacDisplay(const egl::DisplayState &state);
55 #endif  // defined(ANGLE_PLATFORM_APPLE)
56 }  // namespace rx
57 
58 #endif /* LIBANGLE_RENDERER_VULKAN_DISPLAYVK_API_H_ */
59