xref: /aosp_15_r20/external/angle/src/common/vulkan/vk_headers.h (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
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 <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 extern PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT;
30 
31 // VK_EXT_debug_report
32 extern PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT;
33 extern PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT;
34 
35 // VK_KHR_get_physical_device_properties2
36 extern PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR;
37 extern PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR;
38 extern PFN_vkGetPhysicalDeviceMemoryProperties2KHR vkGetPhysicalDeviceMemoryProperties2KHR;
39 
40 // VK_KHR_external_semaphore_fd
41 extern PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR;
42 
43 // VK_EXT_external_memory_host
44 extern PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT;
45 
46 // VK_EXT_host_query_reset
47 extern PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT;
48 
49 // VK_EXT_transform_feedback
50 extern PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT;
51 extern PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT;
52 extern PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT;
53 extern PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT;
54 extern PFN_vkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXT;
55 extern PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT;
56 
57 // VK_KHR_get_memory_requirements2
58 extern PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR;
59 extern PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR;
60 
61 // VK_KHR_bind_memory2
62 extern PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR;
63 extern PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR;
64 
65 // VK_KHR_external_fence_capabilities
66 extern PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR
67     vkGetPhysicalDeviceExternalFencePropertiesKHR;
68 
69 // VK_KHR_external_fence_fd
70 extern PFN_vkGetFenceFdKHR vkGetFenceFdKHR;
71 extern PFN_vkImportFenceFdKHR vkImportFenceFdKHR;
72 
73 // VK_KHR_external_semaphore_capabilities
74 extern PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR
75     vkGetPhysicalDeviceExternalSemaphorePropertiesKHR;
76 
77 // VK_KHR_sampler_ycbcr_conversion
78 extern PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR;
79 extern PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR;
80 
81 // VK_KHR_create_renderpass2
82 extern PFN_vkCreateRenderPass2KHR vkCreateRenderPass2KHR;
83 
84 #    if defined(ANGLE_PLATFORM_FUCHSIA)
85 // VK_FUCHSIA_imagepipe_surface
86 extern PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA;
87 #    endif
88 
89 #    if defined(ANGLE_PLATFORM_ANDROID)
90 extern PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID;
91 extern PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID;
92 #    endif
93 
94 #    if defined(ANGLE_PLATFORM_GGP)
95 extern PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP;
96 #    endif  // defined(ANGLE_PLATFORM_GGP)
97 
98 // VK_KHR_shared_presentable_image
99 extern PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR;
100 
101 // VK_EXT_extended_dynamic_state
102 extern PFN_vkCmdBindVertexBuffers2EXT vkCmdBindVertexBuffers2EXT;
103 extern PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT;
104 extern PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT;
105 extern PFN_vkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXT;
106 extern PFN_vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT;
107 extern PFN_vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT;
108 extern PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT;
109 extern PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT;
110 extern PFN_vkCmdSetScissorWithCountEXT vkCmdSetScissorWithCountEXT;
111 extern PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT;
112 extern PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT;
113 extern PFN_vkCmdSetViewportWithCountEXT vkCmdSetViewportWithCountEXT;
114 
115 // VK_EXT_extended_dynamic_state2
116 extern PFN_vkCmdSetDepthBiasEnableEXT vkCmdSetDepthBiasEnableEXT;
117 extern PFN_vkCmdSetLogicOpEXT vkCmdSetLogicOpEXT;
118 extern PFN_vkCmdSetPatchControlPointsEXT vkCmdSetPatchControlPointsEXT;
119 extern PFN_vkCmdSetPrimitiveRestartEnableEXT vkCmdSetPrimitiveRestartEnableEXT;
120 extern PFN_vkCmdSetRasterizerDiscardEnableEXT vkCmdSetRasterizerDiscardEnableEXT;
121 
122 // VK_EXT_vertex_input_dynamic_state
123 extern PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT;
124 
125 // VK_KHR_fragment_shading_rate
126 extern PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHR;
127 extern PFN_vkCmdSetFragmentShadingRateKHR vkCmdSetFragmentShadingRateKHR;
128 
129 // VK_GOOGLE_display_timing
130 extern PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE;
131 
132 // VK_EXT_host_image_copy
133 extern PFN_vkCopyImageToImageEXT vkCopyImageToImageEXT;
134 extern PFN_vkCopyImageToMemoryEXT vkCopyImageToMemoryEXT;
135 extern PFN_vkCopyMemoryToImageEXT vkCopyMemoryToImageEXT;
136 extern PFN_vkTransitionImageLayoutEXT vkTransitionImageLayoutEXT;
137 extern PFN_vkGetImageSubresourceLayout2EXT vkGetImageSubresourceLayout2EXT;
138 
139 // VK_KHR_dynamic_rendering
140 extern PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR;
141 extern PFN_vkCmdEndRenderingKHR vkCmdEndRenderingKHR;
142 
143 // VK_KHR_dynamic_rendering_local_read
144 extern PFN_vkCmdSetRenderingAttachmentLocationsKHR vkCmdSetRenderingAttachmentLocationsKHR;
145 extern PFN_vkCmdSetRenderingInputAttachmentIndicesKHR vkCmdSetRenderingInputAttachmentIndicesKHR;
146 
147 // VK_KHR_synchronization2
148 extern PFN_vkCmdPipelineBarrier2KHR vkCmdPipelineBarrier2KHR;
149 extern PFN_vkCmdWriteTimestamp2KHR vkCmdWriteTimestamp2KHR;
150 
151 }  // namespace rx
152 
153 #endif  // ANGLE_SHARED_LIBVULKAN
154 
155 #endif  // LIBANGLE_RENDERER_VULKAN_VK_HEADERS_H_
156