summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/CMakeLists.txt1
-rw-r--r--src/core/CMakeLists.txt2
-rw-r--r--src/video_core/CMakeLists.txt2
-rw-r--r--src/video_core/renderer_vulkan/vk_buffer_cache.cpp4
-rw-r--r--src/video_core/vulkan_common/vulkan_device.cpp10
-rw-r--r--src/video_core/vulkan_common/vulkan_device.h35
-rw-r--r--src/video_core/vulkan_common/vulkan_wrapper.h284
7 files changed, 167 insertions, 171 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 4852d94ac..478246b6f 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -69,6 +69,7 @@ else()
69 -Werror=reorder 69 -Werror=reorder
70 -Werror=switch 70 -Werror=switch
71 -Werror=uninitialized 71 -Werror=uninitialized
72 -Werror=unused-function
72 -Werror=unused-result 73 -Werror=unused-result
73 -Werror=unused-variable 74 -Werror=unused-variable
74 -Wextra 75 -Wextra
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 1b8ad476e..99310dc50 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -643,9 +643,7 @@ else()
643 -Werror=conversion 643 -Werror=conversion
644 -Werror=ignored-qualifiers 644 -Werror=ignored-qualifiers
645 -Werror=implicit-fallthrough 645 -Werror=implicit-fallthrough
646 -Werror=reorder
647 -Werror=sign-compare 646 -Werror=sign-compare
648 -Werror=unused-variable
649 647
650 $<$<CXX_COMPILER_ID:GNU>:-Werror=unused-but-set-parameter> 648 $<$<CXX_COMPILER_ID:GNU>:-Werror=unused-but-set-parameter>
651 $<$<CXX_COMPILER_ID:GNU>:-Werror=unused-but-set-variable> 649 $<$<CXX_COMPILER_ID:GNU>:-Werror=unused-but-set-variable>
diff --git a/src/video_core/CMakeLists.txt b/src/video_core/CMakeLists.txt
index f7b9d7f86..25a4b1c5b 100644
--- a/src/video_core/CMakeLists.txt
+++ b/src/video_core/CMakeLists.txt
@@ -312,9 +312,7 @@ else()
312 -Werror=pessimizing-move 312 -Werror=pessimizing-move
313 -Werror=redundant-move 313 -Werror=redundant-move
314 -Werror=shadow 314 -Werror=shadow
315 -Werror=switch
316 -Werror=type-limits 315 -Werror=type-limits
317 -Werror=unused-variable
318 316
319 $<$<CXX_COMPILER_ID:GNU>:-Werror=class-memaccess> 317 $<$<CXX_COMPILER_ID:GNU>:-Werror=class-memaccess>
320 $<$<CXX_COMPILER_ID:GNU>:-Werror=unused-but-set-parameter> 318 $<$<CXX_COMPILER_ID:GNU>:-Werror=unused-but-set-parameter>
diff --git a/src/video_core/renderer_vulkan/vk_buffer_cache.cpp b/src/video_core/renderer_vulkan/vk_buffer_cache.cpp
index 4d517c547..58c710344 100644
--- a/src/video_core/renderer_vulkan/vk_buffer_cache.cpp
+++ b/src/video_core/renderer_vulkan/vk_buffer_cache.cpp
@@ -34,10 +34,6 @@ constexpr VkAccessFlags UPLOAD_ACCESS_BARRIERS =
34constexpr VkAccessFlags TRANSFORM_FEEDBACK_WRITE_ACCESS = 34constexpr VkAccessFlags TRANSFORM_FEEDBACK_WRITE_ACCESS =
35 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT | VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT; 35 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT | VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT;
36 36
37std::unique_ptr<VKStreamBuffer> CreateStreamBuffer(const Device& device, VKScheduler& scheduler) {
38 return std::make_unique<VKStreamBuffer>(device, scheduler);
39}
40
41} // Anonymous namespace 37} // Anonymous namespace
42 38
43Buffer::Buffer(const Device& device_, VKMemoryManager& memory_manager, VKScheduler& scheduler_, 39Buffer::Buffer(const Device& device_, VKMemoryManager& memory_manager, VKScheduler& scheduler_,
diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp
index d6f603b99..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;
@@ -256,7 +256,7 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
256 .shaderTessellationAndGeometryPointSize = false, 256 .shaderTessellationAndGeometryPointSize = false,
257 .shaderImageGatherExtended = true, 257 .shaderImageGatherExtended = true,
258 .shaderStorageImageExtendedFormats = false, 258 .shaderStorageImageExtendedFormats = false,
259 .shaderStorageImageMultisample = true, 259 .shaderStorageImageMultisample = is_shader_storage_image_multisample,
260 .shaderStorageImageReadWithoutFormat = is_formatless_image_load_supported, 260 .shaderStorageImageReadWithoutFormat = is_formatless_image_load_supported,
261 .shaderStorageImageWriteWithoutFormat = true, 261 .shaderStorageImageWriteWithoutFormat = true,
262 .shaderUniformBufferArrayDynamicIndexing = false, 262 .shaderUniformBufferArrayDynamicIndexing = false,
@@ -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);
@@ -803,6 +804,7 @@ void Device::SetupFamilies(VkSurfaceKHR surface) {
803void Device::SetupFeatures() { 804void Device::SetupFeatures() {
804 const auto supported_features{physical.GetFeatures()}; 805 const auto supported_features{physical.GetFeatures()};
805 is_formatless_image_load_supported = supported_features.shaderStorageImageReadWithoutFormat; 806 is_formatless_image_load_supported = supported_features.shaderStorageImageReadWithoutFormat;
807 is_shader_storage_image_multisample = supported_features.shaderStorageImageMultisample;
806 is_blit_depth_stencil_supported = TestDepthStencilBlits(); 808 is_blit_depth_stencil_supported = TestDepthStencilBlits();
807 is_optimal_astc_supported = IsOptimalAstcSupported(supported_features); 809 is_optimal_astc_supported = IsOptimalAstcSupported(supported_features);
808} 810}
diff --git a/src/video_core/vulkan_common/vulkan_device.h b/src/video_core/vulkan_common/vulkan_device.h
index a973c3ce4..4b66dba7a 100644
--- a/src/video_core/vulkan_common/vulkan_device.h
+++ b/src/video_core/vulkan_common/vulkan_device.h
@@ -272,23 +272,24 @@ private:
272 bool is_optimal_astc_supported{}; ///< Support for native ASTC. 272 bool is_optimal_astc_supported{}; ///< Support for native ASTC.
273 bool is_float16_supported{}; ///< Support for float16 arithmetics. 273 bool is_float16_supported{}; ///< Support for float16 arithmetics.
274 bool is_warp_potentially_bigger{}; ///< Host warp size can be bigger than guest. 274 bool is_warp_potentially_bigger{}; ///< Host warp size can be bigger than guest.
275 bool is_formatless_image_load_supported{}; ///< Support for shader image read without format. 275 bool is_formatless_image_load_supported{}; ///< Support for shader image read without format.
276 bool is_blit_depth_stencil_supported{}; ///< Support for blitting from and to depth stencil. 276 bool is_shader_storage_image_multisample{}; ///< Support for image operations on MSAA images.
277 bool nv_viewport_swizzle{}; ///< Support for VK_NV_viewport_swizzle. 277 bool is_blit_depth_stencil_supported{}; ///< Support for blitting from and to depth stencil.
278 bool khr_uniform_buffer_standard_layout{}; ///< Support for std430 on UBOs. 278 bool nv_viewport_swizzle{}; ///< Support for VK_NV_viewport_swizzle.
279 bool ext_index_type_uint8{}; ///< Support for VK_EXT_index_type_uint8. 279 bool khr_uniform_buffer_standard_layout{}; ///< Support for std430 on UBOs.
280 bool ext_sampler_filter_minmax{}; ///< Support for VK_EXT_sampler_filter_minmax. 280 bool ext_index_type_uint8{}; ///< Support for VK_EXT_index_type_uint8.
281 bool ext_depth_range_unrestricted{}; ///< Support for VK_EXT_depth_range_unrestricted. 281 bool ext_sampler_filter_minmax{}; ///< Support for VK_EXT_sampler_filter_minmax.
282 bool ext_shader_viewport_index_layer{}; ///< Support for VK_EXT_shader_viewport_index_layer. 282 bool ext_depth_range_unrestricted{}; ///< Support for VK_EXT_depth_range_unrestricted.
283 bool ext_tooling_info{}; ///< Support for VK_EXT_tooling_info. 283 bool ext_shader_viewport_index_layer{}; ///< Support for VK_EXT_shader_viewport_index_layer.
284 bool ext_transform_feedback{}; ///< Support for VK_EXT_transform_feedback. 284 bool ext_tooling_info{}; ///< Support for VK_EXT_tooling_info.
285 bool ext_custom_border_color{}; ///< Support for VK_EXT_custom_border_color. 285 bool ext_transform_feedback{}; ///< Support for VK_EXT_transform_feedback.
286 bool ext_extended_dynamic_state{}; ///< Support for VK_EXT_extended_dynamic_state. 286 bool ext_custom_border_color{}; ///< Support for VK_EXT_custom_border_color.
287 bool ext_robustness2{}; ///< Support for VK_EXT_robustness2. 287 bool ext_extended_dynamic_state{}; ///< Support for VK_EXT_extended_dynamic_state.
288 bool ext_shader_stencil_export{}; ///< Support for VK_EXT_shader_stencil_export. 288 bool ext_robustness2{}; ///< Support for VK_EXT_robustness2.
289 bool nv_device_diagnostics_config{}; ///< Support for VK_NV_device_diagnostics_config. 289 bool ext_shader_stencil_export{}; ///< Support for VK_EXT_shader_stencil_export.
290 bool has_renderdoc{}; ///< Has RenderDoc attached 290 bool nv_device_diagnostics_config{}; ///< Support for VK_NV_device_diagnostics_config.
291 bool has_nsight_graphics{}; ///< Has Nsight Graphics attached 291 bool has_renderdoc{}; ///< Has RenderDoc attached
292 bool has_nsight_graphics{}; ///< Has Nsight Graphics attached
292 293
293 // Asynchronous Graphics Pipeline setting 294 // Asynchronous Graphics Pipeline setting
294 bool use_asynchronous_shaders{}; ///< Setting to use asynchronous shaders/graphics pipeline 295 bool use_asynchronous_shaders{}; ///< Setting to use asynchronous shaders/graphics pipeline
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.