• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2017 Google Inc.
3  *
4  * Use of this source code is governed by a BSD-style license that can be
5  * found in the LICENSE file.
6  */
7 
8 #ifndef GrVulkanDefines_DEFINED
9 #define GrVulkanDefines_DEFINED
10 
11 #include "SkTypes.h"
12 
13 #if defined(SK_BUILD_FOR_WIN)
14 #   if !defined(VK_USE_PLATFORM_WIN32_KHR)
15 #      define VK_USE_PLATFORM_WIN32_KHR
16 #   endif
17 #elif defined(SK_BUILD_FOR_ANDROID)
18 #   if !defined(VK_USE_PLATFORM_ANDROID_KHR)
19 #      define VK_USE_PLATFORM_ANDROID_KHR
20 #   endif
21 #elif defined(SK_BUILD_FOR_UNIX)
22 #   if !defined(VK_USE_PLATFORM_XCB_KHR)
23 #      define VK_USE_PLATFORM_XCB_KHR
24 #   endif
25 #elif defined(SK_BUILD_FOR_MAC)
26 #   if !defined(VK_USE_PLATFORM_MACOS_MVK)
27 #      define VK_USE_PLATFORM_MACOS_MVK
28 #   endif
29 #elif defined(SK_BUILD_FOR_IOS)
30 #   if !defined(VK_USE_PLATFORM_IOS_MVK)
31 #      define VK_USE_PLATFORM_IOS_MVK
32 #   endif
33 #endif
34 
35 // We create our own function table and never directly call any functions via vk*(). So no
36 // need to include the prototype functions. We do them for molten vk however.
37 #if !defined(SK_MOLTENVK) && !defined(VK_NO_PROTOTYPES)
38     #define VK_NO_PROTOTYPES
39 #endif
40 
41 #include <vulkan/vulkan.h> // IWYU pragma: export
42 
43 #endif
44