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.
244 lines
12 KiB
244 lines
12 KiB
/*
|
|
* Copyright 2016 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.
|
|
*/
|
|
|
|
// WARNING: This file is generated. See ../README.md for instructions.
|
|
|
|
#ifndef LIBVULKAN_API_GEN_H
|
|
#define LIBVULKAN_API_GEN_H
|
|
|
|
#include <vulkan/vulkan.h>
|
|
|
|
#include <bitset>
|
|
|
|
#include "driver_gen.h"
|
|
|
|
namespace vulkan {
|
|
namespace api {
|
|
|
|
struct InstanceDispatchTable {
|
|
// clang-format off
|
|
PFN_vkDestroyInstance DestroyInstance;
|
|
PFN_vkEnumeratePhysicalDevices EnumeratePhysicalDevices;
|
|
PFN_vkGetInstanceProcAddr GetInstanceProcAddr;
|
|
PFN_vkGetPhysicalDeviceProperties GetPhysicalDeviceProperties;
|
|
PFN_vkGetPhysicalDeviceQueueFamilyProperties GetPhysicalDeviceQueueFamilyProperties;
|
|
PFN_vkGetPhysicalDeviceMemoryProperties GetPhysicalDeviceMemoryProperties;
|
|
PFN_vkGetPhysicalDeviceFeatures GetPhysicalDeviceFeatures;
|
|
PFN_vkGetPhysicalDeviceFormatProperties GetPhysicalDeviceFormatProperties;
|
|
PFN_vkGetPhysicalDeviceImageFormatProperties GetPhysicalDeviceImageFormatProperties;
|
|
PFN_vkCreateDevice CreateDevice;
|
|
PFN_vkEnumerateDeviceExtensionProperties EnumerateDeviceExtensionProperties;
|
|
PFN_vkGetPhysicalDeviceSparseImageFormatProperties GetPhysicalDeviceSparseImageFormatProperties;
|
|
PFN_vkCreateAndroidSurfaceKHR CreateAndroidSurfaceKHR;
|
|
PFN_vkDestroySurfaceKHR DestroySurfaceKHR;
|
|
PFN_vkGetPhysicalDeviceSurfaceSupportKHR GetPhysicalDeviceSurfaceSupportKHR;
|
|
PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR GetPhysicalDeviceSurfaceCapabilitiesKHR;
|
|
PFN_vkGetPhysicalDeviceSurfaceFormatsKHR GetPhysicalDeviceSurfaceFormatsKHR;
|
|
PFN_vkGetPhysicalDeviceSurfacePresentModesKHR GetPhysicalDeviceSurfacePresentModesKHR;
|
|
PFN_vkGetPhysicalDeviceFeatures2 GetPhysicalDeviceFeatures2;
|
|
PFN_vkGetPhysicalDeviceProperties2 GetPhysicalDeviceProperties2;
|
|
PFN_vkGetPhysicalDeviceFormatProperties2 GetPhysicalDeviceFormatProperties2;
|
|
PFN_vkGetPhysicalDeviceImageFormatProperties2 GetPhysicalDeviceImageFormatProperties2;
|
|
PFN_vkGetPhysicalDeviceQueueFamilyProperties2 GetPhysicalDeviceQueueFamilyProperties2;
|
|
PFN_vkGetPhysicalDeviceMemoryProperties2 GetPhysicalDeviceMemoryProperties2;
|
|
PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 GetPhysicalDeviceSparseImageFormatProperties2;
|
|
PFN_vkGetPhysicalDeviceExternalBufferProperties GetPhysicalDeviceExternalBufferProperties;
|
|
PFN_vkGetPhysicalDeviceExternalSemaphoreProperties GetPhysicalDeviceExternalSemaphoreProperties;
|
|
PFN_vkGetPhysicalDeviceExternalFenceProperties GetPhysicalDeviceExternalFenceProperties;
|
|
PFN_vkEnumeratePhysicalDeviceGroups EnumeratePhysicalDeviceGroups;
|
|
PFN_vkGetPhysicalDevicePresentRectanglesKHR GetPhysicalDevicePresentRectanglesKHR;
|
|
// clang-format on
|
|
};
|
|
|
|
struct DeviceDispatchTable {
|
|
// clang-format off
|
|
PFN_vkGetDeviceProcAddr GetDeviceProcAddr;
|
|
PFN_vkDestroyDevice DestroyDevice;
|
|
PFN_vkGetDeviceQueue GetDeviceQueue;
|
|
PFN_vkQueueSubmit QueueSubmit;
|
|
PFN_vkQueueWaitIdle QueueWaitIdle;
|
|
PFN_vkDeviceWaitIdle DeviceWaitIdle;
|
|
PFN_vkAllocateMemory AllocateMemory;
|
|
PFN_vkFreeMemory FreeMemory;
|
|
PFN_vkMapMemory MapMemory;
|
|
PFN_vkUnmapMemory UnmapMemory;
|
|
PFN_vkFlushMappedMemoryRanges FlushMappedMemoryRanges;
|
|
PFN_vkInvalidateMappedMemoryRanges InvalidateMappedMemoryRanges;
|
|
PFN_vkGetDeviceMemoryCommitment GetDeviceMemoryCommitment;
|
|
PFN_vkGetBufferMemoryRequirements GetBufferMemoryRequirements;
|
|
PFN_vkBindBufferMemory BindBufferMemory;
|
|
PFN_vkGetImageMemoryRequirements GetImageMemoryRequirements;
|
|
PFN_vkBindImageMemory BindImageMemory;
|
|
PFN_vkGetImageSparseMemoryRequirements GetImageSparseMemoryRequirements;
|
|
PFN_vkQueueBindSparse QueueBindSparse;
|
|
PFN_vkCreateFence CreateFence;
|
|
PFN_vkDestroyFence DestroyFence;
|
|
PFN_vkResetFences ResetFences;
|
|
PFN_vkGetFenceStatus GetFenceStatus;
|
|
PFN_vkWaitForFences WaitForFences;
|
|
PFN_vkCreateSemaphore CreateSemaphore;
|
|
PFN_vkDestroySemaphore DestroySemaphore;
|
|
PFN_vkCreateEvent CreateEvent;
|
|
PFN_vkDestroyEvent DestroyEvent;
|
|
PFN_vkGetEventStatus GetEventStatus;
|
|
PFN_vkSetEvent SetEvent;
|
|
PFN_vkResetEvent ResetEvent;
|
|
PFN_vkCreateQueryPool CreateQueryPool;
|
|
PFN_vkDestroyQueryPool DestroyQueryPool;
|
|
PFN_vkGetQueryPoolResults GetQueryPoolResults;
|
|
PFN_vkResetQueryPool ResetQueryPool;
|
|
PFN_vkCreateBuffer CreateBuffer;
|
|
PFN_vkDestroyBuffer DestroyBuffer;
|
|
PFN_vkCreateBufferView CreateBufferView;
|
|
PFN_vkDestroyBufferView DestroyBufferView;
|
|
PFN_vkCreateImage CreateImage;
|
|
PFN_vkDestroyImage DestroyImage;
|
|
PFN_vkGetImageSubresourceLayout GetImageSubresourceLayout;
|
|
PFN_vkCreateImageView CreateImageView;
|
|
PFN_vkDestroyImageView DestroyImageView;
|
|
PFN_vkCreateShaderModule CreateShaderModule;
|
|
PFN_vkDestroyShaderModule DestroyShaderModule;
|
|
PFN_vkCreatePipelineCache CreatePipelineCache;
|
|
PFN_vkDestroyPipelineCache DestroyPipelineCache;
|
|
PFN_vkGetPipelineCacheData GetPipelineCacheData;
|
|
PFN_vkMergePipelineCaches MergePipelineCaches;
|
|
PFN_vkCreateGraphicsPipelines CreateGraphicsPipelines;
|
|
PFN_vkCreateComputePipelines CreateComputePipelines;
|
|
PFN_vkDestroyPipeline DestroyPipeline;
|
|
PFN_vkCreatePipelineLayout CreatePipelineLayout;
|
|
PFN_vkDestroyPipelineLayout DestroyPipelineLayout;
|
|
PFN_vkCreateSampler CreateSampler;
|
|
PFN_vkDestroySampler DestroySampler;
|
|
PFN_vkCreateDescriptorSetLayout CreateDescriptorSetLayout;
|
|
PFN_vkDestroyDescriptorSetLayout DestroyDescriptorSetLayout;
|
|
PFN_vkCreateDescriptorPool CreateDescriptorPool;
|
|
PFN_vkDestroyDescriptorPool DestroyDescriptorPool;
|
|
PFN_vkResetDescriptorPool ResetDescriptorPool;
|
|
PFN_vkAllocateDescriptorSets AllocateDescriptorSets;
|
|
PFN_vkFreeDescriptorSets FreeDescriptorSets;
|
|
PFN_vkUpdateDescriptorSets UpdateDescriptorSets;
|
|
PFN_vkCreateFramebuffer CreateFramebuffer;
|
|
PFN_vkDestroyFramebuffer DestroyFramebuffer;
|
|
PFN_vkCreateRenderPass CreateRenderPass;
|
|
PFN_vkDestroyRenderPass DestroyRenderPass;
|
|
PFN_vkGetRenderAreaGranularity GetRenderAreaGranularity;
|
|
PFN_vkCreateCommandPool CreateCommandPool;
|
|
PFN_vkDestroyCommandPool DestroyCommandPool;
|
|
PFN_vkResetCommandPool ResetCommandPool;
|
|
PFN_vkAllocateCommandBuffers AllocateCommandBuffers;
|
|
PFN_vkFreeCommandBuffers FreeCommandBuffers;
|
|
PFN_vkBeginCommandBuffer BeginCommandBuffer;
|
|
PFN_vkEndCommandBuffer EndCommandBuffer;
|
|
PFN_vkResetCommandBuffer ResetCommandBuffer;
|
|
PFN_vkCmdBindPipeline CmdBindPipeline;
|
|
PFN_vkCmdSetViewport CmdSetViewport;
|
|
PFN_vkCmdSetScissor CmdSetScissor;
|
|
PFN_vkCmdSetLineWidth CmdSetLineWidth;
|
|
PFN_vkCmdSetDepthBias CmdSetDepthBias;
|
|
PFN_vkCmdSetBlendConstants CmdSetBlendConstants;
|
|
PFN_vkCmdSetDepthBounds CmdSetDepthBounds;
|
|
PFN_vkCmdSetStencilCompareMask CmdSetStencilCompareMask;
|
|
PFN_vkCmdSetStencilWriteMask CmdSetStencilWriteMask;
|
|
PFN_vkCmdSetStencilReference CmdSetStencilReference;
|
|
PFN_vkCmdBindDescriptorSets CmdBindDescriptorSets;
|
|
PFN_vkCmdBindIndexBuffer CmdBindIndexBuffer;
|
|
PFN_vkCmdBindVertexBuffers CmdBindVertexBuffers;
|
|
PFN_vkCmdDraw CmdDraw;
|
|
PFN_vkCmdDrawIndexed CmdDrawIndexed;
|
|
PFN_vkCmdDrawIndirect CmdDrawIndirect;
|
|
PFN_vkCmdDrawIndexedIndirect CmdDrawIndexedIndirect;
|
|
PFN_vkCmdDispatch CmdDispatch;
|
|
PFN_vkCmdDispatchIndirect CmdDispatchIndirect;
|
|
PFN_vkCmdCopyBuffer CmdCopyBuffer;
|
|
PFN_vkCmdCopyImage CmdCopyImage;
|
|
PFN_vkCmdBlitImage CmdBlitImage;
|
|
PFN_vkCmdCopyBufferToImage CmdCopyBufferToImage;
|
|
PFN_vkCmdCopyImageToBuffer CmdCopyImageToBuffer;
|
|
PFN_vkCmdUpdateBuffer CmdUpdateBuffer;
|
|
PFN_vkCmdFillBuffer CmdFillBuffer;
|
|
PFN_vkCmdClearColorImage CmdClearColorImage;
|
|
PFN_vkCmdClearDepthStencilImage CmdClearDepthStencilImage;
|
|
PFN_vkCmdClearAttachments CmdClearAttachments;
|
|
PFN_vkCmdResolveImage CmdResolveImage;
|
|
PFN_vkCmdSetEvent CmdSetEvent;
|
|
PFN_vkCmdResetEvent CmdResetEvent;
|
|
PFN_vkCmdWaitEvents CmdWaitEvents;
|
|
PFN_vkCmdPipelineBarrier CmdPipelineBarrier;
|
|
PFN_vkCmdBeginQuery CmdBeginQuery;
|
|
PFN_vkCmdEndQuery CmdEndQuery;
|
|
PFN_vkCmdResetQueryPool CmdResetQueryPool;
|
|
PFN_vkCmdWriteTimestamp CmdWriteTimestamp;
|
|
PFN_vkCmdCopyQueryPoolResults CmdCopyQueryPoolResults;
|
|
PFN_vkCmdPushConstants CmdPushConstants;
|
|
PFN_vkCmdBeginRenderPass CmdBeginRenderPass;
|
|
PFN_vkCmdNextSubpass CmdNextSubpass;
|
|
PFN_vkCmdEndRenderPass CmdEndRenderPass;
|
|
PFN_vkCmdExecuteCommands CmdExecuteCommands;
|
|
PFN_vkCreateSwapchainKHR CreateSwapchainKHR;
|
|
PFN_vkDestroySwapchainKHR DestroySwapchainKHR;
|
|
PFN_vkGetSwapchainImagesKHR GetSwapchainImagesKHR;
|
|
PFN_vkAcquireNextImageKHR AcquireNextImageKHR;
|
|
PFN_vkQueuePresentKHR QueuePresentKHR;
|
|
PFN_vkTrimCommandPool TrimCommandPool;
|
|
PFN_vkGetDeviceGroupPeerMemoryFeatures GetDeviceGroupPeerMemoryFeatures;
|
|
PFN_vkBindBufferMemory2 BindBufferMemory2;
|
|
PFN_vkBindImageMemory2 BindImageMemory2;
|
|
PFN_vkCmdSetDeviceMask CmdSetDeviceMask;
|
|
PFN_vkGetDeviceGroupPresentCapabilitiesKHR GetDeviceGroupPresentCapabilitiesKHR;
|
|
PFN_vkGetDeviceGroupSurfacePresentModesKHR GetDeviceGroupSurfacePresentModesKHR;
|
|
PFN_vkAcquireNextImage2KHR AcquireNextImage2KHR;
|
|
PFN_vkCmdDispatchBase CmdDispatchBase;
|
|
PFN_vkCreateDescriptorUpdateTemplate CreateDescriptorUpdateTemplate;
|
|
PFN_vkDestroyDescriptorUpdateTemplate DestroyDescriptorUpdateTemplate;
|
|
PFN_vkUpdateDescriptorSetWithTemplate UpdateDescriptorSetWithTemplate;
|
|
PFN_vkGetBufferMemoryRequirements2 GetBufferMemoryRequirements2;
|
|
PFN_vkGetImageMemoryRequirements2 GetImageMemoryRequirements2;
|
|
PFN_vkGetImageSparseMemoryRequirements2 GetImageSparseMemoryRequirements2;
|
|
PFN_vkCreateSamplerYcbcrConversion CreateSamplerYcbcrConversion;
|
|
PFN_vkDestroySamplerYcbcrConversion DestroySamplerYcbcrConversion;
|
|
PFN_vkGetDeviceQueue2 GetDeviceQueue2;
|
|
PFN_vkGetDescriptorSetLayoutSupport GetDescriptorSetLayoutSupport;
|
|
PFN_vkCreateRenderPass2 CreateRenderPass2;
|
|
PFN_vkCmdBeginRenderPass2 CmdBeginRenderPass2;
|
|
PFN_vkCmdNextSubpass2 CmdNextSubpass2;
|
|
PFN_vkCmdEndRenderPass2 CmdEndRenderPass2;
|
|
PFN_vkGetSemaphoreCounterValue GetSemaphoreCounterValue;
|
|
PFN_vkWaitSemaphores WaitSemaphores;
|
|
PFN_vkSignalSemaphore SignalSemaphore;
|
|
PFN_vkGetAndroidHardwareBufferPropertiesANDROID GetAndroidHardwareBufferPropertiesANDROID;
|
|
PFN_vkGetMemoryAndroidHardwareBufferANDROID GetMemoryAndroidHardwareBufferANDROID;
|
|
PFN_vkCmdDrawIndirectCount CmdDrawIndirectCount;
|
|
PFN_vkCmdDrawIndexedIndirectCount CmdDrawIndexedIndirectCount;
|
|
PFN_vkGetBufferOpaqueCaptureAddress GetBufferOpaqueCaptureAddress;
|
|
PFN_vkGetBufferDeviceAddress GetBufferDeviceAddress;
|
|
PFN_vkGetDeviceMemoryOpaqueCaptureAddress GetDeviceMemoryOpaqueCaptureAddress;
|
|
// clang-format on
|
|
};
|
|
|
|
bool InitDispatchTable(
|
|
VkInstance instance,
|
|
PFN_vkGetInstanceProcAddr get_proc,
|
|
const std::bitset<driver::ProcHook::EXTENSION_COUNT>& extensions);
|
|
bool InitDispatchTable(
|
|
VkDevice dev,
|
|
PFN_vkGetDeviceProcAddr get_proc,
|
|
const std::bitset<driver::ProcHook::EXTENSION_COUNT>& extensions);
|
|
|
|
} // namespace api
|
|
} // namespace vulkan
|
|
|
|
#endif // LIBVULKAN_API_GEN_H
|