diff options
| author | 2022-12-02 17:04:28 -0500 | |
|---|---|---|
| committer | 2022-12-04 10:55:13 -0500 | |
| commit | e44a804ec75457457db1b4c439e4e5488e8e2f8e (patch) | |
| tree | a06c8730692e834bf604b41cb7197a51bf26982f /src | |
| 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')
| -rw-r--r-- | src/video_core/renderer_vulkan/pipeline_helper.h | 12 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_compute_pass.cpp | 12 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_compute_pass.h | 4 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_compute_pipeline.h | 2 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_graphics_pipeline.h | 2 | ||||
| -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 |
8 files changed, 36 insertions, 37 deletions
diff --git a/src/video_core/renderer_vulkan/pipeline_helper.h b/src/video_core/renderer_vulkan/pipeline_helper.h index b7843e995..16c57aef7 100644 --- a/src/video_core/renderer_vulkan/pipeline_helper.h +++ b/src/video_core/renderer_vulkan/pipeline_helper.h | |||
| @@ -44,17 +44,17 @@ public: | |||
| 44 | }); | 44 | }); |
| 45 | } | 45 | } |
| 46 | 46 | ||
| 47 | vk::DescriptorUpdateTemplateKHR CreateTemplate(VkDescriptorSetLayout descriptor_set_layout, | 47 | vk::DescriptorUpdateTemplate CreateTemplate(VkDescriptorSetLayout descriptor_set_layout, |
| 48 | VkPipelineLayout pipeline_layout, | 48 | VkPipelineLayout pipeline_layout, |
| 49 | bool use_push_descriptor) const { | 49 | bool use_push_descriptor) const { |
| 50 | if (entries.empty()) { | 50 | if (entries.empty()) { |
| 51 | return nullptr; | 51 | return nullptr; |
| 52 | } | 52 | } |
| 53 | const VkDescriptorUpdateTemplateType type = | 53 | const VkDescriptorUpdateTemplateType type = |
| 54 | use_push_descriptor ? VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR | 54 | use_push_descriptor ? VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR |
| 55 | : VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR; | 55 | : VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET; |
| 56 | return device->GetLogical().CreateDescriptorUpdateTemplateKHR({ | 56 | return device->GetLogical().CreateDescriptorUpdateTemplate({ |
| 57 | .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR, | 57 | .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO, |
| 58 | .pNext = nullptr, | 58 | .pNext = nullptr, |
| 59 | .flags = 0, | 59 | .flags = 0, |
| 60 | .descriptorUpdateEntryCount = static_cast<u32>(entries.size()), | 60 | .descriptorUpdateEntryCount = static_cast<u32>(entries.size()), |
diff --git a/src/video_core/renderer_vulkan/vk_compute_pass.cpp b/src/video_core/renderer_vulkan/vk_compute_pass.cpp index 241d7573e..2c00979d7 100644 --- a/src/video_core/renderer_vulkan/vk_compute_pass.cpp +++ b/src/video_core/renderer_vulkan/vk_compute_pass.cpp | |||
| @@ -93,7 +93,7 @@ constexpr DescriptorBankInfo ASTC_BANK_INFO{ | |||
| 93 | .score = 2, | 93 | .score = 2, |
| 94 | }; | 94 | }; |
| 95 | 95 | ||
| 96 | constexpr VkDescriptorUpdateTemplateEntryKHR INPUT_OUTPUT_DESCRIPTOR_UPDATE_TEMPLATE{ | 96 | constexpr VkDescriptorUpdateTemplateEntry INPUT_OUTPUT_DESCRIPTOR_UPDATE_TEMPLATE{ |
| 97 | .dstBinding = 0, | 97 | .dstBinding = 0, |
| 98 | .dstArrayElement = 0, | 98 | .dstArrayElement = 0, |
| 99 | .descriptorCount = 2, | 99 | .descriptorCount = 2, |
| @@ -102,7 +102,7 @@ constexpr VkDescriptorUpdateTemplateEntryKHR INPUT_OUTPUT_DESCRIPTOR_UPDATE_TEMP | |||
| 102 | .stride = sizeof(DescriptorUpdateEntry), | 102 | .stride = sizeof(DescriptorUpdateEntry), |
| 103 | }; | 103 | }; |
| 104 | 104 | ||
| 105 | constexpr std::array<VkDescriptorUpdateTemplateEntryKHR, ASTC_NUM_BINDINGS> | 105 | constexpr std::array<VkDescriptorUpdateTemplateEntry, ASTC_NUM_BINDINGS> |
| 106 | ASTC_PASS_DESCRIPTOR_UPDATE_TEMPLATE_ENTRY{{ | 106 | ASTC_PASS_DESCRIPTOR_UPDATE_TEMPLATE_ENTRY{{ |
| 107 | { | 107 | { |
| 108 | .dstBinding = ASTC_BINDING_INPUT_BUFFER, | 108 | .dstBinding = ASTC_BINDING_INPUT_BUFFER, |
| @@ -134,7 +134,7 @@ struct AstcPushConstants { | |||
| 134 | 134 | ||
| 135 | ComputePass::ComputePass(const Device& device_, DescriptorPool& descriptor_pool, | 135 | ComputePass::ComputePass(const Device& device_, DescriptorPool& descriptor_pool, |
| 136 | vk::Span<VkDescriptorSetLayoutBinding> bindings, | 136 | vk::Span<VkDescriptorSetLayoutBinding> bindings, |
| 137 | vk::Span<VkDescriptorUpdateTemplateEntryKHR> templates, | 137 | vk::Span<VkDescriptorUpdateTemplateEntry> templates, |
| 138 | const DescriptorBankInfo& bank_info, | 138 | const DescriptorBankInfo& bank_info, |
| 139 | vk::Span<VkPushConstantRange> push_constants, std::span<const u32> code) | 139 | vk::Span<VkPushConstantRange> push_constants, std::span<const u32> code) |
| 140 | : device{device_} { | 140 | : device{device_} { |
| @@ -155,13 +155,13 @@ ComputePass::ComputePass(const Device& device_, DescriptorPool& descriptor_pool, | |||
| 155 | .pPushConstantRanges = push_constants.data(), | 155 | .pPushConstantRanges = push_constants.data(), |
| 156 | }); | 156 | }); |
| 157 | if (!templates.empty()) { | 157 | if (!templates.empty()) { |
| 158 | descriptor_template = device.GetLogical().CreateDescriptorUpdateTemplateKHR({ | 158 | descriptor_template = device.GetLogical().CreateDescriptorUpdateTemplate({ |
| 159 | .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR, | 159 | .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO, |
| 160 | .pNext = nullptr, | 160 | .pNext = nullptr, |
| 161 | .flags = 0, | 161 | .flags = 0, |
| 162 | .descriptorUpdateEntryCount = templates.size(), | 162 | .descriptorUpdateEntryCount = templates.size(), |
| 163 | .pDescriptorUpdateEntries = templates.data(), | 163 | .pDescriptorUpdateEntries = templates.data(), |
| 164 | .templateType = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR, | 164 | .templateType = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET, |
| 165 | .descriptorSetLayout = *descriptor_set_layout, | 165 | .descriptorSetLayout = *descriptor_set_layout, |
| 166 | .pipelineBindPoint = VK_PIPELINE_BIND_POINT_GRAPHICS, | 166 | .pipelineBindPoint = VK_PIPELINE_BIND_POINT_GRAPHICS, |
| 167 | .pipelineLayout = *layout, | 167 | .pipelineLayout = *layout, |
diff --git a/src/video_core/renderer_vulkan/vk_compute_pass.h b/src/video_core/renderer_vulkan/vk_compute_pass.h index dcc691a8e..5d32e3caf 100644 --- a/src/video_core/renderer_vulkan/vk_compute_pass.h +++ b/src/video_core/renderer_vulkan/vk_compute_pass.h | |||
| @@ -29,14 +29,14 @@ class ComputePass { | |||
| 29 | public: | 29 | public: |
| 30 | explicit ComputePass(const Device& device, DescriptorPool& descriptor_pool, | 30 | explicit ComputePass(const Device& device, DescriptorPool& descriptor_pool, |
| 31 | vk::Span<VkDescriptorSetLayoutBinding> bindings, | 31 | vk::Span<VkDescriptorSetLayoutBinding> bindings, |
| 32 | vk::Span<VkDescriptorUpdateTemplateEntryKHR> templates, | 32 | vk::Span<VkDescriptorUpdateTemplateEntry> templates, |
| 33 | const DescriptorBankInfo& bank_info, | 33 | const DescriptorBankInfo& bank_info, |
| 34 | vk::Span<VkPushConstantRange> push_constants, std::span<const u32> code); | 34 | vk::Span<VkPushConstantRange> push_constants, std::span<const u32> code); |
| 35 | ~ComputePass(); | 35 | ~ComputePass(); |
| 36 | 36 | ||
| 37 | protected: | 37 | protected: |
| 38 | const Device& device; | 38 | const Device& device; |
| 39 | vk::DescriptorUpdateTemplateKHR descriptor_template; | 39 | vk::DescriptorUpdateTemplate descriptor_template; |
| 40 | vk::PipelineLayout layout; | 40 | vk::PipelineLayout layout; |
| 41 | vk::Pipeline pipeline; | 41 | vk::Pipeline pipeline; |
| 42 | vk::DescriptorSetLayout descriptor_set_layout; | 42 | vk::DescriptorSetLayout descriptor_set_layout; |
diff --git a/src/video_core/renderer_vulkan/vk_compute_pipeline.h b/src/video_core/renderer_vulkan/vk_compute_pipeline.h index 9879735fe..d70837fc5 100644 --- a/src/video_core/renderer_vulkan/vk_compute_pipeline.h +++ b/src/video_core/renderer_vulkan/vk_compute_pipeline.h | |||
| @@ -55,7 +55,7 @@ private: | |||
| 55 | vk::DescriptorSetLayout descriptor_set_layout; | 55 | vk::DescriptorSetLayout descriptor_set_layout; |
| 56 | DescriptorAllocator descriptor_allocator; | 56 | DescriptorAllocator descriptor_allocator; |
| 57 | vk::PipelineLayout pipeline_layout; | 57 | vk::PipelineLayout pipeline_layout; |
| 58 | vk::DescriptorUpdateTemplateKHR descriptor_update_template; | 58 | vk::DescriptorUpdateTemplate descriptor_update_template; |
| 59 | vk::Pipeline pipeline; | 59 | vk::Pipeline pipeline; |
| 60 | 60 | ||
| 61 | std::condition_variable build_condvar; | 61 | std::condition_variable build_condvar; |
diff --git a/src/video_core/renderer_vulkan/vk_graphics_pipeline.h b/src/video_core/renderer_vulkan/vk_graphics_pipeline.h index 6bf577d25..1ed2967be 100644 --- a/src/video_core/renderer_vulkan/vk_graphics_pipeline.h +++ b/src/video_core/renderer_vulkan/vk_graphics_pipeline.h | |||
| @@ -151,7 +151,7 @@ private: | |||
| 151 | vk::DescriptorSetLayout descriptor_set_layout; | 151 | vk::DescriptorSetLayout descriptor_set_layout; |
| 152 | DescriptorAllocator descriptor_allocator; | 152 | DescriptorAllocator descriptor_allocator; |
| 153 | vk::PipelineLayout pipeline_layout; | 153 | vk::PipelineLayout pipeline_layout; |
| 154 | vk::DescriptorUpdateTemplateKHR descriptor_update_template; | 154 | vk::DescriptorUpdateTemplate descriptor_update_template; |
| 155 | vk::Pipeline pipeline; | 155 | vk::Pipeline pipeline; |
| 156 | 156 | ||
| 157 | std::condition_variable build_condvar; | 157 | std::condition_variable build_condvar; |
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); |