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 "include/core/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