1 // 2 // Copyright 2016 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 // vk_headers: 7 // This file should be included to ensure the vulkan headers are included 8 // 9 10 #ifndef LIBANGLE_RENDERER_VULKAN_VK_HEADERS_H_ 11 #define LIBANGLE_RENDERER_VULKAN_VK_HEADERS_H_ 12 13 #if ANGLE_SHARED_LIBVULKAN 14 # include "third_party/volk/volk.h" 15 #else 16 # include <vulkan/vulkan.h> 17 #endif 18 19 #if !defined(ANGLE_SHARED_LIBVULKAN) 20 21 namespace rx 22 { 23 // VK_EXT_debug_utils 24 extern PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT; 25 extern PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT; 26 extern PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT; 27 extern PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT; 28 extern PFN_vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT; 29 30 // VK_EXT_debug_report 31 extern PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT; 32 extern PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT; 33 34 // VK_KHR_get_physical_device_properties2 35 extern PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR; 36 extern PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR; 37 38 // VK_KHR_external_semaphore_fd 39 extern PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR; 40 41 // VK_EXT_external_memory_host 42 extern PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT; 43 44 // VK_EXT_transform_feedback 45 extern PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT; 46 extern PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT; 47 extern PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT; 48 extern PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT; 49 extern PFN_vkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXT; 50 extern PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT; 51 52 extern PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR; 53 extern PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR; 54 55 // VK_KHR_external_fence_capabilities 56 extern PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR 57 vkGetPhysicalDeviceExternalFencePropertiesKHR; 58 59 // VK_KHR_external_fence_fd 60 extern PFN_vkGetFenceFdKHR vkGetFenceFdKHR; 61 extern PFN_vkImportFenceFdKHR vkImportFenceFdKHR; 62 63 // VK_KHR_external_semaphore_capabilities 64 extern PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR 65 vkGetPhysicalDeviceExternalSemaphorePropertiesKHR; 66 67 # if defined(ANGLE_PLATFORM_FUCHSIA) 68 // VK_FUCHSIA_imagepipe_surface 69 extern PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA; 70 # endif 71 72 # if defined(ANGLE_PLATFORM_ANDROID) 73 extern PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID; 74 extern PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID; 75 # endif 76 77 # if defined(ANGLE_PLATFORM_GGP) 78 extern PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP; 79 # endif // defined(ANGLE_PLATFORM_GGP) 80 81 } // namespace rx 82 83 #endif // ANGLE_SHARED_LIBVULKAN 84 85 #endif // LIBANGLE_RENDERER_VULKAN_VK_HEADERS_H_ 86