• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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