diff options
| author | 2022-12-02 17:04:28 -0500 | |
|---|---|---|
| committer | 2022-12-04 10:55:13 -0500 | |
| commit | e44a804ec75457457db1b4c439e4e5488e8e2f8e (patch) | |
| tree | a06c8730692e834bf604b41cb7197a51bf26982f /src/video_core/vulkan_common | |
| parent | vulkan_common: promote timeline semaphore usage to core (diff) | |
| download | yuzu-e44a804ec75457457db1b4c439e4e5488e8e2f8e.tar.gz yuzu-e44a804ec75457457db1b4c439e4e5488e8e2f8e.tar.xz yuzu-e44a804ec75457457db1b4c439e4e5488e8e2f8e.zip | |
vulkan_common: promote descriptor update template usage to core
Diffstat (limited to 'src/video_core/vulkan_common')
| -rw-r--r-- | src/video_core/vulkan_common/vulkan_device.cpp | 1 | ||||
| -rw-r--r-- | src/video_core/vulkan_common/vulkan_wrapper.cpp | 20 | ||||
| -rw-r--r-- | src/video_core/vulkan_common/vulkan_wrapper.h | 20 |
3 files changed, 20 insertions, 21 deletions
diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp index f4c1bd979..72968a01c 100644 --- a/src/video_core/vulkan_common/vulkan_device.cpp +++ b/src/video_core/vulkan_common/vulkan_device.cpp | |||
| @@ -80,7 +80,6 @@ constexpr std::array REQUIRED_EXTENSIONS{ | |||
| 80 | 80 | ||
| 81 | // Core in 1.2, but required due to use of extension methods, | 81 | // Core in 1.2, but required due to use of extension methods, |
| 82 | // and well-supported by drivers | 82 | // and well-supported by drivers |
| 83 | VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME, | ||
| 84 | VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, | 83 | VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, |
| 85 | #ifdef _WIN32 | 84 | #ifdef _WIN32 |
| 86 | VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME, | 85 | VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME, |
diff --git a/src/video_core/vulkan_common/vulkan_wrapper.cpp b/src/video_core/vulkan_common/vulkan_wrapper.cpp index af79ffd61..f842524c4 100644 --- a/src/video_core/vulkan_common/vulkan_wrapper.cpp +++ b/src/video_core/vulkan_common/vulkan_wrapper.cpp | |||
| @@ -130,7 +130,7 @@ void Load(VkDevice device, DeviceDispatch& dld) noexcept { | |||
| 130 | X(vkCreateComputePipelines); | 130 | X(vkCreateComputePipelines); |
| 131 | X(vkCreateDescriptorPool); | 131 | X(vkCreateDescriptorPool); |
| 132 | X(vkCreateDescriptorSetLayout); | 132 | X(vkCreateDescriptorSetLayout); |
| 133 | X(vkCreateDescriptorUpdateTemplateKHR); | 133 | X(vkCreateDescriptorUpdateTemplate); |
| 134 | X(vkCreateEvent); | 134 | X(vkCreateEvent); |
| 135 | X(vkCreateFence); | 135 | X(vkCreateFence); |
| 136 | X(vkCreateFramebuffer); | 136 | X(vkCreateFramebuffer); |
| @@ -149,7 +149,7 @@ void Load(VkDevice device, DeviceDispatch& dld) noexcept { | |||
| 149 | X(vkDestroyCommandPool); | 149 | X(vkDestroyCommandPool); |
| 150 | X(vkDestroyDescriptorPool); | 150 | X(vkDestroyDescriptorPool); |
| 151 | X(vkDestroyDescriptorSetLayout); | 151 | X(vkDestroyDescriptorSetLayout); |
| 152 | X(vkDestroyDescriptorUpdateTemplateKHR); | 152 | X(vkDestroyDescriptorUpdateTemplate); |
| 153 | X(vkDestroyEvent); | 153 | X(vkDestroyEvent); |
| 154 | X(vkDestroyFence); | 154 | X(vkDestroyFence); |
| 155 | X(vkDestroyFramebuffer); | 155 | X(vkDestroyFramebuffer); |
| @@ -188,7 +188,7 @@ void Load(VkDevice device, DeviceDispatch& dld) noexcept { | |||
| 188 | X(vkSetDebugUtilsObjectNameEXT); | 188 | X(vkSetDebugUtilsObjectNameEXT); |
| 189 | X(vkSetDebugUtilsObjectTagEXT); | 189 | X(vkSetDebugUtilsObjectTagEXT); |
| 190 | X(vkUnmapMemory); | 190 | X(vkUnmapMemory); |
| 191 | X(vkUpdateDescriptorSetWithTemplateKHR); | 191 | X(vkUpdateDescriptorSetWithTemplate); |
| 192 | X(vkUpdateDescriptorSets); | 192 | X(vkUpdateDescriptorSets); |
| 193 | X(vkWaitForFences); | 193 | X(vkWaitForFences); |
| 194 | X(vkWaitSemaphores); | 194 | X(vkWaitSemaphores); |
| @@ -366,9 +366,9 @@ void Destroy(VkDevice device, VkDescriptorSetLayout handle, const DeviceDispatch | |||
| 366 | dld.vkDestroyDescriptorSetLayout(device, handle, nullptr); | 366 | dld.vkDestroyDescriptorSetLayout(device, handle, nullptr); |
| 367 | } | 367 | } |
| 368 | 368 | ||
| 369 | void Destroy(VkDevice device, VkDescriptorUpdateTemplateKHR handle, | 369 | void Destroy(VkDevice device, VkDescriptorUpdateTemplate handle, |
| 370 | const DeviceDispatch& dld) noexcept { | 370 | const DeviceDispatch& dld) noexcept { |
| 371 | dld.vkDestroyDescriptorUpdateTemplateKHR(device, handle, nullptr); | 371 | dld.vkDestroyDescriptorUpdateTemplate(device, handle, nullptr); |
| 372 | } | 372 | } |
| 373 | 373 | ||
| 374 | void Destroy(VkDevice device, VkDeviceMemory handle, const DeviceDispatch& dld) noexcept { | 374 | void Destroy(VkDevice device, VkDeviceMemory handle, const DeviceDispatch& dld) noexcept { |
| @@ -744,11 +744,11 @@ CommandPool Device::CreateCommandPool(const VkCommandPoolCreateInfo& ci) const { | |||
| 744 | return CommandPool(object, handle, *dld); | 744 | return CommandPool(object, handle, *dld); |
| 745 | } | 745 | } |
| 746 | 746 | ||
| 747 | DescriptorUpdateTemplateKHR Device::CreateDescriptorUpdateTemplateKHR( | 747 | DescriptorUpdateTemplate Device::CreateDescriptorUpdateTemplate( |
| 748 | const VkDescriptorUpdateTemplateCreateInfoKHR& ci) const { | 748 | const VkDescriptorUpdateTemplateCreateInfo& ci) const { |
| 749 | VkDescriptorUpdateTemplateKHR object; | 749 | VkDescriptorUpdateTemplate object; |
| 750 | Check(dld->vkCreateDescriptorUpdateTemplateKHR(handle, &ci, nullptr, &object)); | 750 | Check(dld->vkCreateDescriptorUpdateTemplate(handle, &ci, nullptr, &object)); |
| 751 | return DescriptorUpdateTemplateKHR(object, handle, *dld); | 751 | return DescriptorUpdateTemplate(object, handle, *dld); |
| 752 | } | 752 | } |
| 753 | 753 | ||
| 754 | QueryPool Device::CreateQueryPool(const VkQueryPoolCreateInfo& ci) const { | 754 | QueryPool Device::CreateQueryPool(const VkQueryPoolCreateInfo& ci) const { |
diff --git a/src/video_core/vulkan_common/vulkan_wrapper.h b/src/video_core/vulkan_common/vulkan_wrapper.h index fb6c59f60..101205386 100644 --- a/src/video_core/vulkan_common/vulkan_wrapper.h +++ b/src/video_core/vulkan_common/vulkan_wrapper.h | |||
| @@ -247,7 +247,7 @@ struct DeviceDispatch : InstanceDispatch { | |||
| 247 | PFN_vkCreateComputePipelines vkCreateComputePipelines{}; | 247 | PFN_vkCreateComputePipelines vkCreateComputePipelines{}; |
| 248 | PFN_vkCreateDescriptorPool vkCreateDescriptorPool{}; | 248 | PFN_vkCreateDescriptorPool vkCreateDescriptorPool{}; |
| 249 | PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout{}; | 249 | PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout{}; |
| 250 | PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR{}; | 250 | PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate{}; |
| 251 | PFN_vkCreateEvent vkCreateEvent{}; | 251 | PFN_vkCreateEvent vkCreateEvent{}; |
| 252 | PFN_vkCreateFence vkCreateFence{}; | 252 | PFN_vkCreateFence vkCreateFence{}; |
| 253 | PFN_vkCreateFramebuffer vkCreateFramebuffer{}; | 253 | PFN_vkCreateFramebuffer vkCreateFramebuffer{}; |
| @@ -266,7 +266,7 @@ struct DeviceDispatch : InstanceDispatch { | |||
| 266 | PFN_vkDestroyCommandPool vkDestroyCommandPool{}; | 266 | PFN_vkDestroyCommandPool vkDestroyCommandPool{}; |
| 267 | PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool{}; | 267 | PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool{}; |
| 268 | PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout{}; | 268 | PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout{}; |
| 269 | PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR{}; | 269 | PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate{}; |
| 270 | PFN_vkDestroyEvent vkDestroyEvent{}; | 270 | PFN_vkDestroyEvent vkDestroyEvent{}; |
| 271 | PFN_vkDestroyFence vkDestroyFence{}; | 271 | PFN_vkDestroyFence vkDestroyFence{}; |
| 272 | PFN_vkDestroyFramebuffer vkDestroyFramebuffer{}; | 272 | PFN_vkDestroyFramebuffer vkDestroyFramebuffer{}; |
| @@ -305,7 +305,7 @@ struct DeviceDispatch : InstanceDispatch { | |||
| 305 | PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT{}; | 305 | PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT{}; |
| 306 | PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT{}; | 306 | PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT{}; |
| 307 | PFN_vkUnmapMemory vkUnmapMemory{}; | 307 | PFN_vkUnmapMemory vkUnmapMemory{}; |
| 308 | PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR{}; | 308 | PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate{}; |
| 309 | PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets{}; | 309 | PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets{}; |
| 310 | PFN_vkWaitForFences vkWaitForFences{}; | 310 | PFN_vkWaitForFences vkWaitForFences{}; |
| 311 | PFN_vkWaitSemaphores vkWaitSemaphores{}; | 311 | PFN_vkWaitSemaphores vkWaitSemaphores{}; |
| @@ -327,7 +327,7 @@ void Destroy(VkDevice, VkBufferView, const DeviceDispatch&) noexcept; | |||
| 327 | void Destroy(VkDevice, VkCommandPool, const DeviceDispatch&) noexcept; | 327 | void Destroy(VkDevice, VkCommandPool, const DeviceDispatch&) noexcept; |
| 328 | void Destroy(VkDevice, VkDescriptorPool, const DeviceDispatch&) noexcept; | 328 | void Destroy(VkDevice, VkDescriptorPool, const DeviceDispatch&) noexcept; |
| 329 | void Destroy(VkDevice, VkDescriptorSetLayout, const DeviceDispatch&) noexcept; | 329 | void Destroy(VkDevice, VkDescriptorSetLayout, const DeviceDispatch&) noexcept; |
| 330 | void Destroy(VkDevice, VkDescriptorUpdateTemplateKHR, const DeviceDispatch&) noexcept; | 330 | void Destroy(VkDevice, VkDescriptorUpdateTemplate, const DeviceDispatch&) noexcept; |
| 331 | void Destroy(VkDevice, VkDeviceMemory, const DeviceDispatch&) noexcept; | 331 | void Destroy(VkDevice, VkDeviceMemory, const DeviceDispatch&) noexcept; |
| 332 | void Destroy(VkDevice, VkEvent, const DeviceDispatch&) noexcept; | 332 | void Destroy(VkDevice, VkEvent, const DeviceDispatch&) noexcept; |
| 333 | void Destroy(VkDevice, VkFence, const DeviceDispatch&) noexcept; | 333 | void Destroy(VkDevice, VkFence, const DeviceDispatch&) noexcept; |
| @@ -559,7 +559,7 @@ private: | |||
| 559 | 559 | ||
| 560 | using DebugUtilsMessenger = Handle<VkDebugUtilsMessengerEXT, VkInstance, InstanceDispatch>; | 560 | using DebugUtilsMessenger = Handle<VkDebugUtilsMessengerEXT, VkInstance, InstanceDispatch>; |
| 561 | using DescriptorSetLayout = Handle<VkDescriptorSetLayout, VkDevice, DeviceDispatch>; | 561 | using DescriptorSetLayout = Handle<VkDescriptorSetLayout, VkDevice, DeviceDispatch>; |
| 562 | using DescriptorUpdateTemplateKHR = Handle<VkDescriptorUpdateTemplateKHR, VkDevice, DeviceDispatch>; | 562 | using DescriptorUpdateTemplate = Handle<VkDescriptorUpdateTemplate, VkDevice, DeviceDispatch>; |
| 563 | using Pipeline = Handle<VkPipeline, VkDevice, DeviceDispatch>; | 563 | using Pipeline = Handle<VkPipeline, VkDevice, DeviceDispatch>; |
| 564 | using PipelineLayout = Handle<VkPipelineLayout, VkDevice, DeviceDispatch>; | 564 | using PipelineLayout = Handle<VkPipelineLayout, VkDevice, DeviceDispatch>; |
| 565 | using QueryPool = Handle<VkQueryPool, VkDevice, DeviceDispatch>; | 565 | using QueryPool = Handle<VkQueryPool, VkDevice, DeviceDispatch>; |
| @@ -840,8 +840,8 @@ public: | |||
| 840 | 840 | ||
| 841 | CommandPool CreateCommandPool(const VkCommandPoolCreateInfo& ci) const; | 841 | CommandPool CreateCommandPool(const VkCommandPoolCreateInfo& ci) const; |
| 842 | 842 | ||
| 843 | DescriptorUpdateTemplateKHR CreateDescriptorUpdateTemplateKHR( | 843 | DescriptorUpdateTemplate CreateDescriptorUpdateTemplate( |
| 844 | const VkDescriptorUpdateTemplateCreateInfoKHR& ci) const; | 844 | const VkDescriptorUpdateTemplateCreateInfo& ci) const; |
| 845 | 845 | ||
| 846 | QueryPool CreateQueryPool(const VkQueryPoolCreateInfo& ci) const; | 846 | QueryPool CreateQueryPool(const VkQueryPoolCreateInfo& ci) const; |
| 847 | 847 | ||
| @@ -869,9 +869,9 @@ public: | |||
| 869 | void UpdateDescriptorSets(Span<VkWriteDescriptorSet> writes, | 869 | void UpdateDescriptorSets(Span<VkWriteDescriptorSet> writes, |
| 870 | Span<VkCopyDescriptorSet> copies) const noexcept; | 870 | Span<VkCopyDescriptorSet> copies) const noexcept; |
| 871 | 871 | ||
| 872 | void UpdateDescriptorSet(VkDescriptorSet set, VkDescriptorUpdateTemplateKHR update_template, | 872 | void UpdateDescriptorSet(VkDescriptorSet set, VkDescriptorUpdateTemplate update_template, |
| 873 | const void* data) const noexcept { | 873 | const void* data) const noexcept { |
| 874 | dld->vkUpdateDescriptorSetWithTemplateKHR(handle, set, update_template, data); | 874 | dld->vkUpdateDescriptorSetWithTemplate(handle, set, update_template, data); |
| 875 | } | 875 | } |
| 876 | 876 | ||
| 877 | VkResult AcquireNextImageKHR(VkSwapchainKHR swapchain, u64 timeout, VkSemaphore semaphore, | 877 | VkResult AcquireNextImageKHR(VkSwapchainKHR swapchain, u64 timeout, VkSemaphore semaphore, |
| @@ -980,7 +980,7 @@ public: | |||
| 980 | dynamic_offsets.size(), dynamic_offsets.data()); | 980 | dynamic_offsets.size(), dynamic_offsets.data()); |
| 981 | } | 981 | } |
| 982 | 982 | ||
| 983 | void PushDescriptorSetWithTemplateKHR(VkDescriptorUpdateTemplateKHR update_template, | 983 | void PushDescriptorSetWithTemplateKHR(VkDescriptorUpdateTemplate update_template, |
| 984 | VkPipelineLayout layout, u32 set, | 984 | VkPipelineLayout layout, u32 set, |
| 985 | const void* data) const noexcept { | 985 | const void* data) const noexcept { |
| 986 | dld->vkCmdPushDescriptorSetWithTemplateKHR(handle, update_template, layout, set, data); | 986 | dld->vkCmdPushDescriptorSetWithTemplateKHR(handle, update_template, layout, set, data); |