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