Skip to content
Permalink
Browse files

Vulkan: Use device-local functions where possible

Avoids a call into the loader library, which may improve performance
ever-so-slightly.
  • Loading branch information...
stenzek committed Jan 27, 2019
1 parent ce1cc2d commit bd66db049a442642fef0d6e3a51a466aa3438729
Showing with 120 additions and 121 deletions.
  1. +120 −121 Source/Core/VideoBackends/Vulkan/VulkanEntryPoints.inl
@@ -29,130 +29,9 @@ VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceProperties, true)
VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceQueueFamilyProperties, true)
VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceMemoryProperties, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCreateDevice, true)
VULKAN_INSTANCE_ENTRY_POINT(vkDestroyDevice, true)
VULKAN_INSTANCE_ENTRY_POINT(vkEnumerateDeviceExtensionProperties, true)
VULKAN_INSTANCE_ENTRY_POINT(vkEnumerateDeviceLayerProperties, true)
VULKAN_INSTANCE_ENTRY_POINT(vkGetDeviceQueue, true)
VULKAN_INSTANCE_ENTRY_POINT(vkQueueSubmit, true)
VULKAN_INSTANCE_ENTRY_POINT(vkQueueWaitIdle, true)
VULKAN_INSTANCE_ENTRY_POINT(vkDeviceWaitIdle, true)
VULKAN_INSTANCE_ENTRY_POINT(vkAllocateMemory, true)
VULKAN_INSTANCE_ENTRY_POINT(vkFreeMemory, true)
VULKAN_INSTANCE_ENTRY_POINT(vkMapMemory, true)
VULKAN_INSTANCE_ENTRY_POINT(vkUnmapMemory, true)
VULKAN_INSTANCE_ENTRY_POINT(vkFlushMappedMemoryRanges, true)
VULKAN_INSTANCE_ENTRY_POINT(vkInvalidateMappedMemoryRanges, true)
VULKAN_INSTANCE_ENTRY_POINT(vkGetDeviceMemoryCommitment, true)
VULKAN_INSTANCE_ENTRY_POINT(vkBindBufferMemory, true)
VULKAN_INSTANCE_ENTRY_POINT(vkBindImageMemory, true)
VULKAN_INSTANCE_ENTRY_POINT(vkGetBufferMemoryRequirements, true)
VULKAN_INSTANCE_ENTRY_POINT(vkGetImageMemoryRequirements, true)
VULKAN_INSTANCE_ENTRY_POINT(vkGetImageSparseMemoryRequirements, true)
VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceSparseImageFormatProperties, true)
VULKAN_INSTANCE_ENTRY_POINT(vkQueueBindSparse, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCreateFence, true)
VULKAN_INSTANCE_ENTRY_POINT(vkDestroyFence, true)
VULKAN_INSTANCE_ENTRY_POINT(vkResetFences, true)
VULKAN_INSTANCE_ENTRY_POINT(vkGetFenceStatus, true)
VULKAN_INSTANCE_ENTRY_POINT(vkWaitForFences, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCreateSemaphore, true)
VULKAN_INSTANCE_ENTRY_POINT(vkDestroySemaphore, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCreateEvent, true)
VULKAN_INSTANCE_ENTRY_POINT(vkDestroyEvent, true)
VULKAN_INSTANCE_ENTRY_POINT(vkGetEventStatus, true)
VULKAN_INSTANCE_ENTRY_POINT(vkSetEvent, true)
VULKAN_INSTANCE_ENTRY_POINT(vkResetEvent, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCreateQueryPool, true)
VULKAN_INSTANCE_ENTRY_POINT(vkDestroyQueryPool, true)
VULKAN_INSTANCE_ENTRY_POINT(vkGetQueryPoolResults, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCreateBuffer, true)
VULKAN_INSTANCE_ENTRY_POINT(vkDestroyBuffer, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCreateBufferView, true)
VULKAN_INSTANCE_ENTRY_POINT(vkDestroyBufferView, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCreateImage, true)
VULKAN_INSTANCE_ENTRY_POINT(vkDestroyImage, true)
VULKAN_INSTANCE_ENTRY_POINT(vkGetImageSubresourceLayout, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCreateImageView, true)
VULKAN_INSTANCE_ENTRY_POINT(vkDestroyImageView, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCreateShaderModule, true)
VULKAN_INSTANCE_ENTRY_POINT(vkDestroyShaderModule, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCreatePipelineCache, true)
VULKAN_INSTANCE_ENTRY_POINT(vkDestroyPipelineCache, true)
VULKAN_INSTANCE_ENTRY_POINT(vkGetPipelineCacheData, true)
VULKAN_INSTANCE_ENTRY_POINT(vkMergePipelineCaches, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCreateGraphicsPipelines, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCreateComputePipelines, true)
VULKAN_INSTANCE_ENTRY_POINT(vkDestroyPipeline, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCreatePipelineLayout, true)
VULKAN_INSTANCE_ENTRY_POINT(vkDestroyPipelineLayout, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCreateSampler, true)
VULKAN_INSTANCE_ENTRY_POINT(vkDestroySampler, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCreateDescriptorSetLayout, true)
VULKAN_INSTANCE_ENTRY_POINT(vkDestroyDescriptorSetLayout, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCreateDescriptorPool, true)
VULKAN_INSTANCE_ENTRY_POINT(vkDestroyDescriptorPool, true)
VULKAN_INSTANCE_ENTRY_POINT(vkResetDescriptorPool, true)
VULKAN_INSTANCE_ENTRY_POINT(vkAllocateDescriptorSets, true)
VULKAN_INSTANCE_ENTRY_POINT(vkFreeDescriptorSets, true)
VULKAN_INSTANCE_ENTRY_POINT(vkUpdateDescriptorSets, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCreateFramebuffer, true)
VULKAN_INSTANCE_ENTRY_POINT(vkDestroyFramebuffer, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCreateRenderPass, true)
VULKAN_INSTANCE_ENTRY_POINT(vkDestroyRenderPass, true)
VULKAN_INSTANCE_ENTRY_POINT(vkGetRenderAreaGranularity, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCreateCommandPool, true)
VULKAN_INSTANCE_ENTRY_POINT(vkDestroyCommandPool, true)
VULKAN_INSTANCE_ENTRY_POINT(vkResetCommandPool, true)
VULKAN_INSTANCE_ENTRY_POINT(vkAllocateCommandBuffers, true)
VULKAN_INSTANCE_ENTRY_POINT(vkFreeCommandBuffers, true)
VULKAN_INSTANCE_ENTRY_POINT(vkBeginCommandBuffer, true)
VULKAN_INSTANCE_ENTRY_POINT(vkEndCommandBuffer, true)
VULKAN_INSTANCE_ENTRY_POINT(vkResetCommandBuffer, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdBindPipeline, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdSetViewport, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdSetScissor, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdSetLineWidth, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdSetDepthBias, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdSetBlendConstants, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdSetDepthBounds, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdSetStencilCompareMask, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdSetStencilWriteMask, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdSetStencilReference, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdBindDescriptorSets, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdBindIndexBuffer, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdBindVertexBuffers, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdDraw, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdDrawIndexed, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdDrawIndirect, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdDrawIndexedIndirect, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdDispatch, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdDispatchIndirect, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdCopyBuffer, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdCopyImage, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdBlitImage, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdCopyBufferToImage, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdCopyImageToBuffer, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdUpdateBuffer, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdFillBuffer, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdClearColorImage, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdClearDepthStencilImage, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdClearAttachments, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdResolveImage, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdSetEvent, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdResetEvent, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdWaitEvents, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdPipelineBarrier, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdBeginQuery, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdEndQuery, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdResetQueryPool, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdWriteTimestamp, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdCopyQueryPoolResults, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdPushConstants, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdBeginRenderPass, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdNextSubpass, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdEndRenderPass, true)
VULKAN_INSTANCE_ENTRY_POINT(vkCmdExecuteCommands, true)

