| // Copyright 2018 The Android Open Source Project |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| #pragma once |
| |
| #define VK_USE_PLATFORM_ANDROID_KHR |
| |
| #include <vulkan/vulkan.h> |
| #include <vulkan/vk_android_native_buffer.h> |
| |
| extern "C" { |
| |
| struct android_vulkan_dispatch { |
| #ifdef VK_VERSION_1_0 |
| PFN_vkCreateInstance vkCreateInstance; |
| PFN_vkDestroyInstance vkDestroyInstance; |
| PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices; |
| PFN_vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures; |
| PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties; |
| PFN_vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties; |
| PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties; |
| PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties; |
| PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties; |
| PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr; |
| PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr; |
| PFN_vkCreateDevice vkCreateDevice; |
| PFN_vkDestroyDevice vkDestroyDevice; |
| PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties; |
| PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties; |
| PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties; |
| PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties; |
| PFN_vkGetDeviceQueue vkGetDeviceQueue; |
| PFN_vkQueueSubmit vkQueueSubmit; |
| PFN_vkQueueWaitIdle vkQueueWaitIdle; |
| PFN_vkDeviceWaitIdle vkDeviceWaitIdle; |
| PFN_vkAllocateMemory vkAllocateMemory; |
| PFN_vkFreeMemory vkFreeMemory; |
| PFN_vkMapMemory vkMapMemory; |
| PFN_vkUnmapMemory vkUnmapMemory; |
| PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges; |
| PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges; |
| PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment; |
| PFN_vkBindBufferMemory vkBindBufferMemory; |
| PFN_vkBindImageMemory vkBindImageMemory; |
| PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements; |
| PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements; |
| PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements; |
| PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties; |
| PFN_vkQueueBindSparse vkQueueBindSparse; |
| PFN_vkCreateFence vkCreateFence; |
| PFN_vkDestroyFence vkDestroyFence; |
| PFN_vkResetFences vkResetFences; |
| PFN_vkGetFenceStatus vkGetFenceStatus; |
| PFN_vkWaitForFences vkWaitForFences; |
| PFN_vkCreateSemaphore vkCreateSemaphore; |
| PFN_vkDestroySemaphore vkDestroySemaphore; |
| PFN_vkCreateEvent vkCreateEvent; |
| PFN_vkDestroyEvent vkDestroyEvent; |
| PFN_vkGetEventStatus vkGetEventStatus; |
| PFN_vkSetEvent vkSetEvent; |
| PFN_vkResetEvent vkResetEvent; |
| PFN_vkCreateQueryPool vkCreateQueryPool; |
| PFN_vkDestroyQueryPool vkDestroyQueryPool; |
| PFN_vkGetQueryPoolResults vkGetQueryPoolResults; |
| PFN_vkCreateBuffer vkCreateBuffer; |
| PFN_vkDestroyBuffer vkDestroyBuffer; |
| PFN_vkCreateBufferView vkCreateBufferView; |
| PFN_vkDestroyBufferView vkDestroyBufferView; |
| PFN_vkCreateImage vkCreateImage; |
| PFN_vkDestroyImage vkDestroyImage; |
| PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout; |
| PFN_vkCreateImageView vkCreateImageView; |
| PFN_vkDestroyImageView vkDestroyImageView; |
| PFN_vkCreateShaderModule vkCreateShaderModule; |
| PFN_vkDestroyShaderModule vkDestroyShaderModule; |
| PFN_vkCreatePipelineCache vkCreatePipelineCache; |
| PFN_vkDestroyPipelineCache vkDestroyPipelineCache; |
| PFN_vkGetPipelineCacheData vkGetPipelineCacheData; |
| PFN_vkMergePipelineCaches vkMergePipelineCaches; |
| PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines; |
| PFN_vkCreateComputePipelines vkCreateComputePipelines; |
| PFN_vkDestroyPipeline vkDestroyPipeline; |
| PFN_vkCreatePipelineLayout vkCreatePipelineLayout; |
| PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout; |
| PFN_vkCreateSampler vkCreateSampler; |
| PFN_vkDestroySampler vkDestroySampler; |
| PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout; |
| PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout; |
| PFN_vkCreateDescriptorPool vkCreateDescriptorPool; |
| PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool; |
| PFN_vkResetDescriptorPool vkResetDescriptorPool; |
| PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets; |
| PFN_vkFreeDescriptorSets vkFreeDescriptorSets; |
| PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets; |
| PFN_vkCreateFramebuffer vkCreateFramebuffer; |
| PFN_vkDestroyFramebuffer vkDestroyFramebuffer; |
| PFN_vkCreateRenderPass vkCreateRenderPass; |
| PFN_vkDestroyRenderPass vkDestroyRenderPass; |
| PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity; |
| PFN_vkCreateCommandPool vkCreateCommandPool; |
| PFN_vkDestroyCommandPool vkDestroyCommandPool; |
| PFN_vkResetCommandPool vkResetCommandPool; |
| PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers; |
| PFN_vkFreeCommandBuffers vkFreeCommandBuffers; |
| PFN_vkBeginCommandBuffer vkBeginCommandBuffer; |
| PFN_vkEndCommandBuffer vkEndCommandBuffer; |
| PFN_vkResetCommandBuffer vkResetCommandBuffer; |
| PFN_vkCmdBindPipeline vkCmdBindPipeline; |
| PFN_vkCmdSetViewport vkCmdSetViewport; |
| PFN_vkCmdSetScissor vkCmdSetScissor; |
| PFN_vkCmdSetLineWidth vkCmdSetLineWidth; |
| PFN_vkCmdSetDepthBias vkCmdSetDepthBias; |
| PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants; |
| PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds; |
| PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask; |
| PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask; |
| PFN_vkCmdSetStencilReference vkCmdSetStencilReference; |
| PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets; |
| PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer; |
| PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers; |
| PFN_vkCmdDraw vkCmdDraw; |
| PFN_vkCmdDrawIndexed vkCmdDrawIndexed; |
| PFN_vkCmdDrawIndirect vkCmdDrawIndirect; |
| PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect; |
| PFN_vkCmdDispatch vkCmdDispatch; |
| PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect; |
| PFN_vkCmdCopyBuffer vkCmdCopyBuffer; |
| PFN_vkCmdCopyImage vkCmdCopyImage; |
| PFN_vkCmdBlitImage vkCmdBlitImage; |
| PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage; |
| PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer; |
| PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer; |
| PFN_vkCmdFillBuffer vkCmdFillBuffer; |
| PFN_vkCmdClearColorImage vkCmdClearColorImage; |
| PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage; |
| PFN_vkCmdClearAttachments vkCmdClearAttachments; |
| PFN_vkCmdResolveImage vkCmdResolveImage; |
| PFN_vkCmdSetEvent vkCmdSetEvent; |
| PFN_vkCmdResetEvent vkCmdResetEvent; |
| PFN_vkCmdWaitEvents vkCmdWaitEvents; |
| PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier; |
| PFN_vkCmdBeginQuery vkCmdBeginQuery; |
| PFN_vkCmdEndQuery vkCmdEndQuery; |
| PFN_vkCmdResetQueryPool vkCmdResetQueryPool; |
| PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp; |
| PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults; |
| PFN_vkCmdPushConstants vkCmdPushConstants; |
| PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass; |
| PFN_vkCmdNextSubpass vkCmdNextSubpass; |
| PFN_vkCmdEndRenderPass vkCmdEndRenderPass; |
| PFN_vkCmdExecuteCommands vkCmdExecuteCommands; |
| #endif |
| #ifdef VK_VERSION_1_1 |
| PFN_vkEnumerateInstanceVersion vkEnumerateInstanceVersion; |
| PFN_vkBindBufferMemory2 vkBindBufferMemory2; |
| PFN_vkBindImageMemory2 vkBindImageMemory2; |
| PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures; |
| PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask; |
| PFN_vkCmdDispatchBase vkCmdDispatchBase; |
| PFN_vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups; |
| PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2; |
| PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2; |
| PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2; |
| PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2; |
| PFN_vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2; |
| PFN_vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2; |
| PFN_vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2; |
| PFN_vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2; |
| PFN_vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2; |
| PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2; |
| PFN_vkTrimCommandPool vkTrimCommandPool; |
| PFN_vkGetDeviceQueue2 vkGetDeviceQueue2; |
| PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion; |
| PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion; |
| PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate; |
| PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate; |
| PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate; |
| PFN_vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties; |
| PFN_vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties; |
| PFN_vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties; |
| PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport; |
| #endif |
| #ifdef VK_KHR_surface |
| PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR; |
| PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR; |
| PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR; |
| PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR; |
| PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR; |
| #endif |
| #ifdef VK_KHR_swapchain |
| PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR; |
| PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR; |
| PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR; |
| PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR; |
| PFN_vkQueuePresentKHR vkQueuePresentKHR; |
| PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR; |
| PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR; |
| PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR; |
| PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR; |
| #endif |
| #ifdef VK_KHR_display |
| PFN_vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR; |
| PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR; |
| PFN_vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR; |
| PFN_vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR; |
| PFN_vkCreateDisplayModeKHR vkCreateDisplayModeKHR; |
| PFN_vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR; |
| PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR; |
| #endif |
| #ifdef VK_KHR_display_swapchain |
| PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR; |
| #endif |
| #ifdef VK_KHR_xlib_surface |
| PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR; |
| PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR; |
| #endif |
| #ifdef VK_KHR_xcb_surface |
| PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR; |
| PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR; |
| #endif |
| #ifdef VK_KHR_wayland_surface |
| PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR; |
| PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR; |
| #endif |
| #ifdef VK_KHR_mir_surface |
| PFN_vkCreateMirSurfaceKHR vkCreateMirSurfaceKHR; |
| PFN_vkGetPhysicalDeviceMirPresentationSupportKHR vkGetPhysicalDeviceMirPresentationSupportKHR; |
| #endif |
| #ifdef VK_KHR_android_surface |
| PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR; |
| #endif |
| #ifdef VK_KHR_win32_surface |
| PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR; |
| PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR; |
| #endif |
| #ifdef VK_KHR_sampler_mirror_clamp_to_edge |
| #endif |
| #ifdef VK_KHR_multiview |
| #endif |
| #ifdef VK_KHR_get_physical_device_properties2 |
| PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR; |
| PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR; |
| PFN_vkGetPhysicalDeviceFormatProperties2KHR vkGetPhysicalDeviceFormatProperties2KHR; |
| PFN_vkGetPhysicalDeviceImageFormatProperties2KHR vkGetPhysicalDeviceImageFormatProperties2KHR; |
| PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR vkGetPhysicalDeviceQueueFamilyProperties2KHR; |
| PFN_vkGetPhysicalDeviceMemoryProperties2KHR vkGetPhysicalDeviceMemoryProperties2KHR; |
| PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR; |
| #endif |
| #ifdef VK_KHR_device_group |
| PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR; |
| PFN_vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR; |
| PFN_vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR; |
| #endif |
| #ifdef VK_KHR_shader_draw_parameters |
| #endif |
| #ifdef VK_KHR_maintenance1 |
| PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR; |
| #endif |
| #ifdef VK_KHR_device_group_creation |
| PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR; |
| #endif |
| #ifdef VK_KHR_external_memory_capabilities |
| PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR vkGetPhysicalDeviceExternalBufferPropertiesKHR; |
| #endif |
| #ifdef VK_KHR_external_memory |
| #endif |
| #ifdef VK_KHR_external_memory_win32 |
| PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR; |
| PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR; |
| #endif |
| #ifdef VK_KHR_external_memory_fd |
| PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR; |
| PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR; |
| #endif |
| #ifdef VK_KHR_win32_keyed_mutex |
| #endif |
| #ifdef VK_KHR_external_semaphore_capabilities |
| PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR vkGetPhysicalDeviceExternalSemaphorePropertiesKHR; |
| #endif |
| #ifdef VK_KHR_external_semaphore |
| #endif |
| #ifdef VK_KHR_external_semaphore_win32 |
| PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR; |
| PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR; |
| #endif |
| #ifdef VK_KHR_external_semaphore_fd |
| PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR; |
| PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR; |
| #endif |
| #ifdef VK_KHR_push_descriptor |
| PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR; |
| PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR; |
| #endif |
| #ifdef VK_KHR_16bit_storage |
| #endif |
| #ifdef VK_KHR_incremental_present |
| #endif |
| #ifdef VK_KHR_descriptor_update_template |
| PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR; |
| PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR; |
| PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR; |
| #endif |
| #ifdef VK_KHR_create_renderpass2 |
| PFN_vkCreateRenderPass2KHR vkCreateRenderPass2KHR; |
| PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR; |
| PFN_vkCmdNextSubpass2KHR vkCmdNextSubpass2KHR; |
| PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR; |
| #endif |
| #ifdef VK_KHR_shared_presentable_image |
| PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR; |
| #endif |
| #ifdef VK_KHR_external_fence_capabilities |
| PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR; |
| #endif |
| #ifdef VK_KHR_external_fence |
| #endif |
| #ifdef VK_KHR_external_fence_win32 |
| PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR; |
| PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR; |
| #endif |
| #ifdef VK_KHR_external_fence_fd |
| PFN_vkImportFenceFdKHR vkImportFenceFdKHR; |
| PFN_vkGetFenceFdKHR vkGetFenceFdKHR; |
| #endif |
| #ifdef VK_KHR_maintenance2 |
| #endif |
| #ifdef VK_KHR_get_surface_capabilities2 |
| PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR; |
| PFN_vkGetPhysicalDeviceSurfaceFormats2KHR vkGetPhysicalDeviceSurfaceFormats2KHR; |
| #endif |
| #ifdef VK_KHR_variable_pointers |
| #endif |
| #ifdef VK_KHR_get_display_properties2 |
| PFN_vkGetPhysicalDeviceDisplayProperties2KHR vkGetPhysicalDeviceDisplayProperties2KHR; |
| PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHR; |
| PFN_vkGetDisplayModeProperties2KHR vkGetDisplayModeProperties2KHR; |
| PFN_vkGetDisplayPlaneCapabilities2KHR vkGetDisplayPlaneCapabilities2KHR; |
| #endif |
| #ifdef VK_KHR_dedicated_allocation |
| #endif |
| #ifdef VK_KHR_storage_buffer_storage_class |
| #endif |
| #ifdef VK_KHR_relaxed_block_layout |
| #endif |
| #ifdef VK_KHR_get_memory_requirements2 |
| PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR; |
| PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR; |
| PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR; |
| #endif |
| #ifdef VK_KHR_image_format_list |
| #endif |
| #ifdef VK_KHR_sampler_ycbcr_conversion |
| PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR; |
| PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR; |
| #endif |
| #ifdef VK_KHR_bind_memory2 |
| PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR; |
| PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR; |
| #endif |
| #ifdef VK_KHR_maintenance3 |
| PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR; |
| #endif |
| #ifdef VK_KHR_draw_indirect_count |
| PFN_vkCmdDrawIndirectCountKHR vkCmdDrawIndirectCountKHR; |
| PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR; |
| #endif |
| #ifdef VK_KHR_8bit_storage |
| #endif |
| #ifdef VK_ANDROID_native_buffer |
| PFN_vkGetSwapchainGrallocUsageANDROID vkGetSwapchainGrallocUsageANDROID; |
| PFN_vkAcquireImageANDROID vkAcquireImageANDROID; |
| PFN_vkQueueSignalReleaseImageANDROID vkQueueSignalReleaseImageANDROID; |
| #endif |
| #ifdef VK_EXT_debug_report |
| PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT; |
| PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT; |
| PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT; |
| #endif |
| #ifdef VK_NV_glsl_shader |
| #endif |
| #ifdef VK_EXT_depth_range_unrestricted |
| #endif |
| #ifdef VK_IMG_filter_cubic |
| #endif |
| #ifdef VK_AMD_rasterization_order |
| #endif |
| #ifdef VK_AMD_shader_trinary_minmax |
| #endif |
| #ifdef VK_AMD_shader_explicit_vertex_parameter |
| #endif |
| #ifdef VK_EXT_debug_marker |
| PFN_vkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXT; |
| PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT; |
| PFN_vkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXT; |
| PFN_vkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXT; |
| PFN_vkCmdDebugMarkerInsertEXT vkCmdDebugMarkerInsertEXT; |
| #endif |
| #ifdef VK_AMD_gcn_shader |
| #endif |
| #ifdef VK_NV_dedicated_allocation |
| #endif |
| #ifdef VK_AMD_draw_indirect_count |
| PFN_vkCmdDrawIndirectCountAMD vkCmdDrawIndirectCountAMD; |
| PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD; |
| #endif |
| #ifdef VK_AMD_negative_viewport_height |
| #endif |
| #ifdef VK_AMD_gpu_shader_half_float |
| #endif |
| #ifdef VK_AMD_shader_ballot |
| #endif |
| #ifdef VK_AMD_texture_gather_bias_lod |
| #endif |
| #ifdef VK_AMD_shader_info |
| PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD; |
| #endif |
| #ifdef VK_AMD_shader_image_load_store_lod |
| #endif |
| #ifdef VK_IMG_format_pvrtc |
| #endif |
| #ifdef VK_NV_external_memory_capabilities |
| PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNV; |
| #endif |
| #ifdef VK_NV_external_memory |
| #endif |
| #ifdef VK_NV_external_memory_win32 |
| PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV; |
| #endif |
| #ifdef VK_NV_win32_keyed_mutex |
| #endif |
| #ifdef VK_EXT_validation_flags |
| #endif |
| #ifdef VK_NN_vi_surface |
| PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN; |
| #endif |
| #ifdef VK_EXT_shader_subgroup_ballot |
| #endif |
| #ifdef VK_EXT_shader_subgroup_vote |
| #endif |
| #ifdef VK_EXT_conditional_rendering |
| PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT; |
| PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT; |
| #endif |
| #ifdef VK_NVX_device_generated_commands |
| PFN_vkCmdProcessCommandsNVX vkCmdProcessCommandsNVX; |
| PFN_vkCmdReserveSpaceForCommandsNVX vkCmdReserveSpaceForCommandsNVX; |
| PFN_vkCreateIndirectCommandsLayoutNVX vkCreateIndirectCommandsLayoutNVX; |
| PFN_vkDestroyIndirectCommandsLayoutNVX vkDestroyIndirectCommandsLayoutNVX; |
| PFN_vkCreateObjectTableNVX vkCreateObjectTableNVX; |
| PFN_vkDestroyObjectTableNVX vkDestroyObjectTableNVX; |
| PFN_vkRegisterObjectsNVX vkRegisterObjectsNVX; |
| PFN_vkUnregisterObjectsNVX vkUnregisterObjectsNVX; |
| PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX; |
| #endif |
| #ifdef VK_NV_clip_space_w_scaling |
| PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV; |
| #endif |
| #ifdef VK_EXT_direct_mode_display |
| PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT; |
| #endif |
| #ifdef VK_EXT_acquire_xlib_display |
| PFN_vkAcquireXlibDisplayEXT vkAcquireXlibDisplayEXT; |
| PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT; |
| #endif |
| #ifdef VK_EXT_display_surface_counter |
| PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT; |
| #endif |
| #ifdef VK_EXT_display_control |
| PFN_vkDisplayPowerControlEXT vkDisplayPowerControlEXT; |
| PFN_vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT; |
| PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT; |
| PFN_vkGetSwapchainCounterEXT vkGetSwapchainCounterEXT; |
| #endif |
| #ifdef VK_GOOGLE_display_timing |
| PFN_vkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLE; |
| PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE; |
| #endif |
| #ifdef VK_NV_sample_mask_override_coverage |
| #endif |
| #ifdef VK_NV_geometry_shader_passthrough |
| #endif |
| #ifdef VK_NV_viewport_array2 |
| #endif |
| #ifdef VK_NVX_multiview_per_view_attributes |
| #endif |
| #ifdef VK_NV_viewport_swizzle |
| #endif |
| #ifdef VK_EXT_discard_rectangles |
| PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT; |
| #endif |
| #ifdef VK_EXT_conservative_rasterization |
| #endif |
| #ifdef VK_EXT_swapchain_colorspace |
| #endif |
| #ifdef VK_EXT_hdr_metadata |
| PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT; |
| #endif |
| #ifdef VK_MVK_ios_surface |
| PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK; |
| #endif |
| #ifdef VK_MVK_macos_surface |
| PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK; |
| #endif |
| #ifdef VK_EXT_external_memory_dma_buf |
| #endif |
| #ifdef VK_EXT_queue_family_foreign |
| #endif |
| #ifdef VK_EXT_debug_utils |
| PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT; |
| PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT; |
| PFN_vkQueueBeginDebugUtilsLabelEXT vkQueueBeginDebugUtilsLabelEXT; |
| PFN_vkQueueEndDebugUtilsLabelEXT vkQueueEndDebugUtilsLabelEXT; |
| PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT; |
| PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT; |
| PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT; |
| PFN_vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT; |
| PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT; |
| PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT; |
| PFN_vkSubmitDebugUtilsMessageEXT vkSubmitDebugUtilsMessageEXT; |
| #endif |
| #ifdef VK_ANDROID_external_memory_android_hardware_buffer |
| PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID; |
| PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID; |
| #endif |
| #ifdef VK_EXT_sampler_filter_minmax |
| #endif |
| #ifdef VK_AMD_gpu_shader_int16 |
| #endif |
| #ifdef VK_AMD_mixed_attachment_samples |
| #endif |
| #ifdef VK_AMD_shader_fragment_mask |
| #endif |
| #ifdef VK_EXT_shader_stencil_export |
| #endif |
| #ifdef VK_EXT_sample_locations |
| PFN_vkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXT; |
| PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT vkGetPhysicalDeviceMultisamplePropertiesEXT; |
| #endif |
| #ifdef VK_EXT_blend_operation_advanced |
| #endif |
| #ifdef VK_NV_fragment_coverage_to_color |
| #endif |
| #ifdef VK_NV_framebuffer_mixed_samples |
| #endif |
| #ifdef VK_NV_fill_rectangle |
| #endif |
| #ifdef VK_EXT_post_depth_coverage |
| #endif |
| #ifdef VK_EXT_validation_cache |
| PFN_vkCreateValidationCacheEXT vkCreateValidationCacheEXT; |
| PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT; |
| PFN_vkMergeValidationCachesEXT vkMergeValidationCachesEXT; |
| PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT; |
| #endif |
| #ifdef VK_EXT_descriptor_indexing |
| #endif |
| #ifdef VK_EXT_shader_viewport_index_layer |
| #endif |
| #ifdef VK_EXT_global_priority |
| #endif |
| #ifdef VK_EXT_external_memory_host |
| PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT; |
| #endif |
| #ifdef VK_AMD_buffer_marker |
| PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD; |
| #endif |
| #ifdef VK_AMD_shader_core_properties |
| #endif |
| #ifdef VK_EXT_vertex_attribute_divisor |
| #endif |
| #ifdef VK_NV_shader_subgroup_partitioned |
| #endif |
| #ifdef VK_NV_device_diagnostic_checkpoints |
| PFN_vkCmdSetCheckpointNV vkCmdSetCheckpointNV; |
| PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV; |
| #endif |
| #if defined(VK_GOOGLE_gfxstream) || defined(VK_GOOGLE_address_space) |
| PFN_vkMapMemoryIntoAddressSpaceGOOGLE vkMapMemoryIntoAddressSpaceGOOGLE; |
| #endif |
| }; |
| |
| android_vulkan_dispatch* load_android_vulkan_dispatch(const char* path); |
| |
| } // extern "C" |