summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/video_core/vulkan_common/vulkan_device.cpp7
-rw-r--r--src/video_core/vulkan_common/vulkan_wrapper.h284
2 files changed, 146 insertions, 145 deletions
diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp
index b51d6ec3c..37d7b45a3 100644
--- a/src/video_core/vulkan_common/vulkan_device.cpp
+++ b/src/video_core/vulkan_common/vulkan_device.cpp
@@ -99,8 +99,7 @@ VkFormatFeatureFlags GetFormatFeatures(VkFormatProperties properties, FormatType
99 }); 99 });
100} 100}
101 101
102std::unordered_map<VkFormat, VkFormatProperties> GetFormatProperties( 102std::unordered_map<VkFormat, VkFormatProperties> GetFormatProperties(vk::PhysicalDevice physical) {
103 vk::PhysicalDevice physical, const vk::InstanceDispatch& dld) {
104 static constexpr std::array formats{ 103 static constexpr std::array formats{
105 VK_FORMAT_A8B8G8R8_UNORM_PACK32, 104 VK_FORMAT_A8B8G8R8_UNORM_PACK32,
106 VK_FORMAT_A8B8G8R8_UINT_PACK32, 105 VK_FORMAT_A8B8G8R8_UINT_PACK32,
@@ -210,7 +209,7 @@ std::unordered_map<VkFormat, VkFormatProperties> GetFormatProperties(
210Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR surface, 209Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR surface,
211 const vk::InstanceDispatch& dld_) 210 const vk::InstanceDispatch& dld_)
212 : instance{instance_}, dld{dld_}, physical{physical_}, properties{physical.GetProperties()}, 211 : instance{instance_}, dld{dld_}, physical{physical_}, properties{physical.GetProperties()},
213 format_properties{GetFormatProperties(physical, dld)} { 212 format_properties{GetFormatProperties(physical)} {
214 CheckSuitability(); 213 CheckSuitability();
215 SetupFamilies(surface); 214 SetupFamilies(surface);
216 SetupFeatures(); 215 SetupFeatures();
@@ -221,6 +220,7 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
221 VkPhysicalDeviceFeatures2 features2{ 220 VkPhysicalDeviceFeatures2 features2{
222 .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2, 221 .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
223 .pNext = nullptr, 222 .pNext = nullptr,
223 .features{},
224 }; 224 };
225 const void* first_next = &features2; 225 const void* first_next = &features2;
226 void** next = &features2.pNext; 226 void** next = &features2.pNext;
@@ -310,6 +310,7 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
310 310
311 VkPhysicalDeviceHostQueryResetFeaturesEXT host_query_reset{ 311 VkPhysicalDeviceHostQueryResetFeaturesEXT host_query_reset{
312 .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT, 312 .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT,
313 .pNext = nullptr,
313 .hostQueryReset = true, 314 .hostQueryReset = true,
314 }; 315 };
315 SetNext(next, host_query_reset); 316 SetNext(next, host_query_reset);
diff --git a/src/video_core/vulkan_common/vulkan_wrapper.h b/src/video_core/vulkan_common/vulkan_wrapper.h
index 912cab46c..9689de0cb 100644
--- a/src/video_core/vulkan_common/vulkan_wrapper.h
+++ b/src/video_core/vulkan_common/vulkan_wrapper.h
@@ -144,152 +144,152 @@ inline VkResult Filter(VkResult result) {
144 144
145/// Table holding Vulkan instance function pointers. 145/// Table holding Vulkan instance function pointers.
146struct InstanceDispatch { 146struct InstanceDispatch {
147 PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr; 147 PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr{};
148 148
149 PFN_vkCreateInstance vkCreateInstance; 149 PFN_vkCreateInstance vkCreateInstance{};
150 PFN_vkDestroyInstance vkDestroyInstance; 150 PFN_vkDestroyInstance vkDestroyInstance{};
151 PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties; 151 PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties{};
152 PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties; 152 PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties{};
153 153
154 PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT; 154 PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT{};
155 PFN_vkCreateDevice vkCreateDevice; 155 PFN_vkCreateDevice vkCreateDevice{};
156 PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT; 156 PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT{};
157 PFN_vkDestroyDevice vkDestroyDevice; 157 PFN_vkDestroyDevice vkDestroyDevice{};
158 PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR; 158 PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR{};
159 PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties; 159 PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties{};
160 PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices; 160 PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices{};
161 PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr; 161 PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr{};
162 PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR; 162 PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR{};
163 PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties; 163 PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties{};
164 PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties; 164 PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties{};
165 PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties; 165 PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties{};
166 PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR; 166 PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR{};
167 PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties; 167 PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties{};
168 PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR; 168 PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR{};
169 PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR; 169 PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR{};
170 PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR; 170 PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR{};
171 PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR; 171 PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR{};
172 PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR; 172 PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR{};
173 PFN_vkQueuePresentKHR vkQueuePresentKHR; 173 PFN_vkQueuePresentKHR vkQueuePresentKHR{};
174}; 174};
175 175
176/// Table holding Vulkan device function pointers. 176/// Table holding Vulkan device function pointers.
177struct DeviceDispatch : public InstanceDispatch { 177struct DeviceDispatch : public InstanceDispatch {
178 PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR; 178 PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR{};
179 PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers; 179 PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers{};
180 PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets; 180 PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets{};
181 PFN_vkAllocateMemory vkAllocateMemory; 181 PFN_vkAllocateMemory vkAllocateMemory{};
182 PFN_vkBeginCommandBuffer vkBeginCommandBuffer; 182 PFN_vkBeginCommandBuffer vkBeginCommandBuffer{};
183 PFN_vkBindBufferMemory vkBindBufferMemory; 183 PFN_vkBindBufferMemory vkBindBufferMemory{};
184 PFN_vkBindImageMemory vkBindImageMemory; 184 PFN_vkBindImageMemory vkBindImageMemory{};
185 PFN_vkCmdBeginQuery vkCmdBeginQuery; 185 PFN_vkCmdBeginQuery vkCmdBeginQuery{};
186 PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass; 186 PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass{};
187 PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT; 187 PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT{};
188 PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT; 188 PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT{};
189 PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets; 189 PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets{};
190 PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer; 190 PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer{};
191 PFN_vkCmdBindPipeline vkCmdBindPipeline; 191 PFN_vkCmdBindPipeline vkCmdBindPipeline{};
192 PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT; 192 PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT{};
193 PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers; 193 PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers{};
194 PFN_vkCmdBlitImage vkCmdBlitImage; 194 PFN_vkCmdBlitImage vkCmdBlitImage{};
195 PFN_vkCmdClearAttachments vkCmdClearAttachments; 195 PFN_vkCmdClearAttachments vkCmdClearAttachments{};
196 PFN_vkCmdCopyBuffer vkCmdCopyBuffer; 196 PFN_vkCmdCopyBuffer vkCmdCopyBuffer{};
197 PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage; 197 PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage{};
198 PFN_vkCmdCopyImage vkCmdCopyImage; 198 PFN_vkCmdCopyImage vkCmdCopyImage{};
199 PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer; 199 PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer{};
200 PFN_vkCmdDispatch vkCmdDispatch; 200 PFN_vkCmdDispatch vkCmdDispatch{};
201 PFN_vkCmdDraw vkCmdDraw; 201 PFN_vkCmdDraw vkCmdDraw{};
202 PFN_vkCmdDrawIndexed vkCmdDrawIndexed; 202 PFN_vkCmdDrawIndexed vkCmdDrawIndexed{};
203 PFN_vkCmdEndQuery vkCmdEndQuery; 203 PFN_vkCmdEndQuery vkCmdEndQuery{};
204 PFN_vkCmdEndRenderPass vkCmdEndRenderPass; 204 PFN_vkCmdEndRenderPass vkCmdEndRenderPass{};
205 PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT; 205 PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT{};
206 PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT; 206 PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT{};
207 PFN_vkCmdFillBuffer vkCmdFillBuffer; 207 PFN_vkCmdFillBuffer vkCmdFillBuffer{};
208 PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier; 208 PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier{};
209 PFN_vkCmdPushConstants vkCmdPushConstants; 209 PFN_vkCmdPushConstants vkCmdPushConstants{};
210 PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants; 210 PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants{};
211 PFN_vkCmdSetDepthBias vkCmdSetDepthBias; 211 PFN_vkCmdSetDepthBias vkCmdSetDepthBias{};
212 PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds; 212 PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds{};
213 PFN_vkCmdSetEvent vkCmdSetEvent; 213 PFN_vkCmdSetEvent vkCmdSetEvent{};
214 PFN_vkCmdSetScissor vkCmdSetScissor; 214 PFN_vkCmdSetScissor vkCmdSetScissor{};
215 PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask; 215 PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask{};
216 PFN_vkCmdSetStencilReference vkCmdSetStencilReference; 216 PFN_vkCmdSetStencilReference vkCmdSetStencilReference{};
217 PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask; 217 PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask{};
218 PFN_vkCmdSetViewport vkCmdSetViewport; 218 PFN_vkCmdSetViewport vkCmdSetViewport{};
219 PFN_vkCmdWaitEvents vkCmdWaitEvents; 219 PFN_vkCmdWaitEvents vkCmdWaitEvents{};
220 PFN_vkCmdBindVertexBuffers2EXT vkCmdBindVertexBuffers2EXT; 220 PFN_vkCmdBindVertexBuffers2EXT vkCmdBindVertexBuffers2EXT{};
221 PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT; 221 PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT{};
222 PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT; 222 PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT{};
223 PFN_vkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXT; 223 PFN_vkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXT{};
224 PFN_vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT; 224 PFN_vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT{};
225 PFN_vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT; 225 PFN_vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT{};
226 PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT; 226 PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT{};
227 PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT; 227 PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT{};
228 PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT; 228 PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT{};
229 PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT; 229 PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT{};
230 PFN_vkCmdResolveImage vkCmdResolveImage; 230 PFN_vkCmdResolveImage vkCmdResolveImage{};
231 PFN_vkCreateBuffer vkCreateBuffer; 231 PFN_vkCreateBuffer vkCreateBuffer{};
232 PFN_vkCreateBufferView vkCreateBufferView; 232 PFN_vkCreateBufferView vkCreateBufferView{};
233 PFN_vkCreateCommandPool vkCreateCommandPool; 233 PFN_vkCreateCommandPool vkCreateCommandPool{};
234 PFN_vkCreateComputePipelines vkCreateComputePipelines; 234 PFN_vkCreateComputePipelines vkCreateComputePipelines{};
235 PFN_vkCreateDescriptorPool vkCreateDescriptorPool; 235 PFN_vkCreateDescriptorPool vkCreateDescriptorPool{};
236 PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout; 236 PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout{};
237 PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR; 237 PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR{};
238 PFN_vkCreateEvent vkCreateEvent; 238 PFN_vkCreateEvent vkCreateEvent{};
239 PFN_vkCreateFence vkCreateFence; 239 PFN_vkCreateFence vkCreateFence{};
240 PFN_vkCreateFramebuffer vkCreateFramebuffer; 240 PFN_vkCreateFramebuffer vkCreateFramebuffer{};
241 PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines; 241 PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines{};
242 PFN_vkCreateImage vkCreateImage; 242 PFN_vkCreateImage vkCreateImage{};
243 PFN_vkCreateImageView vkCreateImageView; 243 PFN_vkCreateImageView vkCreateImageView{};
244 PFN_vkCreatePipelineLayout vkCreatePipelineLayout; 244 PFN_vkCreatePipelineLayout vkCreatePipelineLayout{};
245 PFN_vkCreateQueryPool vkCreateQueryPool; 245 PFN_vkCreateQueryPool vkCreateQueryPool{};
246 PFN_vkCreateRenderPass vkCreateRenderPass; 246 PFN_vkCreateRenderPass vkCreateRenderPass{};
247 PFN_vkCreateSampler vkCreateSampler; 247 PFN_vkCreateSampler vkCreateSampler{};
248 PFN_vkCreateSemaphore vkCreateSemaphore; 248 PFN_vkCreateSemaphore vkCreateSemaphore{};
249 PFN_vkCreateShaderModule vkCreateShaderModule; 249 PFN_vkCreateShaderModule vkCreateShaderModule{};
250 PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR; 250 PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR{};
251 PFN_vkDestroyBuffer vkDestroyBuffer; 251 PFN_vkDestroyBuffer vkDestroyBuffer{};
252 PFN_vkDestroyBufferView vkDestroyBufferView; 252 PFN_vkDestroyBufferView vkDestroyBufferView{};
253 PFN_vkDestroyCommandPool vkDestroyCommandPool; 253 PFN_vkDestroyCommandPool vkDestroyCommandPool{};
254 PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool; 254 PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool{};
255 PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout; 255 PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout{};
256 PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR; 256 PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR{};
257 PFN_vkDestroyEvent vkDestroyEvent; 257 PFN_vkDestroyEvent vkDestroyEvent{};
258 PFN_vkDestroyFence vkDestroyFence; 258 PFN_vkDestroyFence vkDestroyFence{};
259 PFN_vkDestroyFramebuffer vkDestroyFramebuffer; 259 PFN_vkDestroyFramebuffer vkDestroyFramebuffer{};
260 PFN_vkDestroyImage vkDestroyImage; 260 PFN_vkDestroyImage vkDestroyImage{};
261 PFN_vkDestroyImageView vkDestroyImageView; 261 PFN_vkDestroyImageView vkDestroyImageView{};
262 PFN_vkDestroyPipeline vkDestroyPipeline; 262 PFN_vkDestroyPipeline vkDestroyPipeline{};
263 PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout; 263 PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout{};
264 PFN_vkDestroyQueryPool vkDestroyQueryPool; 264 PFN_vkDestroyQueryPool vkDestroyQueryPool{};
265 PFN_vkDestroyRenderPass vkDestroyRenderPass; 265 PFN_vkDestroyRenderPass vkDestroyRenderPass{};
266 PFN_vkDestroySampler vkDestroySampler; 266 PFN_vkDestroySampler vkDestroySampler{};
267 PFN_vkDestroySemaphore vkDestroySemaphore; 267 PFN_vkDestroySemaphore vkDestroySemaphore{};
268 PFN_vkDestroyShaderModule vkDestroyShaderModule; 268 PFN_vkDestroyShaderModule vkDestroyShaderModule{};
269 PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR; 269 PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR{};
270 PFN_vkDeviceWaitIdle vkDeviceWaitIdle; 270 PFN_vkDeviceWaitIdle vkDeviceWaitIdle{};
271 PFN_vkEndCommandBuffer vkEndCommandBuffer; 271 PFN_vkEndCommandBuffer vkEndCommandBuffer{};
272 PFN_vkFreeCommandBuffers vkFreeCommandBuffers; 272 PFN_vkFreeCommandBuffers vkFreeCommandBuffers{};
273 PFN_vkFreeDescriptorSets vkFreeDescriptorSets; 273 PFN_vkFreeDescriptorSets vkFreeDescriptorSets{};
274 PFN_vkFreeMemory vkFreeMemory; 274 PFN_vkFreeMemory vkFreeMemory{};
275 PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements; 275 PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements{};
276 PFN_vkGetDeviceQueue vkGetDeviceQueue; 276 PFN_vkGetDeviceQueue vkGetDeviceQueue{};
277 PFN_vkGetEventStatus vkGetEventStatus; 277 PFN_vkGetEventStatus vkGetEventStatus{};
278 PFN_vkGetFenceStatus vkGetFenceStatus; 278 PFN_vkGetFenceStatus vkGetFenceStatus{};
279 PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements; 279 PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements{};
280 PFN_vkGetQueryPoolResults vkGetQueryPoolResults; 280 PFN_vkGetQueryPoolResults vkGetQueryPoolResults{};
281 PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR; 281 PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR{};
282 PFN_vkMapMemory vkMapMemory; 282 PFN_vkMapMemory vkMapMemory{};
283 PFN_vkQueueSubmit vkQueueSubmit; 283 PFN_vkQueueSubmit vkQueueSubmit{};
284 PFN_vkResetFences vkResetFences; 284 PFN_vkResetFences vkResetFences{};
285 PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT; 285 PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT{};
286 PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT; 286 PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT{};
287 PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT; 287 PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT{};
288 PFN_vkUnmapMemory vkUnmapMemory; 288 PFN_vkUnmapMemory vkUnmapMemory{};
289 PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR; 289 PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR{};
290 PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets; 290 PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets{};
291 PFN_vkWaitForFences vkWaitForFences; 291 PFN_vkWaitForFences vkWaitForFences{};
292 PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR; 292 PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR{};
293}; 293};
294 294
295/// Loads instance agnostic function pointers. 295/// Loads instance agnostic function pointers.