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