summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Liam2022-12-02 17:04:28 -0500
committerGravatar Liam2022-12-04 10:55:13 -0500
commite44a804ec75457457db1b4c439e4e5488e8e2f8e (patch)
treea06c8730692e834bf604b41cb7197a51bf26982f /src
parentvulkan_common: promote timeline semaphore usage to core (diff)
downloadyuzu-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.h12
-rw-r--r--src/video_core/renderer_vulkan/vk_compute_pass.cpp12
-rw-r--r--src/video_core/renderer_vulkan/vk_compute_pass.h4
-rw-r--r--src/video_core/renderer_vulkan/vk_compute_pipeline.h2
-rw-r--r--src/video_core/renderer_vulkan/vk_graphics_pipeline.h2
-rw-r--r--src/video_core/vulkan_common/vulkan_device.cpp1
-rw-r--r--src/video_core/vulkan_common/vulkan_wrapper.cpp20
-rw-r--r--src/video_core/vulkan_common/vulkan_wrapper.h20
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
96constexpr VkDescriptorUpdateTemplateEntryKHR INPUT_OUTPUT_DESCRIPTOR_UPDATE_TEMPLATE{ 96constexpr 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
105constexpr std::array<VkDescriptorUpdateTemplateEntryKHR, ASTC_NUM_BINDINGS> 105constexpr 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
135ComputePass::ComputePass(const Device& device_, DescriptorPool& descriptor_pool, 135ComputePass::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 {
29public: 29public:
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
37protected: 37protected:
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
369void Destroy(VkDevice device, VkDescriptorUpdateTemplateKHR handle, 369void 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
374void Destroy(VkDevice device, VkDeviceMemory handle, const DeviceDispatch& dld) noexcept { 374void 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
747DescriptorUpdateTemplateKHR Device::CreateDescriptorUpdateTemplateKHR( 747DescriptorUpdateTemplate 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
754QueryPool Device::CreateQueryPool(const VkQueryPoolCreateInfo& ci) const { 754QueryPool 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;
327void Destroy(VkDevice, VkCommandPool, const DeviceDispatch&) noexcept; 327void Destroy(VkDevice, VkCommandPool, const DeviceDispatch&) noexcept;
328void Destroy(VkDevice, VkDescriptorPool, const DeviceDispatch&) noexcept; 328void Destroy(VkDevice, VkDescriptorPool, const DeviceDispatch&) noexcept;
329void Destroy(VkDevice, VkDescriptorSetLayout, const DeviceDispatch&) noexcept; 329void Destroy(VkDevice, VkDescriptorSetLayout, const DeviceDispatch&) noexcept;
330void Destroy(VkDevice, VkDescriptorUpdateTemplateKHR, const DeviceDispatch&) noexcept; 330void Destroy(VkDevice, VkDescriptorUpdateTemplate, const DeviceDispatch&) noexcept;
331void Destroy(VkDevice, VkDeviceMemory, const DeviceDispatch&) noexcept; 331void Destroy(VkDevice, VkDeviceMemory, const DeviceDispatch&) noexcept;
332void Destroy(VkDevice, VkEvent, const DeviceDispatch&) noexcept; 332void Destroy(VkDevice, VkEvent, const DeviceDispatch&) noexcept;
333void Destroy(VkDevice, VkFence, const DeviceDispatch&) noexcept; 333void Destroy(VkDevice, VkFence, const DeviceDispatch&) noexcept;
@@ -559,7 +559,7 @@ private:
559 559
560using DebugUtilsMessenger = Handle<VkDebugUtilsMessengerEXT, VkInstance, InstanceDispatch>; 560using DebugUtilsMessenger = Handle<VkDebugUtilsMessengerEXT, VkInstance, InstanceDispatch>;
561using DescriptorSetLayout = Handle<VkDescriptorSetLayout, VkDevice, DeviceDispatch>; 561using DescriptorSetLayout = Handle<VkDescriptorSetLayout, VkDevice, DeviceDispatch>;
562using DescriptorUpdateTemplateKHR = Handle<VkDescriptorUpdateTemplateKHR, VkDevice, DeviceDispatch>; 562using DescriptorUpdateTemplate = Handle<VkDescriptorUpdateTemplate, VkDevice, DeviceDispatch>;
563using Pipeline = Handle<VkPipeline, VkDevice, DeviceDispatch>; 563using Pipeline = Handle<VkPipeline, VkDevice, DeviceDispatch>;
564using PipelineLayout = Handle<VkPipelineLayout, VkDevice, DeviceDispatch>; 564using PipelineLayout = Handle<VkPipelineLayout, VkDevice, DeviceDispatch>;
565using QueryPool = Handle<VkQueryPool, VkDevice, DeviceDispatch>; 565using 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);