//
// Copyright (C) 2020 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.
//

// clang-format off
#include "native_bridge_support/vdso/interceptable_functions.h"

DEFINE_INTERCEPTABLE_STUB_FUNCTION(android_convertGralloc0To1Usage);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(android_convertGralloc1To0Usage);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkAcquireNextImage2KHR);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkAcquireNextImageKHR);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkAllocateCommandBuffers);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkAllocateDescriptorSets);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkAllocateMemory);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkBeginCommandBuffer);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkBindBufferMemory);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkBindBufferMemory2);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkBindImageMemory);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkBindImageMemory2);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdBeginQuery);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdBeginRenderPass);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdBeginRenderPass2);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdBindDescriptorSets);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdBindIndexBuffer);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdBindPipeline);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdBindVertexBuffers);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdBlitImage);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdClearAttachments);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdClearColorImage);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdClearDepthStencilImage);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdCopyBuffer);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdCopyBufferToImage);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdCopyImage);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdCopyImageToBuffer);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdCopyQueryPoolResults);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdDispatch);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdDispatchBase);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdDispatchIndirect);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdDraw);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdDrawIndexed);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdDrawIndexedIndirect);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdDrawIndexedIndirectCount);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdDrawIndirect);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdDrawIndirectCount);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdEndQuery);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdEndRenderPass);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdEndRenderPass2);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdExecuteCommands);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdFillBuffer);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdNextSubpass);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdNextSubpass2);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdPipelineBarrier);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdPushConstants);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdResetEvent);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdResetQueryPool);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdResolveImage);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdSetBlendConstants);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdSetDepthBias);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdSetDepthBounds);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdSetDeviceMask);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdSetEvent);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdSetLineWidth);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdSetScissor);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdSetStencilCompareMask);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdSetStencilReference);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdSetStencilWriteMask);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdSetViewport);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdUpdateBuffer);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdWaitEvents);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdWriteTimestamp);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateAndroidSurfaceKHR);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateBuffer);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateBufferView);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateCommandPool);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateComputePipelines);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateDescriptorPool);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateDescriptorSetLayout);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateDescriptorUpdateTemplate);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateDevice);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateEvent);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateFence);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateFramebuffer);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateGraphicsPipelines);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateImage);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateImageView);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateInstance);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreatePipelineCache);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreatePipelineLayout);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateQueryPool);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateRenderPass);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateRenderPass2);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateSampler);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateSamplerYcbcrConversion);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateSemaphore);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateShaderModule);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateSwapchainKHR);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyBuffer);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyBufferView);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyCommandPool);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyDescriptorPool);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyDescriptorSetLayout);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyDescriptorUpdateTemplate);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyDevice);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyEvent);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyFence);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyFramebuffer);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyImage);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyImageView);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyInstance);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyPipeline);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyPipelineCache);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyPipelineLayout);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyQueryPool);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyRenderPass);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroySampler);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroySamplerYcbcrConversion);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroySemaphore);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyShaderModule);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroySurfaceKHR);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroySwapchainKHR);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDeviceWaitIdle);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkEndCommandBuffer);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkEnumerateDeviceExtensionProperties);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkEnumerateDeviceLayerProperties);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkEnumerateInstanceExtensionProperties);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkEnumerateInstanceLayerProperties);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkEnumerateInstanceVersion);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkEnumeratePhysicalDeviceGroups);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkEnumeratePhysicalDevices);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkFlushMappedMemoryRanges);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkFreeCommandBuffers);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkFreeDescriptorSets);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkFreeMemory);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetAndroidHardwareBufferPropertiesANDROID);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetBufferDeviceAddress);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetBufferMemoryRequirements);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetBufferMemoryRequirements2);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetBufferOpaqueCaptureAddress);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetDescriptorSetLayoutSupport);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetDeviceGroupPeerMemoryFeatures);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetDeviceGroupPresentCapabilitiesKHR);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetDeviceGroupSurfacePresentModesKHR);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetDeviceMemoryCommitment);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetDeviceMemoryOpaqueCaptureAddress);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetDeviceProcAddr);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetDeviceQueue);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetDeviceQueue2);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetEventStatus);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetFenceStatus);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetImageMemoryRequirements);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetImageMemoryRequirements2);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetImageSparseMemoryRequirements);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetImageSparseMemoryRequirements2);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetImageSubresourceLayout);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetInstanceProcAddr);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetMemoryAndroidHardwareBufferANDROID);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceExternalBufferProperties);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceExternalFenceProperties);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceExternalSemaphoreProperties);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceFeatures);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceFeatures2);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceFormatProperties);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceFormatProperties2);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceImageFormatProperties);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceImageFormatProperties2);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceMemoryProperties);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceMemoryProperties2);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDevicePresentRectanglesKHR);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceProperties);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceProperties2);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceQueueFamilyProperties);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceQueueFamilyProperties2);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceSparseImageFormatProperties);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceSparseImageFormatProperties2);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceSurfaceCapabilitiesKHR);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceSurfaceFormatsKHR);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceSurfacePresentModesKHR);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceSurfaceSupportKHR);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPipelineCacheData);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetQueryPoolResults);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetRenderAreaGranularity);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetSemaphoreCounterValue);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetSwapchainImagesKHR);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkInvalidateMappedMemoryRanges);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkMapMemory);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkMergePipelineCaches);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkQueueBindSparse);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkQueuePresentKHR);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkQueueSubmit);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkQueueWaitIdle);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkResetCommandBuffer);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkResetCommandPool);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkResetDescriptorPool);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkResetEvent);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkResetFences);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkResetQueryPool);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkSetEvent);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkSignalSemaphore);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkTrimCommandPool);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkUnmapMemory);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkUpdateDescriptorSetWithTemplate);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkUpdateDescriptorSets);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkWaitForFences);
DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkWaitSemaphores);

