Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(466)

Unified Diff: src/gpu/vk/GrVkInterface.cpp

Issue 1825593002: GrVkGpu initialization cleanup. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Address comments (and rebase to ToT) Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/gpu/vk/GrVkGpu.cpp ('k') | src/gpu/vk/GrVkUniformHandler.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/gpu/vk/GrVkInterface.cpp
diff --git a/src/gpu/vk/GrVkInterface.cpp b/src/gpu/vk/GrVkInterface.cpp
index 4b12e13f0cfeb1bea7ef793bdb5ce46416131cd1..4d445a498916955e38379e0cbc28deeb8378ed4c 100644
--- a/src/gpu/vk/GrVkInterface.cpp
+++ b/src/gpu/vk/GrVkInterface.cpp
@@ -13,8 +13,10 @@ GrVkInterface::GrVkInterface() {
#define GET_PROC(F) functions->f ## F = (PFN_vk ## F) vkGetInstanceProcAddr(instance, "vk" #F)
#define GET_PROC_LOCAL(inst, F) PFN_vk ## F F = (PFN_vk ## F) vkGetInstanceProcAddr(inst, "vk" #F)
+#define GET_DEV_PROC(F) functions->f ## F = (PFN_vk ## F) vkGetDeviceProcAddr(device, "vk" #F)
-const GrVkInterface* GrVkCreateInterface(VkInstance instance) {
+const GrVkInterface* GrVkCreateInterface(VkInstance instance, VkPhysicalDevice physDev,
+ VkDevice device) {
GET_PROC_LOCAL(nullptr, EnumerateInstanceExtensionProperties);
GET_PROC_LOCAL(instance, EnumerateDeviceExtensionProperties);
@@ -23,6 +25,7 @@ const GrVkInterface* GrVkCreateInterface(VkInstance instance) {
GrVkExtensions extensions;
if (!extensions.init(kGrVkMinimumVersion,
+ physDev,
EnumerateInstanceExtensionProperties,
EnumerateDeviceExtensionProperties,
EnumerateInstanceLayerProperties,
@@ -48,137 +51,137 @@ const GrVkInterface* GrVkCreateInterface(VkInstance instance) {
GET_PROC(EnumerateDeviceExtensionProperties);
GET_PROC(EnumerateInstanceLayerProperties);
GET_PROC(EnumerateDeviceLayerProperties);
- GET_PROC(GetDeviceQueue);
- GET_PROC(QueueSubmit);
- GET_PROC(QueueWaitIdle);
- GET_PROC(DeviceWaitIdle);
- GET_PROC(AllocateMemory);
- GET_PROC(FreeMemory);
- GET_PROC(MapMemory);
- GET_PROC(UnmapMemory);
- GET_PROC(FlushMappedMemoryRanges);
- GET_PROC(InvalidateMappedMemoryRanges);
- GET_PROC(GetDeviceMemoryCommitment);
- GET_PROC(BindBufferMemory);
- GET_PROC(BindImageMemory);
- GET_PROC(GetBufferMemoryRequirements);
- GET_PROC(GetImageMemoryRequirements);
- GET_PROC(GetImageSparseMemoryRequirements);
+ GET_DEV_PROC(GetDeviceQueue);
+ GET_DEV_PROC(QueueSubmit);
+ GET_DEV_PROC(QueueWaitIdle);
+ GET_DEV_PROC(DeviceWaitIdle);
+ GET_DEV_PROC(AllocateMemory);
+ GET_DEV_PROC(FreeMemory);
+ GET_DEV_PROC(MapMemory);
+ GET_DEV_PROC(UnmapMemory);
+ GET_DEV_PROC(FlushMappedMemoryRanges);
+ GET_DEV_PROC(InvalidateMappedMemoryRanges);
+ GET_DEV_PROC(GetDeviceMemoryCommitment);
+ GET_DEV_PROC(BindBufferMemory);
+ GET_DEV_PROC(BindImageMemory);
+ GET_DEV_PROC(GetBufferMemoryRequirements);
+ GET_DEV_PROC(GetImageMemoryRequirements);
+ GET_DEV_PROC(GetImageSparseMemoryRequirements);
GET_PROC(GetPhysicalDeviceSparseImageFormatProperties);
- GET_PROC(QueueBindSparse);
- GET_PROC(CreateFence);
- GET_PROC(DestroyFence);
- GET_PROC(ResetFences);
- GET_PROC(GetFenceStatus);
- GET_PROC(WaitForFences);
- GET_PROC(CreateSemaphore);
- GET_PROC(DestroySemaphore);
- GET_PROC(CreateEvent);
- GET_PROC(DestroyEvent);
- GET_PROC(GetEventStatus);
- GET_PROC(SetEvent);
- GET_PROC(ResetEvent);
- GET_PROC(CreateQueryPool);
- GET_PROC(DestroyQueryPool);
- GET_PROC(GetQueryPoolResults);
- GET_PROC(CreateBuffer);
- GET_PROC(DestroyBuffer);
- GET_PROC(CreateBufferView);
- GET_PROC(DestroyBufferView);
- GET_PROC(CreateImage);
- GET_PROC(DestroyImage);
- GET_PROC(GetImageSubresourceLayout);
- GET_PROC(CreateImageView);
- GET_PROC(DestroyImageView);
- GET_PROC(CreateShaderModule);
- GET_PROC(DestroyShaderModule);
- GET_PROC(CreatePipelineCache);
- GET_PROC(DestroyPipelineCache);
- GET_PROC(GetPipelineCacheData);
- GET_PROC(MergePipelineCaches);
- GET_PROC(CreateGraphicsPipelines);
- GET_PROC(CreateComputePipelines);
- GET_PROC(DestroyPipeline);
- GET_PROC(CreatePipelineLayout);
- GET_PROC(DestroyPipelineLayout);
- GET_PROC(CreateSampler);
- GET_PROC(DestroySampler);
- GET_PROC(CreateDescriptorSetLayout);
- GET_PROC(DestroyDescriptorSetLayout);
- GET_PROC(CreateDescriptorPool);
- GET_PROC(DestroyDescriptorPool);
- GET_PROC(ResetDescriptorPool);
- GET_PROC(AllocateDescriptorSets);
- GET_PROC(FreeDescriptorSets);
- GET_PROC(UpdateDescriptorSets);
- GET_PROC(CreateFramebuffer);
- GET_PROC(DestroyFramebuffer);
- GET_PROC(CreateRenderPass);
- GET_PROC(DestroyRenderPass);
- GET_PROC(GetRenderAreaGranularity);
- GET_PROC(CreateCommandPool);
- GET_PROC(DestroyCommandPool);
- GET_PROC(ResetCommandPool);
- GET_PROC(AllocateCommandBuffers);
- GET_PROC(FreeCommandBuffers);
- GET_PROC(BeginCommandBuffer);
- GET_PROC(EndCommandBuffer);
- GET_PROC(ResetCommandBuffer);
- GET_PROC(CmdBindPipeline);
- GET_PROC(CmdSetViewport);
- GET_PROC(CmdSetScissor);
- GET_PROC(CmdSetLineWidth);
- GET_PROC(CmdSetDepthBias);
- GET_PROC(CmdSetBlendConstants);
- GET_PROC(CmdSetDepthBounds);
- GET_PROC(CmdSetStencilCompareMask);
- GET_PROC(CmdSetStencilWriteMask);
- GET_PROC(CmdSetStencilReference);
- GET_PROC(CmdBindDescriptorSets);
- GET_PROC(CmdBindIndexBuffer);
- GET_PROC(CmdBindVertexBuffers);
- GET_PROC(CmdDraw);
- GET_PROC(CmdDrawIndexed);
- GET_PROC(CmdDrawIndirect);
- GET_PROC(CmdDrawIndexedIndirect);
- GET_PROC(CmdDispatch);
- GET_PROC(CmdDispatchIndirect);
- GET_PROC(CmdCopyBuffer);
- GET_PROC(CmdCopyImage);
- GET_PROC(CmdBlitImage);
- GET_PROC(CmdCopyBufferToImage);
- GET_PROC(CmdCopyImageToBuffer);
- GET_PROC(CmdUpdateBuffer);
- GET_PROC(CmdFillBuffer);
- GET_PROC(CmdClearColorImage);
- GET_PROC(CmdClearDepthStencilImage);
- GET_PROC(CmdClearAttachments);
- GET_PROC(CmdResolveImage);
- GET_PROC(CmdSetEvent);
- GET_PROC(CmdResetEvent);
- GET_PROC(CmdWaitEvents);
- GET_PROC(CmdPipelineBarrier);
- GET_PROC(CmdBeginQuery);
- GET_PROC(CmdEndQuery);
- GET_PROC(CmdResetQueryPool);
- GET_PROC(CmdWriteTimestamp);
- GET_PROC(CmdCopyQueryPoolResults);
- GET_PROC(CmdPushConstants);
- GET_PROC(CmdBeginRenderPass);
- GET_PROC(CmdNextSubpass);
- GET_PROC(CmdEndRenderPass);
- GET_PROC(CmdExecuteCommands);
+ GET_DEV_PROC(QueueBindSparse);
+ GET_DEV_PROC(CreateFence);
+ GET_DEV_PROC(DestroyFence);
+ GET_DEV_PROC(ResetFences);
+ GET_DEV_PROC(GetFenceStatus);
+ GET_DEV_PROC(WaitForFences);
+ GET_DEV_PROC(CreateSemaphore);
+ GET_DEV_PROC(DestroySemaphore);
+ GET_DEV_PROC(CreateEvent);
+ GET_DEV_PROC(DestroyEvent);
+ GET_DEV_PROC(GetEventStatus);
+ GET_DEV_PROC(SetEvent);
+ GET_DEV_PROC(ResetEvent);
+ GET_DEV_PROC(CreateQueryPool);
+ GET_DEV_PROC(DestroyQueryPool);
+ GET_DEV_PROC(GetQueryPoolResults);
+ GET_DEV_PROC(CreateBuffer);
+ GET_DEV_PROC(DestroyBuffer);
+ GET_DEV_PROC(CreateBufferView);
+ GET_DEV_PROC(DestroyBufferView);
+ GET_DEV_PROC(CreateImage);
+ GET_DEV_PROC(DestroyImage);
+ GET_DEV_PROC(GetImageSubresourceLayout);
+ GET_DEV_PROC(CreateImageView);
+ GET_DEV_PROC(DestroyImageView);
+ GET_DEV_PROC(CreateShaderModule);
+ GET_DEV_PROC(DestroyShaderModule);
+ GET_DEV_PROC(CreatePipelineCache);
+ GET_DEV_PROC(DestroyPipelineCache);
+ GET_DEV_PROC(GetPipelineCacheData);
+ GET_DEV_PROC(MergePipelineCaches);
+ GET_DEV_PROC(CreateGraphicsPipelines);
+ GET_DEV_PROC(CreateComputePipelines);
+ GET_DEV_PROC(DestroyPipeline);
+ GET_DEV_PROC(CreatePipelineLayout);
+ GET_DEV_PROC(DestroyPipelineLayout);
+ GET_DEV_PROC(CreateSampler);
+ GET_DEV_PROC(DestroySampler);
+ GET_DEV_PROC(CreateDescriptorSetLayout);
+ GET_DEV_PROC(DestroyDescriptorSetLayout);
+ GET_DEV_PROC(CreateDescriptorPool);
+ GET_DEV_PROC(DestroyDescriptorPool);
+ GET_DEV_PROC(ResetDescriptorPool);
+ GET_DEV_PROC(AllocateDescriptorSets);
+ GET_DEV_PROC(FreeDescriptorSets);
+ GET_DEV_PROC(UpdateDescriptorSets);
+ GET_DEV_PROC(CreateFramebuffer);
+ GET_DEV_PROC(DestroyFramebuffer);
+ GET_DEV_PROC(CreateRenderPass);
+ GET_DEV_PROC(DestroyRenderPass);
+ GET_DEV_PROC(GetRenderAreaGranularity);
+ GET_DEV_PROC(CreateCommandPool);
+ GET_DEV_PROC(DestroyCommandPool);
+ GET_DEV_PROC(ResetCommandPool);
+ GET_DEV_PROC(AllocateCommandBuffers);
+ GET_DEV_PROC(FreeCommandBuffers);
+ GET_DEV_PROC(BeginCommandBuffer);
+ GET_DEV_PROC(EndCommandBuffer);
+ GET_DEV_PROC(ResetCommandBuffer);
+ GET_DEV_PROC(CmdBindPipeline);
+ GET_DEV_PROC(CmdSetViewport);
+ GET_DEV_PROC(CmdSetScissor);
+ GET_DEV_PROC(CmdSetLineWidth);
+ GET_DEV_PROC(CmdSetDepthBias);
+ GET_DEV_PROC(CmdSetBlendConstants);
+ GET_DEV_PROC(CmdSetDepthBounds);
+ GET_DEV_PROC(CmdSetStencilCompareMask);
+ GET_DEV_PROC(CmdSetStencilWriteMask);
+ GET_DEV_PROC(CmdSetStencilReference);
+ GET_DEV_PROC(CmdBindDescriptorSets);
+ GET_DEV_PROC(CmdBindIndexBuffer);
+ GET_DEV_PROC(CmdBindVertexBuffers);
+ GET_DEV_PROC(CmdDraw);
+ GET_DEV_PROC(CmdDrawIndexed);
+ GET_DEV_PROC(CmdDrawIndirect);
+ GET_DEV_PROC(CmdDrawIndexedIndirect);
+ GET_DEV_PROC(CmdDispatch);
+ GET_DEV_PROC(CmdDispatchIndirect);
+ GET_DEV_PROC(CmdCopyBuffer);
+ GET_DEV_PROC(CmdCopyImage);
+ GET_DEV_PROC(CmdBlitImage);
+ GET_DEV_PROC(CmdCopyBufferToImage);
+ GET_DEV_PROC(CmdCopyImageToBuffer);
+ GET_DEV_PROC(CmdUpdateBuffer);
+ GET_DEV_PROC(CmdFillBuffer);
+ GET_DEV_PROC(CmdClearColorImage);
+ GET_DEV_PROC(CmdClearDepthStencilImage);
+ GET_DEV_PROC(CmdClearAttachments);
+ GET_DEV_PROC(CmdResolveImage);
+ GET_DEV_PROC(CmdSetEvent);
+ GET_DEV_PROC(CmdResetEvent);
+ GET_DEV_PROC(CmdWaitEvents);
+ GET_DEV_PROC(CmdPipelineBarrier);
+ GET_DEV_PROC(CmdBeginQuery);
+ GET_DEV_PROC(CmdEndQuery);
+ GET_DEV_PROC(CmdResetQueryPool);
+ GET_DEV_PROC(CmdWriteTimestamp);
+ GET_DEV_PROC(CmdCopyQueryPoolResults);
+ GET_DEV_PROC(CmdPushConstants);
+ GET_DEV_PROC(CmdBeginRenderPass);
+ GET_DEV_PROC(CmdNextSubpass);
+ GET_DEV_PROC(CmdEndRenderPass);
+ GET_DEV_PROC(CmdExecuteCommands);
// TODO: break these out with extension checks
GET_PROC(DestroySurfaceKHR);
GET_PROC(GetPhysicalDeviceSurfaceSupportKHR);
GET_PROC(GetPhysicalDeviceSurfaceCapabilitiesKHR);
GET_PROC(GetPhysicalDeviceSurfaceFormatsKHR);
GET_PROC(GetPhysicalDeviceSurfacePresentModesKHR);
- GET_PROC(CreateSwapchainKHR);
- GET_PROC(DestroySwapchainKHR);
- GET_PROC(GetSwapchainImagesKHR);
- GET_PROC(AcquireNextImageKHR);
- GET_PROC(QueuePresentKHR);
+ GET_DEV_PROC(CreateSwapchainKHR);
+ GET_DEV_PROC(DestroySwapchainKHR);
+ GET_DEV_PROC(GetSwapchainImagesKHR);
+ GET_DEV_PROC(AcquireNextImageKHR);
+ GET_DEV_PROC(QueuePresentKHR);
GET_PROC(GetPhysicalDeviceDisplayPropertiesKHR);
GET_PROC(GetPhysicalDeviceDisplayPlanePropertiesKHR);
GET_PROC(GetDisplayPlaneSupportedDisplaysKHR);
@@ -186,7 +189,7 @@ const GrVkInterface* GrVkCreateInterface(VkInstance instance) {
GET_PROC(CreateDisplayModeKHR);
GET_PROC(GetDisplayPlaneCapabilitiesKHR);
GET_PROC(CreateDisplayPlaneSurfaceKHR);
- GET_PROC(CreateSharedSwapchainsKHR);
+ GET_DEV_PROC(CreateSharedSwapchainsKHR);
if (extensions.hasInstanceExtension(VK_EXT_DEBUG_REPORT_EXTENSION_NAME)) {
GET_PROC(CreateDebugReportCallbackEXT);
« no previous file with comments | « src/gpu/vk/GrVkGpu.cpp ('k') | src/gpu/vk/GrVkUniformHandler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698