You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
595 lines
24 KiB
595 lines
24 KiB
// 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"
|