static void __attribute__((constructor(0))) init_stub_library() {
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", android_convertGralloc0To1Usage);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", android_convertGralloc1To0Usage);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkAcquireNextImage2KHR);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkAcquireNextImageKHR);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkAllocateCommandBuffers);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkAllocateDescriptorSets);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkAllocateMemory);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkBeginCommandBuffer);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkBindBufferMemory);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkBindBufferMemory2);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkBindImageMemory);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkBindImageMemory2);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdBeginQuery);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdBeginRenderPass);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdBeginRenderPass2);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdBindDescriptorSets);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdBindIndexBuffer);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdBindPipeline);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdBindVertexBuffers);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdBlitImage);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdClearAttachments);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdClearColorImage);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdClearDepthStencilImage);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdCopyBuffer);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdCopyBufferToImage);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdCopyImage);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdCopyImageToBuffer);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdCopyQueryPoolResults);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdDispatch);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdDispatchBase);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdDispatchIndirect);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdDraw);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdDrawIndexed);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdDrawIndexedIndirect);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdDrawIndexedIndirectCount);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdDrawIndirect);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdDrawIndirectCount);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdEndQuery);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdEndRenderPass);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdEndRenderPass2);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdExecuteCommands);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdFillBuffer);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdNextSubpass);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdNextSubpass2);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdPipelineBarrier);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdPushConstants);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdResetEvent);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdResetQueryPool);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdResolveImage);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdSetBlendConstants);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdSetDepthBias);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdSetDepthBounds);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdSetDeviceMask);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdSetEvent);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdSetLineWidth);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdSetScissor);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdSetStencilCompareMask);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdSetStencilReference);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdSetStencilWriteMask);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdSetViewport);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdUpdateBuffer);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdWaitEvents);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdWriteTimestamp);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateAndroidSurfaceKHR);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateBuffer);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateBufferView);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateCommandPool);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateComputePipelines);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateDescriptorPool);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateDescriptorSetLayout);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateDescriptorUpdateTemplate);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateDevice);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateEvent);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateFence);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateFramebuffer);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateGraphicsPipelines);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateImage);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateImageView);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateInstance);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreatePipelineCache);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreatePipelineLayout);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateQueryPool);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateRenderPass);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateRenderPass2);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateSampler);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateSamplerYcbcrConversion);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateSemaphore);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateShaderModule);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateSwapchainKHR);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyBuffer);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyBufferView);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyCommandPool);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyDescriptorPool);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyDescriptorSetLayout);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyDescriptorUpdateTemplate);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyDevice);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyEvent);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyFence);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyFramebuffer);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyImage);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyImageView);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyInstance);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyPipeline);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyPipelineCache);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyPipelineLayout);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyQueryPool);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyRenderPass);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroySampler);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroySamplerYcbcrConversion);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroySemaphore);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyShaderModule);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroySurfaceKHR);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroySwapchainKHR);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDeviceWaitIdle);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkEndCommandBuffer);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkEnumerateDeviceExtensionProperties);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkEnumerateDeviceLayerProperties);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkEnumerateInstanceExtensionProperties);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkEnumerateInstanceLayerProperties);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkEnumerateInstanceVersion);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkEnumeratePhysicalDeviceGroups);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkEnumeratePhysicalDevices);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkFlushMappedMemoryRanges);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkFreeCommandBuffers);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkFreeDescriptorSets);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkFreeMemory);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetAndroidHardwareBufferPropertiesANDROID);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetBufferDeviceAddress);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetBufferMemoryRequirements);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetBufferMemoryRequirements2);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetBufferOpaqueCaptureAddress);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetDescriptorSetLayoutSupport);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetDeviceGroupPeerMemoryFeatures);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetDeviceGroupPresentCapabilitiesKHR);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetDeviceGroupSurfacePresentModesKHR);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetDeviceMemoryCommitment);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetDeviceMemoryOpaqueCaptureAddress);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetDeviceProcAddr);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetDeviceQueue);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetDeviceQueue2);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetEventStatus);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetFenceStatus);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetImageMemoryRequirements);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetImageMemoryRequirements2);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetImageSparseMemoryRequirements);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetImageSparseMemoryRequirements2);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetImageSubresourceLayout);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetInstanceProcAddr);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetMemoryAndroidHardwareBufferANDROID);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceExternalBufferProperties);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceExternalFenceProperties);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceExternalSemaphoreProperties);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceFeatures);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceFeatures2);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceFormatProperties);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceFormatProperties2);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceImageFormatProperties);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceImageFormatProperties2);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceMemoryProperties);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceMemoryProperties2);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDevicePresentRectanglesKHR);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceProperties);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceProperties2);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceQueueFamilyProperties);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceQueueFamilyProperties2);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceSparseImageFormatProperties);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceSparseImageFormatProperties2);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceSurfaceCapabilitiesKHR);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceSurfaceFormatsKHR);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceSurfacePresentModesKHR);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceSurfaceSupportKHR);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPipelineCacheData);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetQueryPoolResults);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetRenderAreaGranularity);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetSemaphoreCounterValue);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetSwapchainImagesKHR);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkInvalidateMappedMemoryRanges);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkMapMemory);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkMergePipelineCaches);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkQueueBindSparse);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkQueuePresentKHR);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkQueueSubmit);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkQueueWaitIdle);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkResetCommandBuffer);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkResetCommandPool);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkResetDescriptorPool);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkResetEvent);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkResetFences);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkResetQueryPool);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkSetEvent);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkSignalSemaphore);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkTrimCommandPool);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkUnmapMemory);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkUpdateDescriptorSetWithTemplate);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkUpdateDescriptorSets);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkWaitForFences);
  INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkWaitSemaphores);
}
// clang-format on