VULKAN_INSTANCE_ENTRY_POINT(vkDestroySurfaceKHR, false)
VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceSurfaceSupportKHR, false)
VULKAN_INSTANCE_ENTRY_POINT(vkGetPhysicalDeviceSurfaceCapabilitiesKHR, false)
@@ -192,6 +71,126 @@ VULKAN_INSTANCE_ENTRY_POINT(vkDebugReportMessageEXT, false)

#ifdef VULKAN_DEVICE_ENTRY_POINT

VULKAN_DEVICE_ENTRY_POINT(vkDestroyDevice, true)
VULKAN_DEVICE_ENTRY_POINT(vkGetDeviceQueue, true)
VULKAN_DEVICE_ENTRY_POINT(vkQueueSubmit, true)
VULKAN_DEVICE_ENTRY_POINT(vkQueueWaitIdle, true)
VULKAN_DEVICE_ENTRY_POINT(vkDeviceWaitIdle, true)
VULKAN_DEVICE_ENTRY_POINT(vkAllocateMemory, true)
VULKAN_DEVICE_ENTRY_POINT(vkFreeMemory, true)
VULKAN_DEVICE_ENTRY_POINT(vkMapMemory, true)
VULKAN_DEVICE_ENTRY_POINT(vkUnmapMemory, true)
VULKAN_DEVICE_ENTRY_POINT(vkFlushMappedMemoryRanges, true)
VULKAN_DEVICE_ENTRY_POINT(vkInvalidateMappedMemoryRanges, true)
VULKAN_DEVICE_ENTRY_POINT(vkGetDeviceMemoryCommitment, true)
VULKAN_DEVICE_ENTRY_POINT(vkBindBufferMemory, true)
VULKAN_DEVICE_ENTRY_POINT(vkBindImageMemory, true)
VULKAN_DEVICE_ENTRY_POINT(vkGetBufferMemoryRequirements, true)
VULKAN_DEVICE_ENTRY_POINT(vkGetImageMemoryRequirements, true)
VULKAN_DEVICE_ENTRY_POINT(vkGetImageSparseMemoryRequirements, true)
VULKAN_DEVICE_ENTRY_POINT(vkQueueBindSparse, true)
VULKAN_DEVICE_ENTRY_POINT(vkCreateFence, true)
VULKAN_DEVICE_ENTRY_POINT(vkDestroyFence, true)
VULKAN_DEVICE_ENTRY_POINT(vkResetFences, true)
VULKAN_DEVICE_ENTRY_POINT(vkGetFenceStatus, true)
VULKAN_DEVICE_ENTRY_POINT(vkWaitForFences, true)
VULKAN_DEVICE_ENTRY_POINT(vkCreateSemaphore, true)
VULKAN_DEVICE_ENTRY_POINT(vkDestroySemaphore, true)
VULKAN_DEVICE_ENTRY_POINT(vkCreateEvent, true)
VULKAN_DEVICE_ENTRY_POINT(vkDestroyEvent, true)
VULKAN_DEVICE_ENTRY_POINT(vkGetEventStatus, true)
VULKAN_DEVICE_ENTRY_POINT(vkSetEvent, true)
VULKAN_DEVICE_ENTRY_POINT(vkResetEvent, true)
VULKAN_DEVICE_ENTRY_POINT(vkCreateQueryPool, true)
VULKAN_DEVICE_ENTRY_POINT(vkDestroyQueryPool, true)
VULKAN_DEVICE_ENTRY_POINT(vkGetQueryPoolResults, true)
VULKAN_DEVICE_ENTRY_POINT(vkCreateBuffer, true)
VULKAN_DEVICE_ENTRY_POINT(vkDestroyBuffer, true)
VULKAN_DEVICE_ENTRY_POINT(vkCreateBufferView, true)
VULKAN_DEVICE_ENTRY_POINT(vkDestroyBufferView, true)
VULKAN_DEVICE_ENTRY_POINT(vkCreateImage, true)
VULKAN_DEVICE_ENTRY_POINT(vkDestroyImage, true)
VULKAN_DEVICE_ENTRY_POINT(vkGetImageSubresourceLayout, true)
VULKAN_DEVICE_ENTRY_POINT(vkCreateImageView, true)
VULKAN_DEVICE_ENTRY_POINT(vkDestroyImageView, true)
VULKAN_DEVICE_ENTRY_POINT(vkCreateShaderModule, true)
VULKAN_DEVICE_ENTRY_POINT(vkDestroyShaderModule, true)
VULKAN_DEVICE_ENTRY_POINT(vkCreatePipelineCache, true)
VULKAN_DEVICE_ENTRY_POINT(vkDestroyPipelineCache, true)
VULKAN_DEVICE_ENTRY_POINT(vkGetPipelineCacheData, true)
VULKAN_DEVICE_ENTRY_POINT(vkMergePipelineCaches, true)
VULKAN_DEVICE_ENTRY_POINT(vkCreateGraphicsPipelines, true)
VULKAN_DEVICE_ENTRY_POINT(vkCreateComputePipelines, true)
VULKAN_DEVICE_ENTRY_POINT(vkDestroyPipeline, true)
VULKAN_DEVICE_ENTRY_POINT(vkCreatePipelineLayout, true)
VULKAN_DEVICE_ENTRY_POINT(vkDestroyPipelineLayout, true)
VULKAN_DEVICE_ENTRY_POINT(vkCreateSampler, true)
VULKAN_DEVICE_ENTRY_POINT(vkDestroySampler, true)
VULKAN_DEVICE_ENTRY_POINT(vkCreateDescriptorSetLayout, true)
VULKAN_DEVICE_ENTRY_POINT(vkDestroyDescriptorSetLayout, true)
VULKAN_DEVICE_ENTRY_POINT(vkCreateDescriptorPool, true)
VULKAN_DEVICE_ENTRY_POINT(vkDestroyDescriptorPool, true)
VULKAN_DEVICE_ENTRY_POINT(vkResetDescriptorPool, true)
VULKAN_DEVICE_ENTRY_POINT(vkAllocateDescriptorSets, true)
VULKAN_DEVICE_ENTRY_POINT(vkFreeDescriptorSets, true)
VULKAN_DEVICE_ENTRY_POINT(vkUpdateDescriptorSets, true)
VULKAN_DEVICE_ENTRY_POINT(vkCreateFramebuffer, true)
VULKAN_DEVICE_ENTRY_POINT(vkDestroyFramebuffer, true)
VULKAN_DEVICE_ENTRY_POINT(vkCreateRenderPass, true)
VULKAN_DEVICE_ENTRY_POINT(vkDestroyRenderPass, true)
VULKAN_DEVICE_ENTRY_POINT(vkGetRenderAreaGranularity, true)
VULKAN_DEVICE_ENTRY_POINT(vkCreateCommandPool, true)
VULKAN_DEVICE_ENTRY_POINT(vkDestroyCommandPool, true)
VULKAN_DEVICE_ENTRY_POINT(vkResetCommandPool, true)
VULKAN_DEVICE_ENTRY_POINT(vkAllocateCommandBuffers, true)
VULKAN_DEVICE_ENTRY_POINT(vkFreeCommandBuffers, true)
VULKAN_DEVICE_ENTRY_POINT(vkBeginCommandBuffer, true)
VULKAN_DEVICE_ENTRY_POINT(vkEndCommandBuffer, true)
VULKAN_DEVICE_ENTRY_POINT(vkResetCommandBuffer, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdBindPipeline, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdSetViewport, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdSetScissor, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdSetLineWidth, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdSetDepthBias, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdSetBlendConstants, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdSetDepthBounds, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdSetStencilCompareMask, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdSetStencilWriteMask, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdSetStencilReference, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdBindDescriptorSets, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdBindIndexBuffer, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdBindVertexBuffers, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdDraw, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdDrawIndexed, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdDrawIndirect, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdDrawIndexedIndirect, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdDispatch, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdDispatchIndirect, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdCopyBuffer, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdCopyImage, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdBlitImage, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdCopyBufferToImage, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdCopyImageToBuffer, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdUpdateBuffer, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdFillBuffer, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdClearColorImage, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdClearDepthStencilImage, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdClearAttachments, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdResolveImage, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdSetEvent, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdResetEvent, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdWaitEvents, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdPipelineBarrier, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdBeginQuery, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdEndQuery, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdResetQueryPool, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdWriteTimestamp, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdCopyQueryPoolResults, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdPushConstants, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdBeginRenderPass, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdNextSubpass, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdEndRenderPass, true)
VULKAN_DEVICE_ENTRY_POINT(vkCmdExecuteCommands, true)
VULKAN_DEVICE_ENTRY_POINT(vkCreateSwapchainKHR, false)
VULKAN_DEVICE_ENTRY_POINT(vkDestroySwapchainKHR, false)
VULKAN_DEVICE_ENTRY_POINT(vkGetSwapchainImagesKHR, false)

0 comments on commit bd66db0

Please sign in to comment.
You can’t perform that action at this time.