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