104f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hall/* 21f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall * Copyright 2015 The Android Open Source Project 31f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall * 41f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall * Licensed under the Apache License, Version 2.0 (the "License"); 51f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall * you may not use this file except in compliance with the License. 61f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall * You may obtain a copy of the License at 71f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall * 81f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall * http://www.apache.org/licenses/LICENSE-2.0 91f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall * 101f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall * Unless required by applicable law or agreed to in writing, software 111f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall * distributed under the License is distributed on an "AS IS" BASIS, 121f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 131f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall * See the License for the specific language governing permissions and 141f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall * limitations under the License. 151f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall */ 1604f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hall 170a402094986739a2ce1942363370f8e097305933Jesse Hall// WARNING: This file is generated. See ../README.md for instructions. 1804f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hall 191f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall#include "null_driver_gen.h" 2004f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hall#include <algorithm> 2104f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hall 2204f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hallusing namespace null_driver; 2304f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hall 2404f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hallnamespace { 2504f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hall 261f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hallstruct NameProc { 2704f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hall const char* name; 2804f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hall PFN_vkVoidFunction proc; 2904f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hall}; 3004f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hall 311f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallPFN_vkVoidFunction Lookup(const char* name, 321f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall const NameProc* begin, 331f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall const NameProc* end) { 341f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall const auto& entry = std::lower_bound( 351f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall begin, end, name, 361f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall [](const NameProc& e, const char* n) { return strcmp(e.name, n) < 0; }); 371f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall if (entry == end || strcmp(entry->name, name) != 0) 381f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall return nullptr; 391f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall return entry->proc; 401f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall} 411f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall 4204f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Halltemplate <size_t N> 431f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallPFN_vkVoidFunction Lookup(const char* name, const NameProc (&procs)[N]) { 441f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall return Lookup(name, procs, procs + N); 4504f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hall} 4604f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hall 471f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hallconst NameProc kGlobalProcs[] = { 4804f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hall // clang-format off 491f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall {"vkCreateInstance", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCreateInstance>(CreateInstance))}, 501f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall {"vkEnumerateInstanceExtensionProperties", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkEnumerateInstanceExtensionProperties>(EnumerateInstanceExtensionProperties))}, 511f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall {"vkEnumerateInstanceLayerProperties", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkEnumerateInstanceLayerProperties>(EnumerateInstanceLayerProperties))}, 5204f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hall // clang-format on 5304f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hall}; 5404f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hall 551f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hallconst NameProc kInstanceProcs[] = { 5604f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hall // clang-format off 573fbc856120217247c72fb5ed88500000f3881c45Jesse Hall {"vkAllocateCommandBuffers", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkAllocateCommandBuffers>(AllocateCommandBuffers))}, 583fbc856120217247c72fb5ed88500000f3881c45Jesse Hall {"vkAllocateDescriptorSets", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkAllocateDescriptorSets>(AllocateDescriptorSets))}, 593fbc856120217247c72fb5ed88500000f3881c45Jesse Hall {"vkAllocateMemory", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkAllocateMemory>(AllocateMemory))}, 60cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkBeginCommandBuffer", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkBeginCommandBuffer>(BeginCommandBuffer))}, 61cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkBindBufferMemory", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkBindBufferMemory>(BindBufferMemory))}, 62cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkBindImageMemory", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkBindImageMemory>(BindImageMemory))}, 63cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdBeginQuery", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdBeginQuery>(CmdBeginQuery))}, 64cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdBeginRenderPass", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdBeginRenderPass>(CmdBeginRenderPass))}, 65cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdBindDescriptorSets", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdBindDescriptorSets>(CmdBindDescriptorSets))}, 66cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdBindIndexBuffer", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdBindIndexBuffer>(CmdBindIndexBuffer))}, 67cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdBindPipeline", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdBindPipeline>(CmdBindPipeline))}, 68cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdBindVertexBuffers", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdBindVertexBuffers>(CmdBindVertexBuffers))}, 69cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdBlitImage", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdBlitImage>(CmdBlitImage))}, 70ae38f7355fd03b777313e13586585a74e0dee05bJesse Hall {"vkCmdClearAttachments", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdClearAttachments>(CmdClearAttachments))}, 71cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdClearColorImage", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdClearColorImage>(CmdClearColorImage))}, 72cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdClearDepthStencilImage", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdClearDepthStencilImage>(CmdClearDepthStencilImage))}, 73cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdCopyBuffer", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdCopyBuffer>(CmdCopyBuffer))}, 74cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdCopyBufferToImage", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdCopyBufferToImage>(CmdCopyBufferToImage))}, 75cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdCopyImage", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdCopyImage>(CmdCopyImage))}, 76cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdCopyImageToBuffer", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdCopyImageToBuffer>(CmdCopyImageToBuffer))}, 77cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdCopyQueryPoolResults", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdCopyQueryPoolResults>(CmdCopyQueryPoolResults))}, 78cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdDispatch", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdDispatch>(CmdDispatch))}, 79cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdDispatchIndirect", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdDispatchIndirect>(CmdDispatchIndirect))}, 80cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdDraw", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdDraw>(CmdDraw))}, 81cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdDrawIndexed", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdDrawIndexed>(CmdDrawIndexed))}, 82cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdDrawIndexedIndirect", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdDrawIndexedIndirect>(CmdDrawIndexedIndirect))}, 83cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdDrawIndirect", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdDrawIndirect>(CmdDrawIndirect))}, 84cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdEndQuery", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdEndQuery>(CmdEndQuery))}, 85cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdEndRenderPass", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdEndRenderPass>(CmdEndRenderPass))}, 86cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdExecuteCommands", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdExecuteCommands>(CmdExecuteCommands))}, 87cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdFillBuffer", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdFillBuffer>(CmdFillBuffer))}, 88cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdNextSubpass", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdNextSubpass>(CmdNextSubpass))}, 89cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdPipelineBarrier", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdPipelineBarrier>(CmdPipelineBarrier))}, 90cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdPushConstants", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdPushConstants>(CmdPushConstants))}, 91cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdResetEvent", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdResetEvent>(CmdResetEvent))}, 92cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdResetQueryPool", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdResetQueryPool>(CmdResetQueryPool))}, 93cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdResolveImage", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdResolveImage>(CmdResolveImage))}, 94cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdSetBlendConstants", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdSetBlendConstants>(CmdSetBlendConstants))}, 95cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdSetDepthBias", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdSetDepthBias>(CmdSetDepthBias))}, 96cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdSetDepthBounds", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdSetDepthBounds>(CmdSetDepthBounds))}, 97cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdSetEvent", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdSetEvent>(CmdSetEvent))}, 98cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdSetLineWidth", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdSetLineWidth>(CmdSetLineWidth))}, 99cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdSetScissor", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdSetScissor>(CmdSetScissor))}, 100cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdSetStencilCompareMask", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdSetStencilCompareMask>(CmdSetStencilCompareMask))}, 101cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdSetStencilReference", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdSetStencilReference>(CmdSetStencilReference))}, 102cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdSetStencilWriteMask", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdSetStencilWriteMask>(CmdSetStencilWriteMask))}, 103cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdSetViewport", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdSetViewport>(CmdSetViewport))}, 104cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdUpdateBuffer", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdUpdateBuffer>(CmdUpdateBuffer))}, 105cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdWaitEvents", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdWaitEvents>(CmdWaitEvents))}, 106cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCmdWriteTimestamp", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCmdWriteTimestamp>(CmdWriteTimestamp))}, 107cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCreateBuffer", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCreateBuffer>(CreateBuffer))}, 108cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCreateBufferView", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCreateBufferView>(CreateBufferView))}, 109cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCreateCommandPool", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCreateCommandPool>(CreateCommandPool))}, 110cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCreateComputePipelines", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCreateComputePipelines>(CreateComputePipelines))}, 111715b86ac7d0853131b375ff786c87d8d87a762a1Jesse Hall {"vkCreateDebugReportCallbackEXT", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCreateDebugReportCallbackEXT>(CreateDebugReportCallbackEXT))}, 112cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCreateDescriptorPool", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCreateDescriptorPool>(CreateDescriptorPool))}, 113cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCreateDescriptorSetLayout", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCreateDescriptorSetLayout>(CreateDescriptorSetLayout))}, 1141f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall {"vkCreateDevice", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCreateDevice>(CreateDevice))}, 115cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCreateEvent", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCreateEvent>(CreateEvent))}, 116cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCreateFence", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCreateFence>(CreateFence))}, 117cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCreateFramebuffer", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCreateFramebuffer>(CreateFramebuffer))}, 118cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCreateGraphicsPipelines", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCreateGraphicsPipelines>(CreateGraphicsPipelines))}, 119cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCreateImage", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCreateImage>(CreateImage))}, 120cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCreateImageView", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCreateImageView>(CreateImageView))}, 1211f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall {"vkCreateInstance", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCreateInstance>(CreateInstance))}, 122cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCreatePipelineCache", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCreatePipelineCache>(CreatePipelineCache))}, 123cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCreatePipelineLayout", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCreatePipelineLayout>(CreatePipelineLayout))}, 124cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCreateQueryPool", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCreateQueryPool>(CreateQueryPool))}, 125cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCreateRenderPass", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCreateRenderPass>(CreateRenderPass))}, 126cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCreateSampler", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCreateSampler>(CreateSampler))}, 127cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCreateSemaphore", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCreateSemaphore>(CreateSemaphore))}, 128cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkCreateShaderModule", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkCreateShaderModule>(CreateShaderModule))}, 129715b86ac7d0853131b375ff786c87d8d87a762a1Jesse Hall {"vkDebugReportMessageEXT", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkDebugReportMessageEXT>(DebugReportMessageEXT))}, 130cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkDestroyBuffer", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkDestroyBuffer>(DestroyBuffer))}, 131cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkDestroyBufferView", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkDestroyBufferView>(DestroyBufferView))}, 132cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkDestroyCommandPool", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkDestroyCommandPool>(DestroyCommandPool))}, 133715b86ac7d0853131b375ff786c87d8d87a762a1Jesse Hall {"vkDestroyDebugReportCallbackEXT", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkDestroyDebugReportCallbackEXT>(DestroyDebugReportCallbackEXT))}, 134cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkDestroyDescriptorPool", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkDestroyDescriptorPool>(DestroyDescriptorPool))}, 135cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkDestroyDescriptorSetLayout", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkDestroyDescriptorSetLayout>(DestroyDescriptorSetLayout))}, 136cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkDestroyDevice", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkDestroyDevice>(DestroyDevice))}, 137cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkDestroyEvent", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkDestroyEvent>(DestroyEvent))}, 138cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkDestroyFence", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkDestroyFence>(DestroyFence))}, 139cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkDestroyFramebuffer", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkDestroyFramebuffer>(DestroyFramebuffer))}, 140cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkDestroyImage", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkDestroyImage>(DestroyImage))}, 141cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkDestroyImageView", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkDestroyImageView>(DestroyImageView))}, 1421f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall {"vkDestroyInstance", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkDestroyInstance>(DestroyInstance))}, 143cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkDestroyPipeline", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkDestroyPipeline>(DestroyPipeline))}, 144cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkDestroyPipelineCache", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkDestroyPipelineCache>(DestroyPipelineCache))}, 145cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkDestroyPipelineLayout", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkDestroyPipelineLayout>(DestroyPipelineLayout))}, 146cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkDestroyQueryPool", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkDestroyQueryPool>(DestroyQueryPool))}, 147cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkDestroyRenderPass", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkDestroyRenderPass>(DestroyRenderPass))}, 148cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkDestroySampler", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkDestroySampler>(DestroySampler))}, 149cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkDestroySemaphore", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkDestroySemaphore>(DestroySemaphore))}, 150cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkDestroyShaderModule", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkDestroyShaderModule>(DestroyShaderModule))}, 151cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkDeviceWaitIdle", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkDeviceWaitIdle>(DeviceWaitIdle))}, 152cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkEndCommandBuffer", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkEndCommandBuffer>(EndCommandBuffer))}, 1531f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall {"vkEnumerateDeviceExtensionProperties", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkEnumerateDeviceExtensionProperties>(EnumerateDeviceExtensionProperties))}, 1541f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall {"vkEnumerateDeviceLayerProperties", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkEnumerateDeviceLayerProperties>(EnumerateDeviceLayerProperties))}, 1551f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall {"vkEnumerateInstanceExtensionProperties", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkEnumerateInstanceExtensionProperties>(EnumerateInstanceExtensionProperties))}, 1561f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall {"vkEnumerateInstanceLayerProperties", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkEnumerateInstanceLayerProperties>(EnumerateInstanceLayerProperties))}, 1571f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall {"vkEnumeratePhysicalDevices", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkEnumeratePhysicalDevices>(EnumeratePhysicalDevices))}, 158cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkFlushMappedMemoryRanges", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkFlushMappedMemoryRanges>(FlushMappedMemoryRanges))}, 159fbf97b0e5e25349b951dce1016b263ec3acbf376Jesse Hall {"vkFreeCommandBuffers", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkFreeCommandBuffers>(FreeCommandBuffers))}, 160cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkFreeDescriptorSets", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkFreeDescriptorSets>(FreeDescriptorSets))}, 161cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkFreeMemory", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkFreeMemory>(FreeMemory))}, 162cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkGetBufferMemoryRequirements", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkGetBufferMemoryRequirements>(GetBufferMemoryRequirements))}, 163cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkGetDeviceMemoryCommitment", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkGetDeviceMemoryCommitment>(GetDeviceMemoryCommitment))}, 164cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkGetDeviceProcAddr", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkGetDeviceProcAddr>(GetDeviceProcAddr))}, 165cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkGetDeviceQueue", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkGetDeviceQueue>(GetDeviceQueue))}, 166cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkGetEventStatus", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkGetEventStatus>(GetEventStatus))}, 167cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkGetFenceStatus", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkGetFenceStatus>(GetFenceStatus))}, 168cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkGetImageMemoryRequirements", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkGetImageMemoryRequirements>(GetImageMemoryRequirements))}, 169cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkGetImageSparseMemoryRequirements", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkGetImageSparseMemoryRequirements>(GetImageSparseMemoryRequirements))}, 170cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkGetImageSubresourceLayout", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkGetImageSubresourceLayout>(GetImageSubresourceLayout))}, 1711f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall {"vkGetInstanceProcAddr", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkGetInstanceProcAddr>(GetInstanceProcAddr))}, 1721f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall {"vkGetPhysicalDeviceFeatures", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkGetPhysicalDeviceFeatures>(GetPhysicalDeviceFeatures))}, 1731f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall {"vkGetPhysicalDeviceFormatProperties", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkGetPhysicalDeviceFormatProperties>(GetPhysicalDeviceFormatProperties))}, 1741f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall {"vkGetPhysicalDeviceImageFormatProperties", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkGetPhysicalDeviceImageFormatProperties>(GetPhysicalDeviceImageFormatProperties))}, 1751f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall {"vkGetPhysicalDeviceMemoryProperties", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkGetPhysicalDeviceMemoryProperties>(GetPhysicalDeviceMemoryProperties))}, 1761f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall {"vkGetPhysicalDeviceProperties", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkGetPhysicalDeviceProperties>(GetPhysicalDeviceProperties))}, 1771f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall {"vkGetPhysicalDeviceQueueFamilyProperties", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkGetPhysicalDeviceQueueFamilyProperties>(GetPhysicalDeviceQueueFamilyProperties))}, 1781f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall {"vkGetPhysicalDeviceSparseImageFormatProperties", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkGetPhysicalDeviceSparseImageFormatProperties>(GetPhysicalDeviceSparseImageFormatProperties))}, 179cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkGetPipelineCacheData", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkGetPipelineCacheData>(GetPipelineCacheData))}, 180cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkGetQueryPoolResults", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkGetQueryPoolResults>(GetQueryPoolResults))}, 181cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkGetRenderAreaGranularity", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkGetRenderAreaGranularity>(GetRenderAreaGranularity))}, 182cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkInvalidateMappedMemoryRanges", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkInvalidateMappedMemoryRanges>(InvalidateMappedMemoryRanges))}, 183cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkMapMemory", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkMapMemory>(MapMemory))}, 184cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkMergePipelineCaches", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkMergePipelineCaches>(MergePipelineCaches))}, 185a64292517b1876c4bbe5d3e62c577812f40bd922Jesse Hall {"vkQueueBindSparse", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkQueueBindSparse>(QueueBindSparse))}, 186cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkQueueSubmit", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkQueueSubmit>(QueueSubmit))}, 187cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkQueueWaitIdle", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkQueueWaitIdle>(QueueWaitIdle))}, 188cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkResetCommandBuffer", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkResetCommandBuffer>(ResetCommandBuffer))}, 189cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkResetCommandPool", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkResetCommandPool>(ResetCommandPool))}, 190cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkResetDescriptorPool", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkResetDescriptorPool>(ResetDescriptorPool))}, 191cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkResetEvent", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkResetEvent>(ResetEvent))}, 192cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkResetFences", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkResetFences>(ResetFences))}, 193cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkSetEvent", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkSetEvent>(SetEvent))}, 194cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkUnmapMemory", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkUnmapMemory>(UnmapMemory))}, 195cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkUpdateDescriptorSets", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkUpdateDescriptorSets>(UpdateDescriptorSets))}, 196cf25c4174dca708032ea83ac7ae2baad9e575b29Jesse Hall {"vkWaitForFences", reinterpret_cast<PFN_vkVoidFunction>(static_cast<PFN_vkWaitForFences>(WaitForFences))}, 19704f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hall // clang-format on 19804f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hall}; 19904f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hall 20004f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hall} // namespace 20104f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hall 20204f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hallnamespace null_driver { 20304f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hall 2041f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallPFN_vkVoidFunction GetGlobalProcAddr(const char* name) { 2051f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall return Lookup(name, kGlobalProcs); 20604f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hall} 20704f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hall 2081f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallPFN_vkVoidFunction GetInstanceProcAddr(const char* name) { 2091f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall PFN_vkVoidFunction pfn; 2101f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall if ((pfn = Lookup(name, kInstanceProcs))) 2111f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall return pfn; 2121f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall if (strcmp(name, "vkGetSwapchainGrallocUsageANDROID") == 0) 2131f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall return reinterpret_cast<PFN_vkVoidFunction>( 2141f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall static_cast<PFN_vkGetSwapchainGrallocUsageANDROID>( 2151f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall GetSwapchainGrallocUsageANDROID)); 2161f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall if (strcmp(name, "vkAcquireImageANDROID") == 0) 2171f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall return reinterpret_cast<PFN_vkVoidFunction>( 2181f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall static_cast<PFN_vkAcquireImageANDROID>(AcquireImageANDROID)); 2191f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall if (strcmp(name, "vkQueueSignalReleaseImageANDROID") == 0) 2201f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall return reinterpret_cast<PFN_vkVoidFunction>( 2211f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall static_cast<PFN_vkQueueSignalReleaseImageANDROID>( 2221f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall QueueSignalReleaseImageANDROID)); 2231f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall return nullptr; 22404f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hall} 22504f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hall 22604f4f4746481571148eaf3aaf768ee5c6dccec9dJesse Hall} // namespace null_driver 227