1 // *** THIS FILE IS GENERATED - DO NOT EDIT *** 2 // See helper_file_generator.py for modifications 3 4 5 /*************************************************************************** 6 * 7 * Copyright (c) 2015-2019 The Khronos Group Inc. 8 * Copyright (c) 2015-2019 Valve Corporation 9 * Copyright (c) 2015-2019 LunarG, Inc. 10 * Copyright (c) 2015-2019 Google Inc. 11 * 12 * Licensed under the Apache License, Version 2.0 (the "License"); 13 * you may not use this file except in compliance with the License. 14 * You may obtain a copy of the License at 15 * 16 * http://www.apache.org/licenses/LICENSE-2.0 17 * 18 * Unless required by applicable law or agreed to in writing, software 19 * distributed under the License is distributed on an "AS IS" BASIS, 20 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 21 * See the License for the specific language governing permissions and 22 * limitations under the License. 23 * 24 * Author: Mark Lobodzinski <mark@lunarg.com> 25 * Author: Courtney Goeltzenleuchter <courtneygo@google.com> 26 * Author: Tobin Ehlis <tobine@google.com> 27 * Author: Chris Forbes <chrisforbes@google.com> 28 * Author: John Zulauf<jzulauf@lunarg.com> 29 * 30 ****************************************************************************/ 31 32 #pragma once 33 #include <vulkan/vulkan.h> 34 35 // These empty generic templates are specialized for each type with sType 36 // members and for each sType -- providing a two way map between structure 37 // types and sTypes 38 39 template <VkStructureType id> struct LvlSTypeMap {}; 40 template <typename T> struct LvlTypeMap {}; 41 42 // Map type VkApplicationInfo to id VK_STRUCTURE_TYPE_APPLICATION_INFO 43 template <> struct LvlTypeMap<VkApplicationInfo> { 44 static const VkStructureType kSType = VK_STRUCTURE_TYPE_APPLICATION_INFO; 45 }; 46 47 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_APPLICATION_INFO> { 48 typedef VkApplicationInfo Type; 49 }; 50 51 // Map type VkInstanceCreateInfo to id VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO 52 template <> struct LvlTypeMap<VkInstanceCreateInfo> { 53 static const VkStructureType kSType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO; 54 }; 55 56 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO> { 57 typedef VkInstanceCreateInfo Type; 58 }; 59 60 // Map type VkDeviceQueueCreateInfo to id VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO 61 template <> struct LvlTypeMap<VkDeviceQueueCreateInfo> { 62 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO; 63 }; 64 65 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO> { 66 typedef VkDeviceQueueCreateInfo Type; 67 }; 68 69 // Map type VkDeviceCreateInfo to id VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO 70 template <> struct LvlTypeMap<VkDeviceCreateInfo> { 71 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO; 72 }; 73 74 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO> { 75 typedef VkDeviceCreateInfo Type; 76 }; 77 78 // Map type VkSubmitInfo to id VK_STRUCTURE_TYPE_SUBMIT_INFO 79 template <> struct LvlTypeMap<VkSubmitInfo> { 80 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SUBMIT_INFO; 81 }; 82 83 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SUBMIT_INFO> { 84 typedef VkSubmitInfo Type; 85 }; 86 87 // Map type VkMemoryAllocateInfo to id VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO 88 template <> struct LvlTypeMap<VkMemoryAllocateInfo> { 89 static const VkStructureType kSType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO; 90 }; 91 92 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO> { 93 typedef VkMemoryAllocateInfo Type; 94 }; 95 96 // Map type VkMappedMemoryRange to id VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE 97 template <> struct LvlTypeMap<VkMappedMemoryRange> { 98 static const VkStructureType kSType = VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE; 99 }; 100 101 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE> { 102 typedef VkMappedMemoryRange Type; 103 }; 104 105 // Map type VkBindSparseInfo to id VK_STRUCTURE_TYPE_BIND_SPARSE_INFO 106 template <> struct LvlTypeMap<VkBindSparseInfo> { 107 static const VkStructureType kSType = VK_STRUCTURE_TYPE_BIND_SPARSE_INFO; 108 }; 109 110 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_BIND_SPARSE_INFO> { 111 typedef VkBindSparseInfo Type; 112 }; 113 114 // Map type VkFenceCreateInfo to id VK_STRUCTURE_TYPE_FENCE_CREATE_INFO 115 template <> struct LvlTypeMap<VkFenceCreateInfo> { 116 static const VkStructureType kSType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO; 117 }; 118 119 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_FENCE_CREATE_INFO> { 120 typedef VkFenceCreateInfo Type; 121 }; 122 123 // Map type VkSemaphoreCreateInfo to id VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO 124 template <> struct LvlTypeMap<VkSemaphoreCreateInfo> { 125 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO; 126 }; 127 128 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO> { 129 typedef VkSemaphoreCreateInfo Type; 130 }; 131 132 // Map type VkEventCreateInfo to id VK_STRUCTURE_TYPE_EVENT_CREATE_INFO 133 template <> struct LvlTypeMap<VkEventCreateInfo> { 134 static const VkStructureType kSType = VK_STRUCTURE_TYPE_EVENT_CREATE_INFO; 135 }; 136 137 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_EVENT_CREATE_INFO> { 138 typedef VkEventCreateInfo Type; 139 }; 140 141 // Map type VkQueryPoolCreateInfo to id VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO 142 template <> struct LvlTypeMap<VkQueryPoolCreateInfo> { 143 static const VkStructureType kSType = VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO; 144 }; 145 146 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO> { 147 typedef VkQueryPoolCreateInfo Type; 148 }; 149 150 // Map type VkBufferCreateInfo to id VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO 151 template <> struct LvlTypeMap<VkBufferCreateInfo> { 152 static const VkStructureType kSType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO; 153 }; 154 155 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO> { 156 typedef VkBufferCreateInfo Type; 157 }; 158 159 // Map type VkBufferViewCreateInfo to id VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO 160 template <> struct LvlTypeMap<VkBufferViewCreateInfo> { 161 static const VkStructureType kSType = VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO; 162 }; 163 164 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO> { 165 typedef VkBufferViewCreateInfo Type; 166 }; 167 168 // Map type VkImageCreateInfo to id VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO 169 template <> struct LvlTypeMap<VkImageCreateInfo> { 170 static const VkStructureType kSType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO; 171 }; 172 173 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO> { 174 typedef VkImageCreateInfo Type; 175 }; 176 177 // Map type VkImageViewCreateInfo to id VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO 178 template <> struct LvlTypeMap<VkImageViewCreateInfo> { 179 static const VkStructureType kSType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO; 180 }; 181 182 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO> { 183 typedef VkImageViewCreateInfo Type; 184 }; 185 186 // Map type VkShaderModuleCreateInfo to id VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO 187 template <> struct LvlTypeMap<VkShaderModuleCreateInfo> { 188 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO; 189 }; 190 191 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO> { 192 typedef VkShaderModuleCreateInfo Type; 193 }; 194 195 // Map type VkPipelineCacheCreateInfo to id VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO 196 template <> struct LvlTypeMap<VkPipelineCacheCreateInfo> { 197 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO; 198 }; 199 200 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO> { 201 typedef VkPipelineCacheCreateInfo Type; 202 }; 203 204 // Map type VkPipelineShaderStageCreateInfo to id VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO 205 template <> struct LvlTypeMap<VkPipelineShaderStageCreateInfo> { 206 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO; 207 }; 208 209 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO> { 210 typedef VkPipelineShaderStageCreateInfo Type; 211 }; 212 213 // Map type VkPipelineVertexInputStateCreateInfo to id VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO 214 template <> struct LvlTypeMap<VkPipelineVertexInputStateCreateInfo> { 215 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO; 216 }; 217 218 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO> { 219 typedef VkPipelineVertexInputStateCreateInfo Type; 220 }; 221 222 // Map type VkPipelineInputAssemblyStateCreateInfo to id VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO 223 template <> struct LvlTypeMap<VkPipelineInputAssemblyStateCreateInfo> { 224 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO; 225 }; 226 227 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO> { 228 typedef VkPipelineInputAssemblyStateCreateInfo Type; 229 }; 230 231 // Map type VkPipelineTessellationStateCreateInfo to id VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO 232 template <> struct LvlTypeMap<VkPipelineTessellationStateCreateInfo> { 233 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO; 234 }; 235 236 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO> { 237 typedef VkPipelineTessellationStateCreateInfo Type; 238 }; 239 240 // Map type VkPipelineViewportStateCreateInfo to id VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO 241 template <> struct LvlTypeMap<VkPipelineViewportStateCreateInfo> { 242 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO; 243 }; 244 245 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO> { 246 typedef VkPipelineViewportStateCreateInfo Type; 247 }; 248 249 // Map type VkPipelineRasterizationStateCreateInfo to id VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO 250 template <> struct LvlTypeMap<VkPipelineRasterizationStateCreateInfo> { 251 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO; 252 }; 253 254 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO> { 255 typedef VkPipelineRasterizationStateCreateInfo Type; 256 }; 257 258 // Map type VkPipelineMultisampleStateCreateInfo to id VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO 259 template <> struct LvlTypeMap<VkPipelineMultisampleStateCreateInfo> { 260 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO; 261 }; 262 263 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO> { 264 typedef VkPipelineMultisampleStateCreateInfo Type; 265 }; 266 267 // Map type VkPipelineDepthStencilStateCreateInfo to id VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO 268 template <> struct LvlTypeMap<VkPipelineDepthStencilStateCreateInfo> { 269 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO; 270 }; 271 272 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO> { 273 typedef VkPipelineDepthStencilStateCreateInfo Type; 274 }; 275 276 // Map type VkPipelineColorBlendStateCreateInfo to id VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO 277 template <> struct LvlTypeMap<VkPipelineColorBlendStateCreateInfo> { 278 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO; 279 }; 280 281 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO> { 282 typedef VkPipelineColorBlendStateCreateInfo Type; 283 }; 284 285 // Map type VkPipelineDynamicStateCreateInfo to id VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO 286 template <> struct LvlTypeMap<VkPipelineDynamicStateCreateInfo> { 287 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO; 288 }; 289 290 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO> { 291 typedef VkPipelineDynamicStateCreateInfo Type; 292 }; 293 294 // Map type VkGraphicsPipelineCreateInfo to id VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO 295 template <> struct LvlTypeMap<VkGraphicsPipelineCreateInfo> { 296 static const VkStructureType kSType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO; 297 }; 298 299 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO> { 300 typedef VkGraphicsPipelineCreateInfo Type; 301 }; 302 303 // Map type VkComputePipelineCreateInfo to id VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO 304 template <> struct LvlTypeMap<VkComputePipelineCreateInfo> { 305 static const VkStructureType kSType = VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO; 306 }; 307 308 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO> { 309 typedef VkComputePipelineCreateInfo Type; 310 }; 311 312 // Map type VkPipelineLayoutCreateInfo to id VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO 313 template <> struct LvlTypeMap<VkPipelineLayoutCreateInfo> { 314 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO; 315 }; 316 317 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO> { 318 typedef VkPipelineLayoutCreateInfo Type; 319 }; 320 321 // Map type VkSamplerCreateInfo to id VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO 322 template <> struct LvlTypeMap<VkSamplerCreateInfo> { 323 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO; 324 }; 325 326 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO> { 327 typedef VkSamplerCreateInfo Type; 328 }; 329 330 // Map type VkDescriptorSetLayoutCreateInfo to id VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO 331 template <> struct LvlTypeMap<VkDescriptorSetLayoutCreateInfo> { 332 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO; 333 }; 334 335 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO> { 336 typedef VkDescriptorSetLayoutCreateInfo Type; 337 }; 338 339 // Map type VkDescriptorPoolCreateInfo to id VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO 340 template <> struct LvlTypeMap<VkDescriptorPoolCreateInfo> { 341 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO; 342 }; 343 344 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO> { 345 typedef VkDescriptorPoolCreateInfo Type; 346 }; 347 348 // Map type VkDescriptorSetAllocateInfo to id VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO 349 template <> struct LvlTypeMap<VkDescriptorSetAllocateInfo> { 350 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO; 351 }; 352 353 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO> { 354 typedef VkDescriptorSetAllocateInfo Type; 355 }; 356 357 // Map type VkWriteDescriptorSet to id VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET 358 template <> struct LvlTypeMap<VkWriteDescriptorSet> { 359 static const VkStructureType kSType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; 360 }; 361 362 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET> { 363 typedef VkWriteDescriptorSet Type; 364 }; 365 366 // Map type VkCopyDescriptorSet to id VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET 367 template <> struct LvlTypeMap<VkCopyDescriptorSet> { 368 static const VkStructureType kSType = VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET; 369 }; 370 371 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET> { 372 typedef VkCopyDescriptorSet Type; 373 }; 374 375 // Map type VkFramebufferCreateInfo to id VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO 376 template <> struct LvlTypeMap<VkFramebufferCreateInfo> { 377 static const VkStructureType kSType = VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO; 378 }; 379 380 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO> { 381 typedef VkFramebufferCreateInfo Type; 382 }; 383 384 // Map type VkRenderPassCreateInfo to id VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO 385 template <> struct LvlTypeMap<VkRenderPassCreateInfo> { 386 static const VkStructureType kSType = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO; 387 }; 388 389 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO> { 390 typedef VkRenderPassCreateInfo Type; 391 }; 392 393 // Map type VkCommandPoolCreateInfo to id VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO 394 template <> struct LvlTypeMap<VkCommandPoolCreateInfo> { 395 static const VkStructureType kSType = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO; 396 }; 397 398 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO> { 399 typedef VkCommandPoolCreateInfo Type; 400 }; 401 402 // Map type VkCommandBufferAllocateInfo to id VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO 403 template <> struct LvlTypeMap<VkCommandBufferAllocateInfo> { 404 static const VkStructureType kSType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO; 405 }; 406 407 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO> { 408 typedef VkCommandBufferAllocateInfo Type; 409 }; 410 411 // Map type VkCommandBufferInheritanceInfo to id VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO 412 template <> struct LvlTypeMap<VkCommandBufferInheritanceInfo> { 413 static const VkStructureType kSType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO; 414 }; 415 416 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO> { 417 typedef VkCommandBufferInheritanceInfo Type; 418 }; 419 420 // Map type VkCommandBufferBeginInfo to id VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO 421 template <> struct LvlTypeMap<VkCommandBufferBeginInfo> { 422 static const VkStructureType kSType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO; 423 }; 424 425 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO> { 426 typedef VkCommandBufferBeginInfo Type; 427 }; 428 429 // Map type VkMemoryBarrier to id VK_STRUCTURE_TYPE_MEMORY_BARRIER 430 template <> struct LvlTypeMap<VkMemoryBarrier> { 431 static const VkStructureType kSType = VK_STRUCTURE_TYPE_MEMORY_BARRIER; 432 }; 433 434 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_MEMORY_BARRIER> { 435 typedef VkMemoryBarrier Type; 436 }; 437 438 // Map type VkBufferMemoryBarrier to id VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER 439 template <> struct LvlTypeMap<VkBufferMemoryBarrier> { 440 static const VkStructureType kSType = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER; 441 }; 442 443 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER> { 444 typedef VkBufferMemoryBarrier Type; 445 }; 446 447 // Map type VkImageMemoryBarrier to id VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER 448 template <> struct LvlTypeMap<VkImageMemoryBarrier> { 449 static const VkStructureType kSType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; 450 }; 451 452 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER> { 453 typedef VkImageMemoryBarrier Type; 454 }; 455 456 // Map type VkRenderPassBeginInfo to id VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO 457 template <> struct LvlTypeMap<VkRenderPassBeginInfo> { 458 static const VkStructureType kSType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO; 459 }; 460 461 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO> { 462 typedef VkRenderPassBeginInfo Type; 463 }; 464 465 // Map type VkPhysicalDeviceSubgroupProperties to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES 466 template <> struct LvlTypeMap<VkPhysicalDeviceSubgroupProperties> { 467 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES; 468 }; 469 470 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES> { 471 typedef VkPhysicalDeviceSubgroupProperties Type; 472 }; 473 474 // Map type VkBindBufferMemoryInfo to id VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO 475 template <> struct LvlTypeMap<VkBindBufferMemoryInfo> { 476 static const VkStructureType kSType = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO; 477 }; 478 479 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO> { 480 typedef VkBindBufferMemoryInfo Type; 481 }; 482 483 // Map type VkBindImageMemoryInfo to id VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO 484 template <> struct LvlTypeMap<VkBindImageMemoryInfo> { 485 static const VkStructureType kSType = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO; 486 }; 487 488 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO> { 489 typedef VkBindImageMemoryInfo Type; 490 }; 491 492 // Map type VkPhysicalDevice16BitStorageFeatures to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES 493 template <> struct LvlTypeMap<VkPhysicalDevice16BitStorageFeatures> { 494 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES; 495 }; 496 497 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES> { 498 typedef VkPhysicalDevice16BitStorageFeatures Type; 499 }; 500 501 // Map type VkMemoryDedicatedRequirements to id VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS 502 template <> struct LvlTypeMap<VkMemoryDedicatedRequirements> { 503 static const VkStructureType kSType = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS; 504 }; 505 506 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS> { 507 typedef VkMemoryDedicatedRequirements Type; 508 }; 509 510 // Map type VkMemoryDedicatedAllocateInfo to id VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO 511 template <> struct LvlTypeMap<VkMemoryDedicatedAllocateInfo> { 512 static const VkStructureType kSType = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO; 513 }; 514 515 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO> { 516 typedef VkMemoryDedicatedAllocateInfo Type; 517 }; 518 519 // Map type VkMemoryAllocateFlagsInfo to id VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO 520 template <> struct LvlTypeMap<VkMemoryAllocateFlagsInfo> { 521 static const VkStructureType kSType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO; 522 }; 523 524 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO> { 525 typedef VkMemoryAllocateFlagsInfo Type; 526 }; 527 528 // Map type VkDeviceGroupRenderPassBeginInfo to id VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO 529 template <> struct LvlTypeMap<VkDeviceGroupRenderPassBeginInfo> { 530 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO; 531 }; 532 533 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO> { 534 typedef VkDeviceGroupRenderPassBeginInfo Type; 535 }; 536 537 // Map type VkDeviceGroupCommandBufferBeginInfo to id VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO 538 template <> struct LvlTypeMap<VkDeviceGroupCommandBufferBeginInfo> { 539 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO; 540 }; 541 542 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO> { 543 typedef VkDeviceGroupCommandBufferBeginInfo Type; 544 }; 545 546 // Map type VkDeviceGroupSubmitInfo to id VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO 547 template <> struct LvlTypeMap<VkDeviceGroupSubmitInfo> { 548 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO; 549 }; 550 551 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO> { 552 typedef VkDeviceGroupSubmitInfo Type; 553 }; 554 555 // Map type VkDeviceGroupBindSparseInfo to id VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO 556 template <> struct LvlTypeMap<VkDeviceGroupBindSparseInfo> { 557 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO; 558 }; 559 560 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO> { 561 typedef VkDeviceGroupBindSparseInfo Type; 562 }; 563 564 // Map type VkBindBufferMemoryDeviceGroupInfo to id VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO 565 template <> struct LvlTypeMap<VkBindBufferMemoryDeviceGroupInfo> { 566 static const VkStructureType kSType = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO; 567 }; 568 569 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO> { 570 typedef VkBindBufferMemoryDeviceGroupInfo Type; 571 }; 572 573 // Map type VkBindImageMemoryDeviceGroupInfo to id VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO 574 template <> struct LvlTypeMap<VkBindImageMemoryDeviceGroupInfo> { 575 static const VkStructureType kSType = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO; 576 }; 577 578 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO> { 579 typedef VkBindImageMemoryDeviceGroupInfo Type; 580 }; 581 582 // Map type VkPhysicalDeviceGroupProperties to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES 583 template <> struct LvlTypeMap<VkPhysicalDeviceGroupProperties> { 584 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES; 585 }; 586 587 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES> { 588 typedef VkPhysicalDeviceGroupProperties Type; 589 }; 590 591 // Map type VkDeviceGroupDeviceCreateInfo to id VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO 592 template <> struct LvlTypeMap<VkDeviceGroupDeviceCreateInfo> { 593 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO; 594 }; 595 596 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO> { 597 typedef VkDeviceGroupDeviceCreateInfo Type; 598 }; 599 600 // Map type VkBufferMemoryRequirementsInfo2 to id VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 601 template <> struct LvlTypeMap<VkBufferMemoryRequirementsInfo2> { 602 static const VkStructureType kSType = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2; 603 }; 604 605 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2> { 606 typedef VkBufferMemoryRequirementsInfo2 Type; 607 }; 608 609 // Map type VkImageMemoryRequirementsInfo2 to id VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 610 template <> struct LvlTypeMap<VkImageMemoryRequirementsInfo2> { 611 static const VkStructureType kSType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2; 612 }; 613 614 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2> { 615 typedef VkImageMemoryRequirementsInfo2 Type; 616 }; 617 618 // Map type VkImageSparseMemoryRequirementsInfo2 to id VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 619 template <> struct LvlTypeMap<VkImageSparseMemoryRequirementsInfo2> { 620 static const VkStructureType kSType = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2; 621 }; 622 623 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2> { 624 typedef VkImageSparseMemoryRequirementsInfo2 Type; 625 }; 626 627 // Map type VkMemoryRequirements2 to id VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 628 template <> struct LvlTypeMap<VkMemoryRequirements2> { 629 static const VkStructureType kSType = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2; 630 }; 631 632 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2> { 633 typedef VkMemoryRequirements2 Type; 634 }; 635 636 // Map type VkSparseImageMemoryRequirements2 to id VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 637 template <> struct LvlTypeMap<VkSparseImageMemoryRequirements2> { 638 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2; 639 }; 640 641 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2> { 642 typedef VkSparseImageMemoryRequirements2 Type; 643 }; 644 645 // Map type VkPhysicalDeviceFeatures2 to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 646 template <> struct LvlTypeMap<VkPhysicalDeviceFeatures2> { 647 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2; 648 }; 649 650 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2> { 651 typedef VkPhysicalDeviceFeatures2 Type; 652 }; 653 654 // Map type VkPhysicalDeviceProperties2 to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 655 template <> struct LvlTypeMap<VkPhysicalDeviceProperties2> { 656 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; 657 }; 658 659 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2> { 660 typedef VkPhysicalDeviceProperties2 Type; 661 }; 662 663 // Map type VkFormatProperties2 to id VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 664 template <> struct LvlTypeMap<VkFormatProperties2> { 665 static const VkStructureType kSType = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2; 666 }; 667 668 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2> { 669 typedef VkFormatProperties2 Type; 670 }; 671 672 // Map type VkImageFormatProperties2 to id VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 673 template <> struct LvlTypeMap<VkImageFormatProperties2> { 674 static const VkStructureType kSType = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2; 675 }; 676 677 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2> { 678 typedef VkImageFormatProperties2 Type; 679 }; 680 681 // Map type VkPhysicalDeviceImageFormatInfo2 to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 682 template <> struct LvlTypeMap<VkPhysicalDeviceImageFormatInfo2> { 683 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2; 684 }; 685 686 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2> { 687 typedef VkPhysicalDeviceImageFormatInfo2 Type; 688 }; 689 690 // Map type VkQueueFamilyProperties2 to id VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 691 template <> struct LvlTypeMap<VkQueueFamilyProperties2> { 692 static const VkStructureType kSType = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2; 693 }; 694 695 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2> { 696 typedef VkQueueFamilyProperties2 Type; 697 }; 698 699 // Map type VkPhysicalDeviceMemoryProperties2 to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 700 template <> struct LvlTypeMap<VkPhysicalDeviceMemoryProperties2> { 701 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2; 702 }; 703 704 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2> { 705 typedef VkPhysicalDeviceMemoryProperties2 Type; 706 }; 707 708 // Map type VkSparseImageFormatProperties2 to id VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 709 template <> struct LvlTypeMap<VkSparseImageFormatProperties2> { 710 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2; 711 }; 712 713 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2> { 714 typedef VkSparseImageFormatProperties2 Type; 715 }; 716 717 // Map type VkPhysicalDeviceSparseImageFormatInfo2 to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 718 template <> struct LvlTypeMap<VkPhysicalDeviceSparseImageFormatInfo2> { 719 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2; 720 }; 721 722 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2> { 723 typedef VkPhysicalDeviceSparseImageFormatInfo2 Type; 724 }; 725 726 // Map type VkPhysicalDevicePointClippingProperties to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES 727 template <> struct LvlTypeMap<VkPhysicalDevicePointClippingProperties> { 728 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES; 729 }; 730 731 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES> { 732 typedef VkPhysicalDevicePointClippingProperties Type; 733 }; 734 735 // Map type VkRenderPassInputAttachmentAspectCreateInfo to id VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO 736 template <> struct LvlTypeMap<VkRenderPassInputAttachmentAspectCreateInfo> { 737 static const VkStructureType kSType = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO; 738 }; 739 740 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO> { 741 typedef VkRenderPassInputAttachmentAspectCreateInfo Type; 742 }; 743 744 // Map type VkImageViewUsageCreateInfo to id VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO 745 template <> struct LvlTypeMap<VkImageViewUsageCreateInfo> { 746 static const VkStructureType kSType = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO; 747 }; 748 749 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO> { 750 typedef VkImageViewUsageCreateInfo Type; 751 }; 752 753 // Map type VkPipelineTessellationDomainOriginStateCreateInfo to id VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO 754 template <> struct LvlTypeMap<VkPipelineTessellationDomainOriginStateCreateInfo> { 755 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO; 756 }; 757 758 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO> { 759 typedef VkPipelineTessellationDomainOriginStateCreateInfo Type; 760 }; 761 762 // Map type VkRenderPassMultiviewCreateInfo to id VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO 763 template <> struct LvlTypeMap<VkRenderPassMultiviewCreateInfo> { 764 static const VkStructureType kSType = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO; 765 }; 766 767 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO> { 768 typedef VkRenderPassMultiviewCreateInfo Type; 769 }; 770 771 // Map type VkPhysicalDeviceMultiviewFeatures to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES 772 template <> struct LvlTypeMap<VkPhysicalDeviceMultiviewFeatures> { 773 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES; 774 }; 775 776 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES> { 777 typedef VkPhysicalDeviceMultiviewFeatures Type; 778 }; 779 780 // Map type VkPhysicalDeviceMultiviewProperties to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES 781 template <> struct LvlTypeMap<VkPhysicalDeviceMultiviewProperties> { 782 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES; 783 }; 784 785 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES> { 786 typedef VkPhysicalDeviceMultiviewProperties Type; 787 }; 788 789 // Map type VkPhysicalDeviceVariablePointersFeatures to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES 790 template <> struct LvlTypeMap<VkPhysicalDeviceVariablePointersFeatures> { 791 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES; 792 }; 793 794 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES> { 795 typedef VkPhysicalDeviceVariablePointersFeatures Type; 796 }; 797 798 // Map type VkPhysicalDeviceProtectedMemoryFeatures to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES 799 template <> struct LvlTypeMap<VkPhysicalDeviceProtectedMemoryFeatures> { 800 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES; 801 }; 802 803 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES> { 804 typedef VkPhysicalDeviceProtectedMemoryFeatures Type; 805 }; 806 807 // Map type VkPhysicalDeviceProtectedMemoryProperties to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES 808 template <> struct LvlTypeMap<VkPhysicalDeviceProtectedMemoryProperties> { 809 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES; 810 }; 811 812 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES> { 813 typedef VkPhysicalDeviceProtectedMemoryProperties Type; 814 }; 815 816 // Map type VkDeviceQueueInfo2 to id VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 817 template <> struct LvlTypeMap<VkDeviceQueueInfo2> { 818 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2; 819 }; 820 821 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2> { 822 typedef VkDeviceQueueInfo2 Type; 823 }; 824 825 // Map type VkProtectedSubmitInfo to id VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO 826 template <> struct LvlTypeMap<VkProtectedSubmitInfo> { 827 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO; 828 }; 829 830 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO> { 831 typedef VkProtectedSubmitInfo Type; 832 }; 833 834 // Map type VkSamplerYcbcrConversionCreateInfo to id VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO 835 template <> struct LvlTypeMap<VkSamplerYcbcrConversionCreateInfo> { 836 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO; 837 }; 838 839 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO> { 840 typedef VkSamplerYcbcrConversionCreateInfo Type; 841 }; 842 843 // Map type VkSamplerYcbcrConversionInfo to id VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO 844 template <> struct LvlTypeMap<VkSamplerYcbcrConversionInfo> { 845 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO; 846 }; 847 848 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO> { 849 typedef VkSamplerYcbcrConversionInfo Type; 850 }; 851 852 // Map type VkBindImagePlaneMemoryInfo to id VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO 853 template <> struct LvlTypeMap<VkBindImagePlaneMemoryInfo> { 854 static const VkStructureType kSType = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO; 855 }; 856 857 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO> { 858 typedef VkBindImagePlaneMemoryInfo Type; 859 }; 860 861 // Map type VkImagePlaneMemoryRequirementsInfo to id VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO 862 template <> struct LvlTypeMap<VkImagePlaneMemoryRequirementsInfo> { 863 static const VkStructureType kSType = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO; 864 }; 865 866 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO> { 867 typedef VkImagePlaneMemoryRequirementsInfo Type; 868 }; 869 870 // Map type VkPhysicalDeviceSamplerYcbcrConversionFeatures to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES 871 template <> struct LvlTypeMap<VkPhysicalDeviceSamplerYcbcrConversionFeatures> { 872 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES; 873 }; 874 875 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES> { 876 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures Type; 877 }; 878 879 // Map type VkSamplerYcbcrConversionImageFormatProperties to id VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES 880 template <> struct LvlTypeMap<VkSamplerYcbcrConversionImageFormatProperties> { 881 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES; 882 }; 883 884 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES> { 885 typedef VkSamplerYcbcrConversionImageFormatProperties Type; 886 }; 887 888 // Map type VkDescriptorUpdateTemplateCreateInfo to id VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO 889 template <> struct LvlTypeMap<VkDescriptorUpdateTemplateCreateInfo> { 890 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO; 891 }; 892 893 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO> { 894 typedef VkDescriptorUpdateTemplateCreateInfo Type; 895 }; 896 897 // Map type VkPhysicalDeviceExternalImageFormatInfo to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO 898 template <> struct LvlTypeMap<VkPhysicalDeviceExternalImageFormatInfo> { 899 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO; 900 }; 901 902 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO> { 903 typedef VkPhysicalDeviceExternalImageFormatInfo Type; 904 }; 905 906 // Map type VkExternalImageFormatProperties to id VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES 907 template <> struct LvlTypeMap<VkExternalImageFormatProperties> { 908 static const VkStructureType kSType = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES; 909 }; 910 911 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES> { 912 typedef VkExternalImageFormatProperties Type; 913 }; 914 915 // Map type VkPhysicalDeviceExternalBufferInfo to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO 916 template <> struct LvlTypeMap<VkPhysicalDeviceExternalBufferInfo> { 917 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO; 918 }; 919 920 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO> { 921 typedef VkPhysicalDeviceExternalBufferInfo Type; 922 }; 923 924 // Map type VkExternalBufferProperties to id VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES 925 template <> struct LvlTypeMap<VkExternalBufferProperties> { 926 static const VkStructureType kSType = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES; 927 }; 928 929 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES> { 930 typedef VkExternalBufferProperties Type; 931 }; 932 933 // Map type VkPhysicalDeviceIDProperties to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES 934 template <> struct LvlTypeMap<VkPhysicalDeviceIDProperties> { 935 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES; 936 }; 937 938 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES> { 939 typedef VkPhysicalDeviceIDProperties Type; 940 }; 941 942 // Map type VkExternalMemoryImageCreateInfo to id VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO 943 template <> struct LvlTypeMap<VkExternalMemoryImageCreateInfo> { 944 static const VkStructureType kSType = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO; 945 }; 946 947 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO> { 948 typedef VkExternalMemoryImageCreateInfo Type; 949 }; 950 951 // Map type VkExternalMemoryBufferCreateInfo to id VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO 952 template <> struct LvlTypeMap<VkExternalMemoryBufferCreateInfo> { 953 static const VkStructureType kSType = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO; 954 }; 955 956 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO> { 957 typedef VkExternalMemoryBufferCreateInfo Type; 958 }; 959 960 // Map type VkExportMemoryAllocateInfo to id VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO 961 template <> struct LvlTypeMap<VkExportMemoryAllocateInfo> { 962 static const VkStructureType kSType = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO; 963 }; 964 965 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO> { 966 typedef VkExportMemoryAllocateInfo Type; 967 }; 968 969 // Map type VkPhysicalDeviceExternalFenceInfo to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO 970 template <> struct LvlTypeMap<VkPhysicalDeviceExternalFenceInfo> { 971 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO; 972 }; 973 974 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO> { 975 typedef VkPhysicalDeviceExternalFenceInfo Type; 976 }; 977 978 // Map type VkExternalFenceProperties to id VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES 979 template <> struct LvlTypeMap<VkExternalFenceProperties> { 980 static const VkStructureType kSType = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES; 981 }; 982 983 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES> { 984 typedef VkExternalFenceProperties Type; 985 }; 986 987 // Map type VkExportFenceCreateInfo to id VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO 988 template <> struct LvlTypeMap<VkExportFenceCreateInfo> { 989 static const VkStructureType kSType = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO; 990 }; 991 992 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO> { 993 typedef VkExportFenceCreateInfo Type; 994 }; 995 996 // Map type VkExportSemaphoreCreateInfo to id VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO 997 template <> struct LvlTypeMap<VkExportSemaphoreCreateInfo> { 998 static const VkStructureType kSType = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO; 999 }; 1000 1001 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO> { 1002 typedef VkExportSemaphoreCreateInfo Type; 1003 }; 1004 1005 // Map type VkPhysicalDeviceExternalSemaphoreInfo to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO 1006 template <> struct LvlTypeMap<VkPhysicalDeviceExternalSemaphoreInfo> { 1007 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO; 1008 }; 1009 1010 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO> { 1011 typedef VkPhysicalDeviceExternalSemaphoreInfo Type; 1012 }; 1013 1014 // Map type VkExternalSemaphoreProperties to id VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES 1015 template <> struct LvlTypeMap<VkExternalSemaphoreProperties> { 1016 static const VkStructureType kSType = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES; 1017 }; 1018 1019 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES> { 1020 typedef VkExternalSemaphoreProperties Type; 1021 }; 1022 1023 // Map type VkPhysicalDeviceMaintenance3Properties to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES 1024 template <> struct LvlTypeMap<VkPhysicalDeviceMaintenance3Properties> { 1025 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES; 1026 }; 1027 1028 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES> { 1029 typedef VkPhysicalDeviceMaintenance3Properties Type; 1030 }; 1031 1032 // Map type VkDescriptorSetLayoutSupport to id VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT 1033 template <> struct LvlTypeMap<VkDescriptorSetLayoutSupport> { 1034 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT; 1035 }; 1036 1037 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT> { 1038 typedef VkDescriptorSetLayoutSupport Type; 1039 }; 1040 1041 // Map type VkPhysicalDeviceShaderDrawParametersFeatures to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES 1042 template <> struct LvlTypeMap<VkPhysicalDeviceShaderDrawParametersFeatures> { 1043 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES; 1044 }; 1045 1046 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES> { 1047 typedef VkPhysicalDeviceShaderDrawParametersFeatures Type; 1048 }; 1049 1050 // Map type VkSwapchainCreateInfoKHR to id VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR 1051 template <> struct LvlTypeMap<VkSwapchainCreateInfoKHR> { 1052 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR; 1053 }; 1054 1055 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR> { 1056 typedef VkSwapchainCreateInfoKHR Type; 1057 }; 1058 1059 // Map type VkPresentInfoKHR to id VK_STRUCTURE_TYPE_PRESENT_INFO_KHR 1060 template <> struct LvlTypeMap<VkPresentInfoKHR> { 1061 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PRESENT_INFO_KHR; 1062 }; 1063 1064 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PRESENT_INFO_KHR> { 1065 typedef VkPresentInfoKHR Type; 1066 }; 1067 1068 // Map type VkImageSwapchainCreateInfoKHR to id VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR 1069 template <> struct LvlTypeMap<VkImageSwapchainCreateInfoKHR> { 1070 static const VkStructureType kSType = VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR; 1071 }; 1072 1073 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR> { 1074 typedef VkImageSwapchainCreateInfoKHR Type; 1075 }; 1076 1077 // Map type VkBindImageMemorySwapchainInfoKHR to id VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR 1078 template <> struct LvlTypeMap<VkBindImageMemorySwapchainInfoKHR> { 1079 static const VkStructureType kSType = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR; 1080 }; 1081 1082 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR> { 1083 typedef VkBindImageMemorySwapchainInfoKHR Type; 1084 }; 1085 1086 // Map type VkAcquireNextImageInfoKHR to id VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR 1087 template <> struct LvlTypeMap<VkAcquireNextImageInfoKHR> { 1088 static const VkStructureType kSType = VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR; 1089 }; 1090 1091 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR> { 1092 typedef VkAcquireNextImageInfoKHR Type; 1093 }; 1094 1095 // Map type VkDeviceGroupPresentCapabilitiesKHR to id VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR 1096 template <> struct LvlTypeMap<VkDeviceGroupPresentCapabilitiesKHR> { 1097 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR; 1098 }; 1099 1100 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR> { 1101 typedef VkDeviceGroupPresentCapabilitiesKHR Type; 1102 }; 1103 1104 // Map type VkDeviceGroupPresentInfoKHR to id VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR 1105 template <> struct LvlTypeMap<VkDeviceGroupPresentInfoKHR> { 1106 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR; 1107 }; 1108 1109 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR> { 1110 typedef VkDeviceGroupPresentInfoKHR Type; 1111 }; 1112 1113 // Map type VkDeviceGroupSwapchainCreateInfoKHR to id VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR 1114 template <> struct LvlTypeMap<VkDeviceGroupSwapchainCreateInfoKHR> { 1115 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR; 1116 }; 1117 1118 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR> { 1119 typedef VkDeviceGroupSwapchainCreateInfoKHR Type; 1120 }; 1121 1122 // Map type VkDisplayModeCreateInfoKHR to id VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR 1123 template <> struct LvlTypeMap<VkDisplayModeCreateInfoKHR> { 1124 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR; 1125 }; 1126 1127 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR> { 1128 typedef VkDisplayModeCreateInfoKHR Type; 1129 }; 1130 1131 // Map type VkDisplaySurfaceCreateInfoKHR to id VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR 1132 template <> struct LvlTypeMap<VkDisplaySurfaceCreateInfoKHR> { 1133 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR; 1134 }; 1135 1136 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR> { 1137 typedef VkDisplaySurfaceCreateInfoKHR Type; 1138 }; 1139 1140 // Map type VkDisplayPresentInfoKHR to id VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR 1141 template <> struct LvlTypeMap<VkDisplayPresentInfoKHR> { 1142 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR; 1143 }; 1144 1145 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR> { 1146 typedef VkDisplayPresentInfoKHR Type; 1147 }; 1148 1149 #ifdef VK_USE_PLATFORM_XLIB_KHR 1150 // Map type VkXlibSurfaceCreateInfoKHR to id VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR 1151 template <> struct LvlTypeMap<VkXlibSurfaceCreateInfoKHR> { 1152 static const VkStructureType kSType = VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR; 1153 }; 1154 1155 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR> { 1156 typedef VkXlibSurfaceCreateInfoKHR Type; 1157 }; 1158 1159 #endif // VK_USE_PLATFORM_XLIB_KHR 1160 #ifdef VK_USE_PLATFORM_XCB_KHR 1161 // Map type VkXcbSurfaceCreateInfoKHR to id VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR 1162 template <> struct LvlTypeMap<VkXcbSurfaceCreateInfoKHR> { 1163 static const VkStructureType kSType = VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR; 1164 }; 1165 1166 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR> { 1167 typedef VkXcbSurfaceCreateInfoKHR Type; 1168 }; 1169 1170 #endif // VK_USE_PLATFORM_XCB_KHR 1171 #ifdef VK_USE_PLATFORM_WAYLAND_KHR 1172 // Map type VkWaylandSurfaceCreateInfoKHR to id VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR 1173 template <> struct LvlTypeMap<VkWaylandSurfaceCreateInfoKHR> { 1174 static const VkStructureType kSType = VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR; 1175 }; 1176 1177 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR> { 1178 typedef VkWaylandSurfaceCreateInfoKHR Type; 1179 }; 1180 1181 #endif // VK_USE_PLATFORM_WAYLAND_KHR 1182 #ifdef VK_USE_PLATFORM_ANDROID_KHR 1183 // Map type VkAndroidSurfaceCreateInfoKHR to id VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR 1184 template <> struct LvlTypeMap<VkAndroidSurfaceCreateInfoKHR> { 1185 static const VkStructureType kSType = VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR; 1186 }; 1187 1188 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR> { 1189 typedef VkAndroidSurfaceCreateInfoKHR Type; 1190 }; 1191 1192 #endif // VK_USE_PLATFORM_ANDROID_KHR 1193 #ifdef VK_USE_PLATFORM_WIN32_KHR 1194 // Map type VkWin32SurfaceCreateInfoKHR to id VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR 1195 template <> struct LvlTypeMap<VkWin32SurfaceCreateInfoKHR> { 1196 static const VkStructureType kSType = VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR; 1197 }; 1198 1199 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR> { 1200 typedef VkWin32SurfaceCreateInfoKHR Type; 1201 }; 1202 1203 #endif // VK_USE_PLATFORM_WIN32_KHR 1204 #ifdef VK_USE_PLATFORM_WIN32_KHR 1205 // Map type VkImportMemoryWin32HandleInfoKHR to id VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR 1206 template <> struct LvlTypeMap<VkImportMemoryWin32HandleInfoKHR> { 1207 static const VkStructureType kSType = VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR; 1208 }; 1209 1210 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR> { 1211 typedef VkImportMemoryWin32HandleInfoKHR Type; 1212 }; 1213 1214 #endif // VK_USE_PLATFORM_WIN32_KHR 1215 #ifdef VK_USE_PLATFORM_WIN32_KHR 1216 // Map type VkExportMemoryWin32HandleInfoKHR to id VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR 1217 template <> struct LvlTypeMap<VkExportMemoryWin32HandleInfoKHR> { 1218 static const VkStructureType kSType = VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR; 1219 }; 1220 1221 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR> { 1222 typedef VkExportMemoryWin32HandleInfoKHR Type; 1223 }; 1224 1225 #endif // VK_USE_PLATFORM_WIN32_KHR 1226 #ifdef VK_USE_PLATFORM_WIN32_KHR 1227 // Map type VkMemoryWin32HandlePropertiesKHR to id VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR 1228 template <> struct LvlTypeMap<VkMemoryWin32HandlePropertiesKHR> { 1229 static const VkStructureType kSType = VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR; 1230 }; 1231 1232 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR> { 1233 typedef VkMemoryWin32HandlePropertiesKHR Type; 1234 }; 1235 1236 #endif // VK_USE_PLATFORM_WIN32_KHR 1237 #ifdef VK_USE_PLATFORM_WIN32_KHR 1238 // Map type VkMemoryGetWin32HandleInfoKHR to id VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR 1239 template <> struct LvlTypeMap<VkMemoryGetWin32HandleInfoKHR> { 1240 static const VkStructureType kSType = VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR; 1241 }; 1242 1243 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR> { 1244 typedef VkMemoryGetWin32HandleInfoKHR Type; 1245 }; 1246 1247 #endif // VK_USE_PLATFORM_WIN32_KHR 1248 // Map type VkImportMemoryFdInfoKHR to id VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR 1249 template <> struct LvlTypeMap<VkImportMemoryFdInfoKHR> { 1250 static const VkStructureType kSType = VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR; 1251 }; 1252 1253 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR> { 1254 typedef VkImportMemoryFdInfoKHR Type; 1255 }; 1256 1257 // Map type VkMemoryFdPropertiesKHR to id VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR 1258 template <> struct LvlTypeMap<VkMemoryFdPropertiesKHR> { 1259 static const VkStructureType kSType = VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR; 1260 }; 1261 1262 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR> { 1263 typedef VkMemoryFdPropertiesKHR Type; 1264 }; 1265 1266 // Map type VkMemoryGetFdInfoKHR to id VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR 1267 template <> struct LvlTypeMap<VkMemoryGetFdInfoKHR> { 1268 static const VkStructureType kSType = VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR; 1269 }; 1270 1271 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR> { 1272 typedef VkMemoryGetFdInfoKHR Type; 1273 }; 1274 1275 #ifdef VK_USE_PLATFORM_WIN32_KHR 1276 // Map type VkWin32KeyedMutexAcquireReleaseInfoKHR to id VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR 1277 template <> struct LvlTypeMap<VkWin32KeyedMutexAcquireReleaseInfoKHR> { 1278 static const VkStructureType kSType = VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR; 1279 }; 1280 1281 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR> { 1282 typedef VkWin32KeyedMutexAcquireReleaseInfoKHR Type; 1283 }; 1284 1285 #endif // VK_USE_PLATFORM_WIN32_KHR 1286 #ifdef VK_USE_PLATFORM_WIN32_KHR 1287 // Map type VkImportSemaphoreWin32HandleInfoKHR to id VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR 1288 template <> struct LvlTypeMap<VkImportSemaphoreWin32HandleInfoKHR> { 1289 static const VkStructureType kSType = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR; 1290 }; 1291 1292 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR> { 1293 typedef VkImportSemaphoreWin32HandleInfoKHR Type; 1294 }; 1295 1296 #endif // VK_USE_PLATFORM_WIN32_KHR 1297 #ifdef VK_USE_PLATFORM_WIN32_KHR 1298 // Map type VkExportSemaphoreWin32HandleInfoKHR to id VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR 1299 template <> struct LvlTypeMap<VkExportSemaphoreWin32HandleInfoKHR> { 1300 static const VkStructureType kSType = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR; 1301 }; 1302 1303 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR> { 1304 typedef VkExportSemaphoreWin32HandleInfoKHR Type; 1305 }; 1306 1307 #endif // VK_USE_PLATFORM_WIN32_KHR 1308 #ifdef VK_USE_PLATFORM_WIN32_KHR 1309 // Map type VkD3D12FenceSubmitInfoKHR to id VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR 1310 template <> struct LvlTypeMap<VkD3D12FenceSubmitInfoKHR> { 1311 static const VkStructureType kSType = VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR; 1312 }; 1313 1314 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR> { 1315 typedef VkD3D12FenceSubmitInfoKHR Type; 1316 }; 1317 1318 #endif // VK_USE_PLATFORM_WIN32_KHR 1319 #ifdef VK_USE_PLATFORM_WIN32_KHR 1320 // Map type VkSemaphoreGetWin32HandleInfoKHR to id VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR 1321 template <> struct LvlTypeMap<VkSemaphoreGetWin32HandleInfoKHR> { 1322 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR; 1323 }; 1324 1325 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR> { 1326 typedef VkSemaphoreGetWin32HandleInfoKHR Type; 1327 }; 1328 1329 #endif // VK_USE_PLATFORM_WIN32_KHR 1330 // Map type VkImportSemaphoreFdInfoKHR to id VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR 1331 template <> struct LvlTypeMap<VkImportSemaphoreFdInfoKHR> { 1332 static const VkStructureType kSType = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR; 1333 }; 1334 1335 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR> { 1336 typedef VkImportSemaphoreFdInfoKHR Type; 1337 }; 1338 1339 // Map type VkSemaphoreGetFdInfoKHR to id VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR 1340 template <> struct LvlTypeMap<VkSemaphoreGetFdInfoKHR> { 1341 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR; 1342 }; 1343 1344 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR> { 1345 typedef VkSemaphoreGetFdInfoKHR Type; 1346 }; 1347 1348 // Map type VkPhysicalDevicePushDescriptorPropertiesKHR to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR 1349 template <> struct LvlTypeMap<VkPhysicalDevicePushDescriptorPropertiesKHR> { 1350 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR; 1351 }; 1352 1353 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR> { 1354 typedef VkPhysicalDevicePushDescriptorPropertiesKHR Type; 1355 }; 1356 1357 // Map type VkPhysicalDeviceShaderFloat16Int8FeaturesKHR to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR 1358 template <> struct LvlTypeMap<VkPhysicalDeviceShaderFloat16Int8FeaturesKHR> { 1359 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR; 1360 }; 1361 1362 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR> { 1363 typedef VkPhysicalDeviceShaderFloat16Int8FeaturesKHR Type; 1364 }; 1365 1366 // Map type VkPresentRegionsKHR to id VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR 1367 template <> struct LvlTypeMap<VkPresentRegionsKHR> { 1368 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR; 1369 }; 1370 1371 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR> { 1372 typedef VkPresentRegionsKHR Type; 1373 }; 1374 1375 // Map type VkPhysicalDeviceImagelessFramebufferFeaturesKHR to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR 1376 template <> struct LvlTypeMap<VkPhysicalDeviceImagelessFramebufferFeaturesKHR> { 1377 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR; 1378 }; 1379 1380 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR> { 1381 typedef VkPhysicalDeviceImagelessFramebufferFeaturesKHR Type; 1382 }; 1383 1384 // Map type VkFramebufferAttachmentImageInfoKHR to id VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR 1385 template <> struct LvlTypeMap<VkFramebufferAttachmentImageInfoKHR> { 1386 static const VkStructureType kSType = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR; 1387 }; 1388 1389 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR> { 1390 typedef VkFramebufferAttachmentImageInfoKHR Type; 1391 }; 1392 1393 // Map type VkFramebufferAttachmentsCreateInfoKHR to id VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR 1394 template <> struct LvlTypeMap<VkFramebufferAttachmentsCreateInfoKHR> { 1395 static const VkStructureType kSType = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR; 1396 }; 1397 1398 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR> { 1399 typedef VkFramebufferAttachmentsCreateInfoKHR Type; 1400 }; 1401 1402 // Map type VkRenderPassAttachmentBeginInfoKHR to id VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR 1403 template <> struct LvlTypeMap<VkRenderPassAttachmentBeginInfoKHR> { 1404 static const VkStructureType kSType = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR; 1405 }; 1406 1407 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR> { 1408 typedef VkRenderPassAttachmentBeginInfoKHR Type; 1409 }; 1410 1411 // Map type VkAttachmentDescription2KHR to id VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR 1412 template <> struct LvlTypeMap<VkAttachmentDescription2KHR> { 1413 static const VkStructureType kSType = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR; 1414 }; 1415 1416 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR> { 1417 typedef VkAttachmentDescription2KHR Type; 1418 }; 1419 1420 // Map type VkAttachmentReference2KHR to id VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR 1421 template <> struct LvlTypeMap<VkAttachmentReference2KHR> { 1422 static const VkStructureType kSType = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR; 1423 }; 1424 1425 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR> { 1426 typedef VkAttachmentReference2KHR Type; 1427 }; 1428 1429 // Map type VkSubpassDescription2KHR to id VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR 1430 template <> struct LvlTypeMap<VkSubpassDescription2KHR> { 1431 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR; 1432 }; 1433 1434 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR> { 1435 typedef VkSubpassDescription2KHR Type; 1436 }; 1437 1438 // Map type VkSubpassDependency2KHR to id VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR 1439 template <> struct LvlTypeMap<VkSubpassDependency2KHR> { 1440 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR; 1441 }; 1442 1443 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR> { 1444 typedef VkSubpassDependency2KHR Type; 1445 }; 1446 1447 // Map type VkRenderPassCreateInfo2KHR to id VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR 1448 template <> struct LvlTypeMap<VkRenderPassCreateInfo2KHR> { 1449 static const VkStructureType kSType = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR; 1450 }; 1451 1452 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR> { 1453 typedef VkRenderPassCreateInfo2KHR Type; 1454 }; 1455 1456 // Map type VkSubpassBeginInfoKHR to id VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR 1457 template <> struct LvlTypeMap<VkSubpassBeginInfoKHR> { 1458 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR; 1459 }; 1460 1461 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR> { 1462 typedef VkSubpassBeginInfoKHR Type; 1463 }; 1464 1465 // Map type VkSubpassEndInfoKHR to id VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR 1466 template <> struct LvlTypeMap<VkSubpassEndInfoKHR> { 1467 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR; 1468 }; 1469 1470 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR> { 1471 typedef VkSubpassEndInfoKHR Type; 1472 }; 1473 1474 // Map type VkSharedPresentSurfaceCapabilitiesKHR to id VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR 1475 template <> struct LvlTypeMap<VkSharedPresentSurfaceCapabilitiesKHR> { 1476 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR; 1477 }; 1478 1479 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR> { 1480 typedef VkSharedPresentSurfaceCapabilitiesKHR Type; 1481 }; 1482 1483 #ifdef VK_USE_PLATFORM_WIN32_KHR 1484 // Map type VkImportFenceWin32HandleInfoKHR to id VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR 1485 template <> struct LvlTypeMap<VkImportFenceWin32HandleInfoKHR> { 1486 static const VkStructureType kSType = VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR; 1487 }; 1488 1489 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR> { 1490 typedef VkImportFenceWin32HandleInfoKHR Type; 1491 }; 1492 1493 #endif // VK_USE_PLATFORM_WIN32_KHR 1494 #ifdef VK_USE_PLATFORM_WIN32_KHR 1495 // Map type VkExportFenceWin32HandleInfoKHR to id VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR 1496 template <> struct LvlTypeMap<VkExportFenceWin32HandleInfoKHR> { 1497 static const VkStructureType kSType = VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR; 1498 }; 1499 1500 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR> { 1501 typedef VkExportFenceWin32HandleInfoKHR Type; 1502 }; 1503 1504 #endif // VK_USE_PLATFORM_WIN32_KHR 1505 #ifdef VK_USE_PLATFORM_WIN32_KHR 1506 // Map type VkFenceGetWin32HandleInfoKHR to id VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR 1507 template <> struct LvlTypeMap<VkFenceGetWin32HandleInfoKHR> { 1508 static const VkStructureType kSType = VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR; 1509 }; 1510 1511 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR> { 1512 typedef VkFenceGetWin32HandleInfoKHR Type; 1513 }; 1514 1515 #endif // VK_USE_PLATFORM_WIN32_KHR 1516 // Map type VkImportFenceFdInfoKHR to id VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR 1517 template <> struct LvlTypeMap<VkImportFenceFdInfoKHR> { 1518 static const VkStructureType kSType = VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR; 1519 }; 1520 1521 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR> { 1522 typedef VkImportFenceFdInfoKHR Type; 1523 }; 1524 1525 // Map type VkFenceGetFdInfoKHR to id VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR 1526 template <> struct LvlTypeMap<VkFenceGetFdInfoKHR> { 1527 static const VkStructureType kSType = VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR; 1528 }; 1529 1530 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR> { 1531 typedef VkFenceGetFdInfoKHR Type; 1532 }; 1533 1534 // Map type VkPhysicalDeviceSurfaceInfo2KHR to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR 1535 template <> struct LvlTypeMap<VkPhysicalDeviceSurfaceInfo2KHR> { 1536 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR; 1537 }; 1538 1539 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR> { 1540 typedef VkPhysicalDeviceSurfaceInfo2KHR Type; 1541 }; 1542 1543 // Map type VkSurfaceCapabilities2KHR to id VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR 1544 template <> struct LvlTypeMap<VkSurfaceCapabilities2KHR> { 1545 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR; 1546 }; 1547 1548 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR> { 1549 typedef VkSurfaceCapabilities2KHR Type; 1550 }; 1551 1552 // Map type VkSurfaceFormat2KHR to id VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR 1553 template <> struct LvlTypeMap<VkSurfaceFormat2KHR> { 1554 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR; 1555 }; 1556 1557 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR> { 1558 typedef VkSurfaceFormat2KHR Type; 1559 }; 1560 1561 // Map type VkDisplayProperties2KHR to id VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR 1562 template <> struct LvlTypeMap<VkDisplayProperties2KHR> { 1563 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR; 1564 }; 1565 1566 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR> { 1567 typedef VkDisplayProperties2KHR Type; 1568 }; 1569 1570 // Map type VkDisplayPlaneProperties2KHR to id VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR 1571 template <> struct LvlTypeMap<VkDisplayPlaneProperties2KHR> { 1572 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR; 1573 }; 1574 1575 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR> { 1576 typedef VkDisplayPlaneProperties2KHR Type; 1577 }; 1578 1579 // Map type VkDisplayModeProperties2KHR to id VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR 1580 template <> struct LvlTypeMap<VkDisplayModeProperties2KHR> { 1581 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR; 1582 }; 1583 1584 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR> { 1585 typedef VkDisplayModeProperties2KHR Type; 1586 }; 1587 1588 // Map type VkDisplayPlaneInfo2KHR to id VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR 1589 template <> struct LvlTypeMap<VkDisplayPlaneInfo2KHR> { 1590 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR; 1591 }; 1592 1593 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR> { 1594 typedef VkDisplayPlaneInfo2KHR Type; 1595 }; 1596 1597 // Map type VkDisplayPlaneCapabilities2KHR to id VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR 1598 template <> struct LvlTypeMap<VkDisplayPlaneCapabilities2KHR> { 1599 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR; 1600 }; 1601 1602 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR> { 1603 typedef VkDisplayPlaneCapabilities2KHR Type; 1604 }; 1605 1606 // Map type VkImageFormatListCreateInfoKHR to id VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR 1607 template <> struct LvlTypeMap<VkImageFormatListCreateInfoKHR> { 1608 static const VkStructureType kSType = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR; 1609 }; 1610 1611 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR> { 1612 typedef VkImageFormatListCreateInfoKHR Type; 1613 }; 1614 1615 // Map type VkPhysicalDevice8BitStorageFeaturesKHR to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR 1616 template <> struct LvlTypeMap<VkPhysicalDevice8BitStorageFeaturesKHR> { 1617 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR; 1618 }; 1619 1620 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR> { 1621 typedef VkPhysicalDevice8BitStorageFeaturesKHR Type; 1622 }; 1623 1624 // Map type VkPhysicalDeviceShaderAtomicInt64FeaturesKHR to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR 1625 template <> struct LvlTypeMap<VkPhysicalDeviceShaderAtomicInt64FeaturesKHR> { 1626 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR; 1627 }; 1628 1629 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR> { 1630 typedef VkPhysicalDeviceShaderAtomicInt64FeaturesKHR Type; 1631 }; 1632 1633 // Map type VkPhysicalDeviceDriverPropertiesKHR to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR 1634 template <> struct LvlTypeMap<VkPhysicalDeviceDriverPropertiesKHR> { 1635 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR; 1636 }; 1637 1638 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR> { 1639 typedef VkPhysicalDeviceDriverPropertiesKHR Type; 1640 }; 1641 1642 // Map type VkPhysicalDeviceFloatControlsPropertiesKHR to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR 1643 template <> struct LvlTypeMap<VkPhysicalDeviceFloatControlsPropertiesKHR> { 1644 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR; 1645 }; 1646 1647 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR> { 1648 typedef VkPhysicalDeviceFloatControlsPropertiesKHR Type; 1649 }; 1650 1651 // Map type VkSubpassDescriptionDepthStencilResolveKHR to id VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR 1652 template <> struct LvlTypeMap<VkSubpassDescriptionDepthStencilResolveKHR> { 1653 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR; 1654 }; 1655 1656 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR> { 1657 typedef VkSubpassDescriptionDepthStencilResolveKHR Type; 1658 }; 1659 1660 // Map type VkPhysicalDeviceDepthStencilResolvePropertiesKHR to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR 1661 template <> struct LvlTypeMap<VkPhysicalDeviceDepthStencilResolvePropertiesKHR> { 1662 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR; 1663 }; 1664 1665 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR> { 1666 typedef VkPhysicalDeviceDepthStencilResolvePropertiesKHR Type; 1667 }; 1668 1669 // Map type VkPhysicalDeviceVulkanMemoryModelFeaturesKHR to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR 1670 template <> struct LvlTypeMap<VkPhysicalDeviceVulkanMemoryModelFeaturesKHR> { 1671 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR; 1672 }; 1673 1674 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR> { 1675 typedef VkPhysicalDeviceVulkanMemoryModelFeaturesKHR Type; 1676 }; 1677 1678 // Map type VkSurfaceProtectedCapabilitiesKHR to id VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR 1679 template <> struct LvlTypeMap<VkSurfaceProtectedCapabilitiesKHR> { 1680 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR; 1681 }; 1682 1683 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR> { 1684 typedef VkSurfaceProtectedCapabilitiesKHR Type; 1685 }; 1686 1687 // Map type VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR 1688 template <> struct LvlTypeMap<VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR> { 1689 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR; 1690 }; 1691 1692 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR> { 1693 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR Type; 1694 }; 1695 1696 // Map type VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR 1697 template <> struct LvlTypeMap<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR> { 1698 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR; 1699 }; 1700 1701 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR> { 1702 typedef VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR Type; 1703 }; 1704 1705 // Map type VkPipelineInfoKHR to id VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR 1706 template <> struct LvlTypeMap<VkPipelineInfoKHR> { 1707 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR; 1708 }; 1709 1710 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR> { 1711 typedef VkPipelineInfoKHR Type; 1712 }; 1713 1714 // Map type VkPipelineExecutablePropertiesKHR to id VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR 1715 template <> struct LvlTypeMap<VkPipelineExecutablePropertiesKHR> { 1716 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR; 1717 }; 1718 1719 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR> { 1720 typedef VkPipelineExecutablePropertiesKHR Type; 1721 }; 1722 1723 // Map type VkPipelineExecutableInfoKHR to id VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR 1724 template <> struct LvlTypeMap<VkPipelineExecutableInfoKHR> { 1725 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR; 1726 }; 1727 1728 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR> { 1729 typedef VkPipelineExecutableInfoKHR Type; 1730 }; 1731 1732 // Map type VkPipelineExecutableStatisticKHR to id VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR 1733 template <> struct LvlTypeMap<VkPipelineExecutableStatisticKHR> { 1734 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR; 1735 }; 1736 1737 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR> { 1738 typedef VkPipelineExecutableStatisticKHR Type; 1739 }; 1740 1741 // Map type VkPipelineExecutableInternalRepresentationKHR to id VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR 1742 template <> struct LvlTypeMap<VkPipelineExecutableInternalRepresentationKHR> { 1743 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR; 1744 }; 1745 1746 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR> { 1747 typedef VkPipelineExecutableInternalRepresentationKHR Type; 1748 }; 1749 1750 // Map type VkDebugReportCallbackCreateInfoEXT to id VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT 1751 template <> struct LvlTypeMap<VkDebugReportCallbackCreateInfoEXT> { 1752 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT; 1753 }; 1754 1755 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT> { 1756 typedef VkDebugReportCallbackCreateInfoEXT Type; 1757 }; 1758 1759 // Map type VkPipelineRasterizationStateRasterizationOrderAMD to id VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD 1760 template <> struct LvlTypeMap<VkPipelineRasterizationStateRasterizationOrderAMD> { 1761 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD; 1762 }; 1763 1764 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD> { 1765 typedef VkPipelineRasterizationStateRasterizationOrderAMD Type; 1766 }; 1767 1768 // Map type VkDebugMarkerObjectNameInfoEXT to id VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT 1769 template <> struct LvlTypeMap<VkDebugMarkerObjectNameInfoEXT> { 1770 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT; 1771 }; 1772 1773 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT> { 1774 typedef VkDebugMarkerObjectNameInfoEXT Type; 1775 }; 1776 1777 // Map type VkDebugMarkerObjectTagInfoEXT to id VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT 1778 template <> struct LvlTypeMap<VkDebugMarkerObjectTagInfoEXT> { 1779 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT; 1780 }; 1781 1782 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT> { 1783 typedef VkDebugMarkerObjectTagInfoEXT Type; 1784 }; 1785 1786 // Map type VkDebugMarkerMarkerInfoEXT to id VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT 1787 template <> struct LvlTypeMap<VkDebugMarkerMarkerInfoEXT> { 1788 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT; 1789 }; 1790 1791 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT> { 1792 typedef VkDebugMarkerMarkerInfoEXT Type; 1793 }; 1794 1795 // Map type VkDedicatedAllocationImageCreateInfoNV to id VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV 1796 template <> struct LvlTypeMap<VkDedicatedAllocationImageCreateInfoNV> { 1797 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV; 1798 }; 1799 1800 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV> { 1801 typedef VkDedicatedAllocationImageCreateInfoNV Type; 1802 }; 1803 1804 // Map type VkDedicatedAllocationBufferCreateInfoNV to id VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV 1805 template <> struct LvlTypeMap<VkDedicatedAllocationBufferCreateInfoNV> { 1806 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV; 1807 }; 1808 1809 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV> { 1810 typedef VkDedicatedAllocationBufferCreateInfoNV Type; 1811 }; 1812 1813 // Map type VkDedicatedAllocationMemoryAllocateInfoNV to id VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV 1814 template <> struct LvlTypeMap<VkDedicatedAllocationMemoryAllocateInfoNV> { 1815 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV; 1816 }; 1817 1818 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV> { 1819 typedef VkDedicatedAllocationMemoryAllocateInfoNV Type; 1820 }; 1821 1822 // Map type VkPhysicalDeviceTransformFeedbackFeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT 1823 template <> struct LvlTypeMap<VkPhysicalDeviceTransformFeedbackFeaturesEXT> { 1824 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT; 1825 }; 1826 1827 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT> { 1828 typedef VkPhysicalDeviceTransformFeedbackFeaturesEXT Type; 1829 }; 1830 1831 // Map type VkPhysicalDeviceTransformFeedbackPropertiesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT 1832 template <> struct LvlTypeMap<VkPhysicalDeviceTransformFeedbackPropertiesEXT> { 1833 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT; 1834 }; 1835 1836 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT> { 1837 typedef VkPhysicalDeviceTransformFeedbackPropertiesEXT Type; 1838 }; 1839 1840 // Map type VkPipelineRasterizationStateStreamCreateInfoEXT to id VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT 1841 template <> struct LvlTypeMap<VkPipelineRasterizationStateStreamCreateInfoEXT> { 1842 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT; 1843 }; 1844 1845 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT> { 1846 typedef VkPipelineRasterizationStateStreamCreateInfoEXT Type; 1847 }; 1848 1849 // Map type VkImageViewHandleInfoNVX to id VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX 1850 template <> struct LvlTypeMap<VkImageViewHandleInfoNVX> { 1851 static const VkStructureType kSType = VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX; 1852 }; 1853 1854 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX> { 1855 typedef VkImageViewHandleInfoNVX Type; 1856 }; 1857 1858 // Map type VkTextureLODGatherFormatPropertiesAMD to id VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD 1859 template <> struct LvlTypeMap<VkTextureLODGatherFormatPropertiesAMD> { 1860 static const VkStructureType kSType = VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD; 1861 }; 1862 1863 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD> { 1864 typedef VkTextureLODGatherFormatPropertiesAMD Type; 1865 }; 1866 1867 #ifdef VK_USE_PLATFORM_GGP 1868 // Map type VkStreamDescriptorSurfaceCreateInfoGGP to id VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP 1869 template <> struct LvlTypeMap<VkStreamDescriptorSurfaceCreateInfoGGP> { 1870 static const VkStructureType kSType = VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP; 1871 }; 1872 1873 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP> { 1874 typedef VkStreamDescriptorSurfaceCreateInfoGGP Type; 1875 }; 1876 1877 #endif // VK_USE_PLATFORM_GGP 1878 // Map type VkPhysicalDeviceCornerSampledImageFeaturesNV to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV 1879 template <> struct LvlTypeMap<VkPhysicalDeviceCornerSampledImageFeaturesNV> { 1880 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV; 1881 }; 1882 1883 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV> { 1884 typedef VkPhysicalDeviceCornerSampledImageFeaturesNV Type; 1885 }; 1886 1887 // Map type VkExternalMemoryImageCreateInfoNV to id VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV 1888 template <> struct LvlTypeMap<VkExternalMemoryImageCreateInfoNV> { 1889 static const VkStructureType kSType = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV; 1890 }; 1891 1892 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV> { 1893 typedef VkExternalMemoryImageCreateInfoNV Type; 1894 }; 1895 1896 // Map type VkExportMemoryAllocateInfoNV to id VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV 1897 template <> struct LvlTypeMap<VkExportMemoryAllocateInfoNV> { 1898 static const VkStructureType kSType = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV; 1899 }; 1900 1901 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV> { 1902 typedef VkExportMemoryAllocateInfoNV Type; 1903 }; 1904 1905 #ifdef VK_USE_PLATFORM_WIN32_KHR 1906 // Map type VkImportMemoryWin32HandleInfoNV to id VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV 1907 template <> struct LvlTypeMap<VkImportMemoryWin32HandleInfoNV> { 1908 static const VkStructureType kSType = VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV; 1909 }; 1910 1911 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV> { 1912 typedef VkImportMemoryWin32HandleInfoNV Type; 1913 }; 1914 1915 #endif // VK_USE_PLATFORM_WIN32_KHR 1916 #ifdef VK_USE_PLATFORM_WIN32_KHR 1917 // Map type VkExportMemoryWin32HandleInfoNV to id VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV 1918 template <> struct LvlTypeMap<VkExportMemoryWin32HandleInfoNV> { 1919 static const VkStructureType kSType = VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV; 1920 }; 1921 1922 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV> { 1923 typedef VkExportMemoryWin32HandleInfoNV Type; 1924 }; 1925 1926 #endif // VK_USE_PLATFORM_WIN32_KHR 1927 #ifdef VK_USE_PLATFORM_WIN32_KHR 1928 // Map type VkWin32KeyedMutexAcquireReleaseInfoNV to id VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV 1929 template <> struct LvlTypeMap<VkWin32KeyedMutexAcquireReleaseInfoNV> { 1930 static const VkStructureType kSType = VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV; 1931 }; 1932 1933 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV> { 1934 typedef VkWin32KeyedMutexAcquireReleaseInfoNV Type; 1935 }; 1936 1937 #endif // VK_USE_PLATFORM_WIN32_KHR 1938 // Map type VkValidationFlagsEXT to id VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT 1939 template <> struct LvlTypeMap<VkValidationFlagsEXT> { 1940 static const VkStructureType kSType = VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT; 1941 }; 1942 1943 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT> { 1944 typedef VkValidationFlagsEXT Type; 1945 }; 1946 1947 #ifdef VK_USE_PLATFORM_VI_NN 1948 // Map type VkViSurfaceCreateInfoNN to id VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN 1949 template <> struct LvlTypeMap<VkViSurfaceCreateInfoNN> { 1950 static const VkStructureType kSType = VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN; 1951 }; 1952 1953 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN> { 1954 typedef VkViSurfaceCreateInfoNN Type; 1955 }; 1956 1957 #endif // VK_USE_PLATFORM_VI_NN 1958 // Map type VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT 1959 template <> struct LvlTypeMap<VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT> { 1960 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT; 1961 }; 1962 1963 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT> { 1964 typedef VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT Type; 1965 }; 1966 1967 // Map type VkImageViewASTCDecodeModeEXT to id VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT 1968 template <> struct LvlTypeMap<VkImageViewASTCDecodeModeEXT> { 1969 static const VkStructureType kSType = VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT; 1970 }; 1971 1972 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT> { 1973 typedef VkImageViewASTCDecodeModeEXT Type; 1974 }; 1975 1976 // Map type VkPhysicalDeviceASTCDecodeFeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT 1977 template <> struct LvlTypeMap<VkPhysicalDeviceASTCDecodeFeaturesEXT> { 1978 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT; 1979 }; 1980 1981 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT> { 1982 typedef VkPhysicalDeviceASTCDecodeFeaturesEXT Type; 1983 }; 1984 1985 // Map type VkConditionalRenderingBeginInfoEXT to id VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT 1986 template <> struct LvlTypeMap<VkConditionalRenderingBeginInfoEXT> { 1987 static const VkStructureType kSType = VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT; 1988 }; 1989 1990 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT> { 1991 typedef VkConditionalRenderingBeginInfoEXT Type; 1992 }; 1993 1994 // Map type VkPhysicalDeviceConditionalRenderingFeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT 1995 template <> struct LvlTypeMap<VkPhysicalDeviceConditionalRenderingFeaturesEXT> { 1996 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT; 1997 }; 1998 1999 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT> { 2000 typedef VkPhysicalDeviceConditionalRenderingFeaturesEXT Type; 2001 }; 2002 2003 // Map type VkCommandBufferInheritanceConditionalRenderingInfoEXT to id VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT 2004 template <> struct LvlTypeMap<VkCommandBufferInheritanceConditionalRenderingInfoEXT> { 2005 static const VkStructureType kSType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT; 2006 }; 2007 2008 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT> { 2009 typedef VkCommandBufferInheritanceConditionalRenderingInfoEXT Type; 2010 }; 2011 2012 // Map type VkDeviceGeneratedCommandsFeaturesNVX to id VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX 2013 template <> struct LvlTypeMap<VkDeviceGeneratedCommandsFeaturesNVX> { 2014 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX; 2015 }; 2016 2017 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX> { 2018 typedef VkDeviceGeneratedCommandsFeaturesNVX Type; 2019 }; 2020 2021 // Map type VkDeviceGeneratedCommandsLimitsNVX to id VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX 2022 template <> struct LvlTypeMap<VkDeviceGeneratedCommandsLimitsNVX> { 2023 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX; 2024 }; 2025 2026 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX> { 2027 typedef VkDeviceGeneratedCommandsLimitsNVX Type; 2028 }; 2029 2030 // Map type VkIndirectCommandsLayoutCreateInfoNVX to id VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX 2031 template <> struct LvlTypeMap<VkIndirectCommandsLayoutCreateInfoNVX> { 2032 static const VkStructureType kSType = VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX; 2033 }; 2034 2035 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX> { 2036 typedef VkIndirectCommandsLayoutCreateInfoNVX Type; 2037 }; 2038 2039 // Map type VkCmdProcessCommandsInfoNVX to id VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX 2040 template <> struct LvlTypeMap<VkCmdProcessCommandsInfoNVX> { 2041 static const VkStructureType kSType = VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX; 2042 }; 2043 2044 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX> { 2045 typedef VkCmdProcessCommandsInfoNVX Type; 2046 }; 2047 2048 // Map type VkCmdReserveSpaceForCommandsInfoNVX to id VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX 2049 template <> struct LvlTypeMap<VkCmdReserveSpaceForCommandsInfoNVX> { 2050 static const VkStructureType kSType = VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX; 2051 }; 2052 2053 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX> { 2054 typedef VkCmdReserveSpaceForCommandsInfoNVX Type; 2055 }; 2056 2057 // Map type VkObjectTableCreateInfoNVX to id VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX 2058 template <> struct LvlTypeMap<VkObjectTableCreateInfoNVX> { 2059 static const VkStructureType kSType = VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX; 2060 }; 2061 2062 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX> { 2063 typedef VkObjectTableCreateInfoNVX Type; 2064 }; 2065 2066 // Map type VkPipelineViewportWScalingStateCreateInfoNV to id VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV 2067 template <> struct LvlTypeMap<VkPipelineViewportWScalingStateCreateInfoNV> { 2068 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV; 2069 }; 2070 2071 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV> { 2072 typedef VkPipelineViewportWScalingStateCreateInfoNV Type; 2073 }; 2074 2075 // Map type VkSurfaceCapabilities2EXT to id VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT 2076 template <> struct LvlTypeMap<VkSurfaceCapabilities2EXT> { 2077 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT; 2078 }; 2079 2080 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT> { 2081 typedef VkSurfaceCapabilities2EXT Type; 2082 }; 2083 2084 // Map type VkDisplayPowerInfoEXT to id VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT 2085 template <> struct LvlTypeMap<VkDisplayPowerInfoEXT> { 2086 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT; 2087 }; 2088 2089 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT> { 2090 typedef VkDisplayPowerInfoEXT Type; 2091 }; 2092 2093 // Map type VkDeviceEventInfoEXT to id VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT 2094 template <> struct LvlTypeMap<VkDeviceEventInfoEXT> { 2095 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT; 2096 }; 2097 2098 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT> { 2099 typedef VkDeviceEventInfoEXT Type; 2100 }; 2101 2102 // Map type VkDisplayEventInfoEXT to id VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT 2103 template <> struct LvlTypeMap<VkDisplayEventInfoEXT> { 2104 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT; 2105 }; 2106 2107 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT> { 2108 typedef VkDisplayEventInfoEXT Type; 2109 }; 2110 2111 // Map type VkSwapchainCounterCreateInfoEXT to id VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT 2112 template <> struct LvlTypeMap<VkSwapchainCounterCreateInfoEXT> { 2113 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT; 2114 }; 2115 2116 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT> { 2117 typedef VkSwapchainCounterCreateInfoEXT Type; 2118 }; 2119 2120 // Map type VkPresentTimesInfoGOOGLE to id VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE 2121 template <> struct LvlTypeMap<VkPresentTimesInfoGOOGLE> { 2122 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE; 2123 }; 2124 2125 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE> { 2126 typedef VkPresentTimesInfoGOOGLE Type; 2127 }; 2128 2129 // Map type VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX 2130 template <> struct LvlTypeMap<VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX> { 2131 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX; 2132 }; 2133 2134 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX> { 2135 typedef VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX Type; 2136 }; 2137 2138 // Map type VkPipelineViewportSwizzleStateCreateInfoNV to id VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV 2139 template <> struct LvlTypeMap<VkPipelineViewportSwizzleStateCreateInfoNV> { 2140 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV; 2141 }; 2142 2143 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV> { 2144 typedef VkPipelineViewportSwizzleStateCreateInfoNV Type; 2145 }; 2146 2147 // Map type VkPhysicalDeviceDiscardRectanglePropertiesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT 2148 template <> struct LvlTypeMap<VkPhysicalDeviceDiscardRectanglePropertiesEXT> { 2149 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT; 2150 }; 2151 2152 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT> { 2153 typedef VkPhysicalDeviceDiscardRectanglePropertiesEXT Type; 2154 }; 2155 2156 // Map type VkPipelineDiscardRectangleStateCreateInfoEXT to id VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT 2157 template <> struct LvlTypeMap<VkPipelineDiscardRectangleStateCreateInfoEXT> { 2158 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT; 2159 }; 2160 2161 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT> { 2162 typedef VkPipelineDiscardRectangleStateCreateInfoEXT Type; 2163 }; 2164 2165 // Map type VkPhysicalDeviceConservativeRasterizationPropertiesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT 2166 template <> struct LvlTypeMap<VkPhysicalDeviceConservativeRasterizationPropertiesEXT> { 2167 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT; 2168 }; 2169 2170 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT> { 2171 typedef VkPhysicalDeviceConservativeRasterizationPropertiesEXT Type; 2172 }; 2173 2174 // Map type VkPipelineRasterizationConservativeStateCreateInfoEXT to id VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT 2175 template <> struct LvlTypeMap<VkPipelineRasterizationConservativeStateCreateInfoEXT> { 2176 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT; 2177 }; 2178 2179 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT> { 2180 typedef VkPipelineRasterizationConservativeStateCreateInfoEXT Type; 2181 }; 2182 2183 // Map type VkPhysicalDeviceDepthClipEnableFeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT 2184 template <> struct LvlTypeMap<VkPhysicalDeviceDepthClipEnableFeaturesEXT> { 2185 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT; 2186 }; 2187 2188 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT> { 2189 typedef VkPhysicalDeviceDepthClipEnableFeaturesEXT Type; 2190 }; 2191 2192 // Map type VkPipelineRasterizationDepthClipStateCreateInfoEXT to id VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT 2193 template <> struct LvlTypeMap<VkPipelineRasterizationDepthClipStateCreateInfoEXT> { 2194 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT; 2195 }; 2196 2197 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT> { 2198 typedef VkPipelineRasterizationDepthClipStateCreateInfoEXT Type; 2199 }; 2200 2201 // Map type VkHdrMetadataEXT to id VK_STRUCTURE_TYPE_HDR_METADATA_EXT 2202 template <> struct LvlTypeMap<VkHdrMetadataEXT> { 2203 static const VkStructureType kSType = VK_STRUCTURE_TYPE_HDR_METADATA_EXT; 2204 }; 2205 2206 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_HDR_METADATA_EXT> { 2207 typedef VkHdrMetadataEXT Type; 2208 }; 2209 2210 #ifdef VK_USE_PLATFORM_IOS_MVK 2211 // Map type VkIOSSurfaceCreateInfoMVK to id VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK 2212 template <> struct LvlTypeMap<VkIOSSurfaceCreateInfoMVK> { 2213 static const VkStructureType kSType = VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK; 2214 }; 2215 2216 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK> { 2217 typedef VkIOSSurfaceCreateInfoMVK Type; 2218 }; 2219 2220 #endif // VK_USE_PLATFORM_IOS_MVK 2221 #ifdef VK_USE_PLATFORM_MACOS_MVK 2222 // Map type VkMacOSSurfaceCreateInfoMVK to id VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK 2223 template <> struct LvlTypeMap<VkMacOSSurfaceCreateInfoMVK> { 2224 static const VkStructureType kSType = VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK; 2225 }; 2226 2227 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK> { 2228 typedef VkMacOSSurfaceCreateInfoMVK Type; 2229 }; 2230 2231 #endif // VK_USE_PLATFORM_MACOS_MVK 2232 // Map type VkDebugUtilsObjectNameInfoEXT to id VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT 2233 template <> struct LvlTypeMap<VkDebugUtilsObjectNameInfoEXT> { 2234 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT; 2235 }; 2236 2237 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT> { 2238 typedef VkDebugUtilsObjectNameInfoEXT Type; 2239 }; 2240 2241 // Map type VkDebugUtilsObjectTagInfoEXT to id VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT 2242 template <> struct LvlTypeMap<VkDebugUtilsObjectTagInfoEXT> { 2243 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT; 2244 }; 2245 2246 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT> { 2247 typedef VkDebugUtilsObjectTagInfoEXT Type; 2248 }; 2249 2250 // Map type VkDebugUtilsLabelEXT to id VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT 2251 template <> struct LvlTypeMap<VkDebugUtilsLabelEXT> { 2252 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT; 2253 }; 2254 2255 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT> { 2256 typedef VkDebugUtilsLabelEXT Type; 2257 }; 2258 2259 // Map type VkDebugUtilsMessengerCallbackDataEXT to id VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT 2260 template <> struct LvlTypeMap<VkDebugUtilsMessengerCallbackDataEXT> { 2261 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT; 2262 }; 2263 2264 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT> { 2265 typedef VkDebugUtilsMessengerCallbackDataEXT Type; 2266 }; 2267 2268 // Map type VkDebugUtilsMessengerCreateInfoEXT to id VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT 2269 template <> struct LvlTypeMap<VkDebugUtilsMessengerCreateInfoEXT> { 2270 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT; 2271 }; 2272 2273 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT> { 2274 typedef VkDebugUtilsMessengerCreateInfoEXT Type; 2275 }; 2276 2277 #ifdef VK_USE_PLATFORM_ANDROID_KHR 2278 // Map type VkAndroidHardwareBufferUsageANDROID to id VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID 2279 template <> struct LvlTypeMap<VkAndroidHardwareBufferUsageANDROID> { 2280 static const VkStructureType kSType = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID; 2281 }; 2282 2283 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID> { 2284 typedef VkAndroidHardwareBufferUsageANDROID Type; 2285 }; 2286 2287 #endif // VK_USE_PLATFORM_ANDROID_KHR 2288 #ifdef VK_USE_PLATFORM_ANDROID_KHR 2289 // Map type VkAndroidHardwareBufferPropertiesANDROID to id VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID 2290 template <> struct LvlTypeMap<VkAndroidHardwareBufferPropertiesANDROID> { 2291 static const VkStructureType kSType = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID; 2292 }; 2293 2294 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID> { 2295 typedef VkAndroidHardwareBufferPropertiesANDROID Type; 2296 }; 2297 2298 #endif // VK_USE_PLATFORM_ANDROID_KHR 2299 #ifdef VK_USE_PLATFORM_ANDROID_KHR 2300 // Map type VkAndroidHardwareBufferFormatPropertiesANDROID to id VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID 2301 template <> struct LvlTypeMap<VkAndroidHardwareBufferFormatPropertiesANDROID> { 2302 static const VkStructureType kSType = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID; 2303 }; 2304 2305 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID> { 2306 typedef VkAndroidHardwareBufferFormatPropertiesANDROID Type; 2307 }; 2308 2309 #endif // VK_USE_PLATFORM_ANDROID_KHR 2310 #ifdef VK_USE_PLATFORM_ANDROID_KHR 2311 // Map type VkImportAndroidHardwareBufferInfoANDROID to id VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID 2312 template <> struct LvlTypeMap<VkImportAndroidHardwareBufferInfoANDROID> { 2313 static const VkStructureType kSType = VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID; 2314 }; 2315 2316 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID> { 2317 typedef VkImportAndroidHardwareBufferInfoANDROID Type; 2318 }; 2319 2320 #endif // VK_USE_PLATFORM_ANDROID_KHR 2321 #ifdef VK_USE_PLATFORM_ANDROID_KHR 2322 // Map type VkMemoryGetAndroidHardwareBufferInfoANDROID to id VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID 2323 template <> struct LvlTypeMap<VkMemoryGetAndroidHardwareBufferInfoANDROID> { 2324 static const VkStructureType kSType = VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID; 2325 }; 2326 2327 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID> { 2328 typedef VkMemoryGetAndroidHardwareBufferInfoANDROID Type; 2329 }; 2330 2331 #endif // VK_USE_PLATFORM_ANDROID_KHR 2332 #ifdef VK_USE_PLATFORM_ANDROID_KHR 2333 // Map type VkExternalFormatANDROID to id VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID 2334 template <> struct LvlTypeMap<VkExternalFormatANDROID> { 2335 static const VkStructureType kSType = VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID; 2336 }; 2337 2338 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID> { 2339 typedef VkExternalFormatANDROID Type; 2340 }; 2341 2342 #endif // VK_USE_PLATFORM_ANDROID_KHR 2343 // Map type VkSamplerReductionModeCreateInfoEXT to id VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT 2344 template <> struct LvlTypeMap<VkSamplerReductionModeCreateInfoEXT> { 2345 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT; 2346 }; 2347 2348 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT> { 2349 typedef VkSamplerReductionModeCreateInfoEXT Type; 2350 }; 2351 2352 // Map type VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT 2353 template <> struct LvlTypeMap<VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT> { 2354 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT; 2355 }; 2356 2357 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT> { 2358 typedef VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT Type; 2359 }; 2360 2361 // Map type VkPhysicalDeviceInlineUniformBlockFeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT 2362 template <> struct LvlTypeMap<VkPhysicalDeviceInlineUniformBlockFeaturesEXT> { 2363 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT; 2364 }; 2365 2366 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT> { 2367 typedef VkPhysicalDeviceInlineUniformBlockFeaturesEXT Type; 2368 }; 2369 2370 // Map type VkPhysicalDeviceInlineUniformBlockPropertiesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT 2371 template <> struct LvlTypeMap<VkPhysicalDeviceInlineUniformBlockPropertiesEXT> { 2372 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT; 2373 }; 2374 2375 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT> { 2376 typedef VkPhysicalDeviceInlineUniformBlockPropertiesEXT Type; 2377 }; 2378 2379 // Map type VkWriteDescriptorSetInlineUniformBlockEXT to id VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT 2380 template <> struct LvlTypeMap<VkWriteDescriptorSetInlineUniformBlockEXT> { 2381 static const VkStructureType kSType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT; 2382 }; 2383 2384 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT> { 2385 typedef VkWriteDescriptorSetInlineUniformBlockEXT Type; 2386 }; 2387 2388 // Map type VkDescriptorPoolInlineUniformBlockCreateInfoEXT to id VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT 2389 template <> struct LvlTypeMap<VkDescriptorPoolInlineUniformBlockCreateInfoEXT> { 2390 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT; 2391 }; 2392 2393 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT> { 2394 typedef VkDescriptorPoolInlineUniformBlockCreateInfoEXT Type; 2395 }; 2396 2397 // Map type VkSampleLocationsInfoEXT to id VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT 2398 template <> struct LvlTypeMap<VkSampleLocationsInfoEXT> { 2399 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT; 2400 }; 2401 2402 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT> { 2403 typedef VkSampleLocationsInfoEXT Type; 2404 }; 2405 2406 // Map type VkRenderPassSampleLocationsBeginInfoEXT to id VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT 2407 template <> struct LvlTypeMap<VkRenderPassSampleLocationsBeginInfoEXT> { 2408 static const VkStructureType kSType = VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT; 2409 }; 2410 2411 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT> { 2412 typedef VkRenderPassSampleLocationsBeginInfoEXT Type; 2413 }; 2414 2415 // Map type VkPipelineSampleLocationsStateCreateInfoEXT to id VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT 2416 template <> struct LvlTypeMap<VkPipelineSampleLocationsStateCreateInfoEXT> { 2417 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT; 2418 }; 2419 2420 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT> { 2421 typedef VkPipelineSampleLocationsStateCreateInfoEXT Type; 2422 }; 2423 2424 // Map type VkPhysicalDeviceSampleLocationsPropertiesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT 2425 template <> struct LvlTypeMap<VkPhysicalDeviceSampleLocationsPropertiesEXT> { 2426 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT; 2427 }; 2428 2429 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT> { 2430 typedef VkPhysicalDeviceSampleLocationsPropertiesEXT Type; 2431 }; 2432 2433 // Map type VkMultisamplePropertiesEXT to id VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT 2434 template <> struct LvlTypeMap<VkMultisamplePropertiesEXT> { 2435 static const VkStructureType kSType = VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT; 2436 }; 2437 2438 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT> { 2439 typedef VkMultisamplePropertiesEXT Type; 2440 }; 2441 2442 // Map type VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT 2443 template <> struct LvlTypeMap<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT> { 2444 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT; 2445 }; 2446 2447 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT> { 2448 typedef VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT Type; 2449 }; 2450 2451 // Map type VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT 2452 template <> struct LvlTypeMap<VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT> { 2453 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT; 2454 }; 2455 2456 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT> { 2457 typedef VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT Type; 2458 }; 2459 2460 // Map type VkPipelineColorBlendAdvancedStateCreateInfoEXT to id VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT 2461 template <> struct LvlTypeMap<VkPipelineColorBlendAdvancedStateCreateInfoEXT> { 2462 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT; 2463 }; 2464 2465 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT> { 2466 typedef VkPipelineColorBlendAdvancedStateCreateInfoEXT Type; 2467 }; 2468 2469 // Map type VkPipelineCoverageToColorStateCreateInfoNV to id VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV 2470 template <> struct LvlTypeMap<VkPipelineCoverageToColorStateCreateInfoNV> { 2471 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV; 2472 }; 2473 2474 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV> { 2475 typedef VkPipelineCoverageToColorStateCreateInfoNV Type; 2476 }; 2477 2478 // Map type VkPipelineCoverageModulationStateCreateInfoNV to id VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV 2479 template <> struct LvlTypeMap<VkPipelineCoverageModulationStateCreateInfoNV> { 2480 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV; 2481 }; 2482 2483 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV> { 2484 typedef VkPipelineCoverageModulationStateCreateInfoNV Type; 2485 }; 2486 2487 // Map type VkPhysicalDeviceShaderSMBuiltinsPropertiesNV to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV 2488 template <> struct LvlTypeMap<VkPhysicalDeviceShaderSMBuiltinsPropertiesNV> { 2489 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV; 2490 }; 2491 2492 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV> { 2493 typedef VkPhysicalDeviceShaderSMBuiltinsPropertiesNV Type; 2494 }; 2495 2496 // Map type VkPhysicalDeviceShaderSMBuiltinsFeaturesNV to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV 2497 template <> struct LvlTypeMap<VkPhysicalDeviceShaderSMBuiltinsFeaturesNV> { 2498 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV; 2499 }; 2500 2501 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV> { 2502 typedef VkPhysicalDeviceShaderSMBuiltinsFeaturesNV Type; 2503 }; 2504 2505 // Map type VkDrmFormatModifierPropertiesListEXT to id VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT 2506 template <> struct LvlTypeMap<VkDrmFormatModifierPropertiesListEXT> { 2507 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT; 2508 }; 2509 2510 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT> { 2511 typedef VkDrmFormatModifierPropertiesListEXT Type; 2512 }; 2513 2514 // Map type VkPhysicalDeviceImageDrmFormatModifierInfoEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT 2515 template <> struct LvlTypeMap<VkPhysicalDeviceImageDrmFormatModifierInfoEXT> { 2516 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT; 2517 }; 2518 2519 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT> { 2520 typedef VkPhysicalDeviceImageDrmFormatModifierInfoEXT Type; 2521 }; 2522 2523 // Map type VkImageDrmFormatModifierListCreateInfoEXT to id VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT 2524 template <> struct LvlTypeMap<VkImageDrmFormatModifierListCreateInfoEXT> { 2525 static const VkStructureType kSType = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT; 2526 }; 2527 2528 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT> { 2529 typedef VkImageDrmFormatModifierListCreateInfoEXT Type; 2530 }; 2531 2532 // Map type VkImageDrmFormatModifierExplicitCreateInfoEXT to id VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT 2533 template <> struct LvlTypeMap<VkImageDrmFormatModifierExplicitCreateInfoEXT> { 2534 static const VkStructureType kSType = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT; 2535 }; 2536 2537 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT> { 2538 typedef VkImageDrmFormatModifierExplicitCreateInfoEXT Type; 2539 }; 2540 2541 // Map type VkImageDrmFormatModifierPropertiesEXT to id VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT 2542 template <> struct LvlTypeMap<VkImageDrmFormatModifierPropertiesEXT> { 2543 static const VkStructureType kSType = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT; 2544 }; 2545 2546 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT> { 2547 typedef VkImageDrmFormatModifierPropertiesEXT Type; 2548 }; 2549 2550 // Map type VkValidationCacheCreateInfoEXT to id VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT 2551 template <> struct LvlTypeMap<VkValidationCacheCreateInfoEXT> { 2552 static const VkStructureType kSType = VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT; 2553 }; 2554 2555 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT> { 2556 typedef VkValidationCacheCreateInfoEXT Type; 2557 }; 2558 2559 // Map type VkShaderModuleValidationCacheCreateInfoEXT to id VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT 2560 template <> struct LvlTypeMap<VkShaderModuleValidationCacheCreateInfoEXT> { 2561 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT; 2562 }; 2563 2564 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT> { 2565 typedef VkShaderModuleValidationCacheCreateInfoEXT Type; 2566 }; 2567 2568 // Map type VkDescriptorSetLayoutBindingFlagsCreateInfoEXT to id VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT 2569 template <> struct LvlTypeMap<VkDescriptorSetLayoutBindingFlagsCreateInfoEXT> { 2570 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT; 2571 }; 2572 2573 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT> { 2574 typedef VkDescriptorSetLayoutBindingFlagsCreateInfoEXT Type; 2575 }; 2576 2577 // Map type VkPhysicalDeviceDescriptorIndexingFeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT 2578 template <> struct LvlTypeMap<VkPhysicalDeviceDescriptorIndexingFeaturesEXT> { 2579 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT; 2580 }; 2581 2582 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT> { 2583 typedef VkPhysicalDeviceDescriptorIndexingFeaturesEXT Type; 2584 }; 2585 2586 // Map type VkPhysicalDeviceDescriptorIndexingPropertiesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT 2587 template <> struct LvlTypeMap<VkPhysicalDeviceDescriptorIndexingPropertiesEXT> { 2588 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT; 2589 }; 2590 2591 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT> { 2592 typedef VkPhysicalDeviceDescriptorIndexingPropertiesEXT Type; 2593 }; 2594 2595 // Map type VkDescriptorSetVariableDescriptorCountAllocateInfoEXT to id VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT 2596 template <> struct LvlTypeMap<VkDescriptorSetVariableDescriptorCountAllocateInfoEXT> { 2597 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT; 2598 }; 2599 2600 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT> { 2601 typedef VkDescriptorSetVariableDescriptorCountAllocateInfoEXT Type; 2602 }; 2603 2604 // Map type VkDescriptorSetVariableDescriptorCountLayoutSupportEXT to id VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT 2605 template <> struct LvlTypeMap<VkDescriptorSetVariableDescriptorCountLayoutSupportEXT> { 2606 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT; 2607 }; 2608 2609 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT> { 2610 typedef VkDescriptorSetVariableDescriptorCountLayoutSupportEXT Type; 2611 }; 2612 2613 // Map type VkPipelineViewportShadingRateImageStateCreateInfoNV to id VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV 2614 template <> struct LvlTypeMap<VkPipelineViewportShadingRateImageStateCreateInfoNV> { 2615 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV; 2616 }; 2617 2618 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV> { 2619 typedef VkPipelineViewportShadingRateImageStateCreateInfoNV Type; 2620 }; 2621 2622 // Map type VkPhysicalDeviceShadingRateImageFeaturesNV to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV 2623 template <> struct LvlTypeMap<VkPhysicalDeviceShadingRateImageFeaturesNV> { 2624 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV; 2625 }; 2626 2627 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV> { 2628 typedef VkPhysicalDeviceShadingRateImageFeaturesNV Type; 2629 }; 2630 2631 // Map type VkPhysicalDeviceShadingRateImagePropertiesNV to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV 2632 template <> struct LvlTypeMap<VkPhysicalDeviceShadingRateImagePropertiesNV> { 2633 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV; 2634 }; 2635 2636 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV> { 2637 typedef VkPhysicalDeviceShadingRateImagePropertiesNV Type; 2638 }; 2639 2640 // Map type VkPipelineViewportCoarseSampleOrderStateCreateInfoNV to id VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV 2641 template <> struct LvlTypeMap<VkPipelineViewportCoarseSampleOrderStateCreateInfoNV> { 2642 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV; 2643 }; 2644 2645 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV> { 2646 typedef VkPipelineViewportCoarseSampleOrderStateCreateInfoNV Type; 2647 }; 2648 2649 // Map type VkRayTracingShaderGroupCreateInfoNV to id VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV 2650 template <> struct LvlTypeMap<VkRayTracingShaderGroupCreateInfoNV> { 2651 static const VkStructureType kSType = VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV; 2652 }; 2653 2654 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV> { 2655 typedef VkRayTracingShaderGroupCreateInfoNV Type; 2656 }; 2657 2658 // Map type VkRayTracingPipelineCreateInfoNV to id VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV 2659 template <> struct LvlTypeMap<VkRayTracingPipelineCreateInfoNV> { 2660 static const VkStructureType kSType = VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV; 2661 }; 2662 2663 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV> { 2664 typedef VkRayTracingPipelineCreateInfoNV Type; 2665 }; 2666 2667 // Map type VkGeometryTrianglesNV to id VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV 2668 template <> struct LvlTypeMap<VkGeometryTrianglesNV> { 2669 static const VkStructureType kSType = VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV; 2670 }; 2671 2672 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV> { 2673 typedef VkGeometryTrianglesNV Type; 2674 }; 2675 2676 // Map type VkGeometryAABBNV to id VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV 2677 template <> struct LvlTypeMap<VkGeometryAABBNV> { 2678 static const VkStructureType kSType = VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV; 2679 }; 2680 2681 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV> { 2682 typedef VkGeometryAABBNV Type; 2683 }; 2684 2685 // Map type VkGeometryNV to id VK_STRUCTURE_TYPE_GEOMETRY_NV 2686 template <> struct LvlTypeMap<VkGeometryNV> { 2687 static const VkStructureType kSType = VK_STRUCTURE_TYPE_GEOMETRY_NV; 2688 }; 2689 2690 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_GEOMETRY_NV> { 2691 typedef VkGeometryNV Type; 2692 }; 2693 2694 // Map type VkAccelerationStructureInfoNV to id VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV 2695 template <> struct LvlTypeMap<VkAccelerationStructureInfoNV> { 2696 static const VkStructureType kSType = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV; 2697 }; 2698 2699 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV> { 2700 typedef VkAccelerationStructureInfoNV Type; 2701 }; 2702 2703 // Map type VkAccelerationStructureCreateInfoNV to id VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV 2704 template <> struct LvlTypeMap<VkAccelerationStructureCreateInfoNV> { 2705 static const VkStructureType kSType = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV; 2706 }; 2707 2708 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV> { 2709 typedef VkAccelerationStructureCreateInfoNV Type; 2710 }; 2711 2712 // Map type VkBindAccelerationStructureMemoryInfoNV to id VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV 2713 template <> struct LvlTypeMap<VkBindAccelerationStructureMemoryInfoNV> { 2714 static const VkStructureType kSType = VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV; 2715 }; 2716 2717 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV> { 2718 typedef VkBindAccelerationStructureMemoryInfoNV Type; 2719 }; 2720 2721 // Map type VkWriteDescriptorSetAccelerationStructureNV to id VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV 2722 template <> struct LvlTypeMap<VkWriteDescriptorSetAccelerationStructureNV> { 2723 static const VkStructureType kSType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV; 2724 }; 2725 2726 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV> { 2727 typedef VkWriteDescriptorSetAccelerationStructureNV Type; 2728 }; 2729 2730 // Map type VkAccelerationStructureMemoryRequirementsInfoNV to id VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV 2731 template <> struct LvlTypeMap<VkAccelerationStructureMemoryRequirementsInfoNV> { 2732 static const VkStructureType kSType = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV; 2733 }; 2734 2735 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV> { 2736 typedef VkAccelerationStructureMemoryRequirementsInfoNV Type; 2737 }; 2738 2739 // Map type VkPhysicalDeviceRayTracingPropertiesNV to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV 2740 template <> struct LvlTypeMap<VkPhysicalDeviceRayTracingPropertiesNV> { 2741 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV; 2742 }; 2743 2744 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV> { 2745 typedef VkPhysicalDeviceRayTracingPropertiesNV Type; 2746 }; 2747 2748 // Map type VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV 2749 template <> struct LvlTypeMap<VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV> { 2750 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV; 2751 }; 2752 2753 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV> { 2754 typedef VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV Type; 2755 }; 2756 2757 // Map type VkPipelineRepresentativeFragmentTestStateCreateInfoNV to id VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV 2758 template <> struct LvlTypeMap<VkPipelineRepresentativeFragmentTestStateCreateInfoNV> { 2759 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV; 2760 }; 2761 2762 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV> { 2763 typedef VkPipelineRepresentativeFragmentTestStateCreateInfoNV Type; 2764 }; 2765 2766 // Map type VkPhysicalDeviceImageViewImageFormatInfoEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT 2767 template <> struct LvlTypeMap<VkPhysicalDeviceImageViewImageFormatInfoEXT> { 2768 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT; 2769 }; 2770 2771 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT> { 2772 typedef VkPhysicalDeviceImageViewImageFormatInfoEXT Type; 2773 }; 2774 2775 // Map type VkFilterCubicImageViewImageFormatPropertiesEXT to id VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT 2776 template <> struct LvlTypeMap<VkFilterCubicImageViewImageFormatPropertiesEXT> { 2777 static const VkStructureType kSType = VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT; 2778 }; 2779 2780 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT> { 2781 typedef VkFilterCubicImageViewImageFormatPropertiesEXT Type; 2782 }; 2783 2784 // Map type VkDeviceQueueGlobalPriorityCreateInfoEXT to id VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT 2785 template <> struct LvlTypeMap<VkDeviceQueueGlobalPriorityCreateInfoEXT> { 2786 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT; 2787 }; 2788 2789 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT> { 2790 typedef VkDeviceQueueGlobalPriorityCreateInfoEXT Type; 2791 }; 2792 2793 // Map type VkImportMemoryHostPointerInfoEXT to id VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT 2794 template <> struct LvlTypeMap<VkImportMemoryHostPointerInfoEXT> { 2795 static const VkStructureType kSType = VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT; 2796 }; 2797 2798 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT> { 2799 typedef VkImportMemoryHostPointerInfoEXT Type; 2800 }; 2801 2802 // Map type VkMemoryHostPointerPropertiesEXT to id VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT 2803 template <> struct LvlTypeMap<VkMemoryHostPointerPropertiesEXT> { 2804 static const VkStructureType kSType = VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT; 2805 }; 2806 2807 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT> { 2808 typedef VkMemoryHostPointerPropertiesEXT Type; 2809 }; 2810 2811 // Map type VkPhysicalDeviceExternalMemoryHostPropertiesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT 2812 template <> struct LvlTypeMap<VkPhysicalDeviceExternalMemoryHostPropertiesEXT> { 2813 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT; 2814 }; 2815 2816 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT> { 2817 typedef VkPhysicalDeviceExternalMemoryHostPropertiesEXT Type; 2818 }; 2819 2820 // Map type VkPipelineCompilerControlCreateInfoAMD to id VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD 2821 template <> struct LvlTypeMap<VkPipelineCompilerControlCreateInfoAMD> { 2822 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD; 2823 }; 2824 2825 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD> { 2826 typedef VkPipelineCompilerControlCreateInfoAMD Type; 2827 }; 2828 2829 // Map type VkCalibratedTimestampInfoEXT to id VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT 2830 template <> struct LvlTypeMap<VkCalibratedTimestampInfoEXT> { 2831 static const VkStructureType kSType = VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT; 2832 }; 2833 2834 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT> { 2835 typedef VkCalibratedTimestampInfoEXT Type; 2836 }; 2837 2838 // Map type VkPhysicalDeviceShaderCorePropertiesAMD to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD 2839 template <> struct LvlTypeMap<VkPhysicalDeviceShaderCorePropertiesAMD> { 2840 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD; 2841 }; 2842 2843 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD> { 2844 typedef VkPhysicalDeviceShaderCorePropertiesAMD Type; 2845 }; 2846 2847 // Map type VkDeviceMemoryOverallocationCreateInfoAMD to id VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD 2848 template <> struct LvlTypeMap<VkDeviceMemoryOverallocationCreateInfoAMD> { 2849 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD; 2850 }; 2851 2852 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD> { 2853 typedef VkDeviceMemoryOverallocationCreateInfoAMD Type; 2854 }; 2855 2856 // Map type VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT 2857 template <> struct LvlTypeMap<VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT> { 2858 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT; 2859 }; 2860 2861 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT> { 2862 typedef VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT Type; 2863 }; 2864 2865 // Map type VkPipelineVertexInputDivisorStateCreateInfoEXT to id VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT 2866 template <> struct LvlTypeMap<VkPipelineVertexInputDivisorStateCreateInfoEXT> { 2867 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT; 2868 }; 2869 2870 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT> { 2871 typedef VkPipelineVertexInputDivisorStateCreateInfoEXT Type; 2872 }; 2873 2874 // Map type VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT 2875 template <> struct LvlTypeMap<VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT> { 2876 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT; 2877 }; 2878 2879 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT> { 2880 typedef VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT Type; 2881 }; 2882 2883 #ifdef VK_USE_PLATFORM_GGP 2884 // Map type VkPresentFrameTokenGGP to id VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP 2885 template <> struct LvlTypeMap<VkPresentFrameTokenGGP> { 2886 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP; 2887 }; 2888 2889 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP> { 2890 typedef VkPresentFrameTokenGGP Type; 2891 }; 2892 2893 #endif // VK_USE_PLATFORM_GGP 2894 // Map type VkPipelineCreationFeedbackCreateInfoEXT to id VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT 2895 template <> struct LvlTypeMap<VkPipelineCreationFeedbackCreateInfoEXT> { 2896 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT; 2897 }; 2898 2899 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT> { 2900 typedef VkPipelineCreationFeedbackCreateInfoEXT Type; 2901 }; 2902 2903 // Map type VkPhysicalDeviceComputeShaderDerivativesFeaturesNV to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV 2904 template <> struct LvlTypeMap<VkPhysicalDeviceComputeShaderDerivativesFeaturesNV> { 2905 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV; 2906 }; 2907 2908 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV> { 2909 typedef VkPhysicalDeviceComputeShaderDerivativesFeaturesNV Type; 2910 }; 2911 2912 // Map type VkPhysicalDeviceMeshShaderFeaturesNV to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV 2913 template <> struct LvlTypeMap<VkPhysicalDeviceMeshShaderFeaturesNV> { 2914 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV; 2915 }; 2916 2917 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV> { 2918 typedef VkPhysicalDeviceMeshShaderFeaturesNV Type; 2919 }; 2920 2921 // Map type VkPhysicalDeviceMeshShaderPropertiesNV to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV 2922 template <> struct LvlTypeMap<VkPhysicalDeviceMeshShaderPropertiesNV> { 2923 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV; 2924 }; 2925 2926 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV> { 2927 typedef VkPhysicalDeviceMeshShaderPropertiesNV Type; 2928 }; 2929 2930 // Map type VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV 2931 template <> struct LvlTypeMap<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV> { 2932 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV; 2933 }; 2934 2935 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV> { 2936 typedef VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV Type; 2937 }; 2938 2939 // Map type VkPhysicalDeviceShaderImageFootprintFeaturesNV to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV 2940 template <> struct LvlTypeMap<VkPhysicalDeviceShaderImageFootprintFeaturesNV> { 2941 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV; 2942 }; 2943 2944 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV> { 2945 typedef VkPhysicalDeviceShaderImageFootprintFeaturesNV Type; 2946 }; 2947 2948 // Map type VkPipelineViewportExclusiveScissorStateCreateInfoNV to id VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV 2949 template <> struct LvlTypeMap<VkPipelineViewportExclusiveScissorStateCreateInfoNV> { 2950 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV; 2951 }; 2952 2953 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV> { 2954 typedef VkPipelineViewportExclusiveScissorStateCreateInfoNV Type; 2955 }; 2956 2957 // Map type VkPhysicalDeviceExclusiveScissorFeaturesNV to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV 2958 template <> struct LvlTypeMap<VkPhysicalDeviceExclusiveScissorFeaturesNV> { 2959 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV; 2960 }; 2961 2962 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV> { 2963 typedef VkPhysicalDeviceExclusiveScissorFeaturesNV Type; 2964 }; 2965 2966 // Map type VkQueueFamilyCheckpointPropertiesNV to id VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV 2967 template <> struct LvlTypeMap<VkQueueFamilyCheckpointPropertiesNV> { 2968 static const VkStructureType kSType = VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV; 2969 }; 2970 2971 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV> { 2972 typedef VkQueueFamilyCheckpointPropertiesNV Type; 2973 }; 2974 2975 // Map type VkCheckpointDataNV to id VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV 2976 template <> struct LvlTypeMap<VkCheckpointDataNV> { 2977 static const VkStructureType kSType = VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV; 2978 }; 2979 2980 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV> { 2981 typedef VkCheckpointDataNV Type; 2982 }; 2983 2984 // Map type VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL 2985 template <> struct LvlTypeMap<VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL> { 2986 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL; 2987 }; 2988 2989 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL> { 2990 typedef VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL Type; 2991 }; 2992 2993 // Map type VkInitializePerformanceApiInfoINTEL to id VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL 2994 template <> struct LvlTypeMap<VkInitializePerformanceApiInfoINTEL> { 2995 static const VkStructureType kSType = VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL; 2996 }; 2997 2998 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL> { 2999 typedef VkInitializePerformanceApiInfoINTEL Type; 3000 }; 3001 3002 // Map type VkQueryPoolCreateInfoINTEL to id VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL 3003 template <> struct LvlTypeMap<VkQueryPoolCreateInfoINTEL> { 3004 static const VkStructureType kSType = VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL; 3005 }; 3006 3007 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL> { 3008 typedef VkQueryPoolCreateInfoINTEL Type; 3009 }; 3010 3011 // Map type VkPerformanceMarkerInfoINTEL to id VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL 3012 template <> struct LvlTypeMap<VkPerformanceMarkerInfoINTEL> { 3013 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL; 3014 }; 3015 3016 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL> { 3017 typedef VkPerformanceMarkerInfoINTEL Type; 3018 }; 3019 3020 // Map type VkPerformanceStreamMarkerInfoINTEL to id VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL 3021 template <> struct LvlTypeMap<VkPerformanceStreamMarkerInfoINTEL> { 3022 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL; 3023 }; 3024 3025 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL> { 3026 typedef VkPerformanceStreamMarkerInfoINTEL Type; 3027 }; 3028 3029 // Map type VkPerformanceOverrideInfoINTEL to id VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL 3030 template <> struct LvlTypeMap<VkPerformanceOverrideInfoINTEL> { 3031 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL; 3032 }; 3033 3034 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL> { 3035 typedef VkPerformanceOverrideInfoINTEL Type; 3036 }; 3037 3038 // Map type VkPerformanceConfigurationAcquireInfoINTEL to id VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL 3039 template <> struct LvlTypeMap<VkPerformanceConfigurationAcquireInfoINTEL> { 3040 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL; 3041 }; 3042 3043 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL> { 3044 typedef VkPerformanceConfigurationAcquireInfoINTEL Type; 3045 }; 3046 3047 // Map type VkPhysicalDevicePCIBusInfoPropertiesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT 3048 template <> struct LvlTypeMap<VkPhysicalDevicePCIBusInfoPropertiesEXT> { 3049 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT; 3050 }; 3051 3052 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT> { 3053 typedef VkPhysicalDevicePCIBusInfoPropertiesEXT Type; 3054 }; 3055 3056 // Map type VkDisplayNativeHdrSurfaceCapabilitiesAMD to id VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD 3057 template <> struct LvlTypeMap<VkDisplayNativeHdrSurfaceCapabilitiesAMD> { 3058 static const VkStructureType kSType = VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD; 3059 }; 3060 3061 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD> { 3062 typedef VkDisplayNativeHdrSurfaceCapabilitiesAMD Type; 3063 }; 3064 3065 // Map type VkSwapchainDisplayNativeHdrCreateInfoAMD to id VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD 3066 template <> struct LvlTypeMap<VkSwapchainDisplayNativeHdrCreateInfoAMD> { 3067 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD; 3068 }; 3069 3070 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD> { 3071 typedef VkSwapchainDisplayNativeHdrCreateInfoAMD Type; 3072 }; 3073 3074 #ifdef VK_USE_PLATFORM_FUCHSIA 3075 // Map type VkImagePipeSurfaceCreateInfoFUCHSIA to id VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA 3076 template <> struct LvlTypeMap<VkImagePipeSurfaceCreateInfoFUCHSIA> { 3077 static const VkStructureType kSType = VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA; 3078 }; 3079 3080 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA> { 3081 typedef VkImagePipeSurfaceCreateInfoFUCHSIA Type; 3082 }; 3083 3084 #endif // VK_USE_PLATFORM_FUCHSIA 3085 #ifdef VK_USE_PLATFORM_METAL_EXT 3086 // Map type VkMetalSurfaceCreateInfoEXT to id VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT 3087 template <> struct LvlTypeMap<VkMetalSurfaceCreateInfoEXT> { 3088 static const VkStructureType kSType = VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT; 3089 }; 3090 3091 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT> { 3092 typedef VkMetalSurfaceCreateInfoEXT Type; 3093 }; 3094 3095 #endif // VK_USE_PLATFORM_METAL_EXT 3096 // Map type VkPhysicalDeviceFragmentDensityMapFeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT 3097 template <> struct LvlTypeMap<VkPhysicalDeviceFragmentDensityMapFeaturesEXT> { 3098 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT; 3099 }; 3100 3101 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT> { 3102 typedef VkPhysicalDeviceFragmentDensityMapFeaturesEXT Type; 3103 }; 3104 3105 // Map type VkPhysicalDeviceFragmentDensityMapPropertiesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT 3106 template <> struct LvlTypeMap<VkPhysicalDeviceFragmentDensityMapPropertiesEXT> { 3107 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT; 3108 }; 3109 3110 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT> { 3111 typedef VkPhysicalDeviceFragmentDensityMapPropertiesEXT Type; 3112 }; 3113 3114 // Map type VkRenderPassFragmentDensityMapCreateInfoEXT to id VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT 3115 template <> struct LvlTypeMap<VkRenderPassFragmentDensityMapCreateInfoEXT> { 3116 static const VkStructureType kSType = VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT; 3117 }; 3118 3119 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT> { 3120 typedef VkRenderPassFragmentDensityMapCreateInfoEXT Type; 3121 }; 3122 3123 // Map type VkPhysicalDeviceScalarBlockLayoutFeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT 3124 template <> struct LvlTypeMap<VkPhysicalDeviceScalarBlockLayoutFeaturesEXT> { 3125 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT; 3126 }; 3127 3128 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT> { 3129 typedef VkPhysicalDeviceScalarBlockLayoutFeaturesEXT Type; 3130 }; 3131 3132 // Map type VkPhysicalDeviceSubgroupSizeControlFeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT 3133 template <> struct LvlTypeMap<VkPhysicalDeviceSubgroupSizeControlFeaturesEXT> { 3134 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT; 3135 }; 3136 3137 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT> { 3138 typedef VkPhysicalDeviceSubgroupSizeControlFeaturesEXT Type; 3139 }; 3140 3141 // Map type VkPhysicalDeviceSubgroupSizeControlPropertiesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT 3142 template <> struct LvlTypeMap<VkPhysicalDeviceSubgroupSizeControlPropertiesEXT> { 3143 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; 3144 }; 3145 3146 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT> { 3147 typedef VkPhysicalDeviceSubgroupSizeControlPropertiesEXT Type; 3148 }; 3149 3150 // Map type VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT to id VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT 3151 template <> struct LvlTypeMap<VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT> { 3152 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT; 3153 }; 3154 3155 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT> { 3156 typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT Type; 3157 }; 3158 3159 // Map type VkPhysicalDeviceShaderCoreProperties2AMD to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD 3160 template <> struct LvlTypeMap<VkPhysicalDeviceShaderCoreProperties2AMD> { 3161 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD; 3162 }; 3163 3164 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD> { 3165 typedef VkPhysicalDeviceShaderCoreProperties2AMD Type; 3166 }; 3167 3168 // Map type VkPhysicalDeviceCoherentMemoryFeaturesAMD to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD 3169 template <> struct LvlTypeMap<VkPhysicalDeviceCoherentMemoryFeaturesAMD> { 3170 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD; 3171 }; 3172 3173 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD> { 3174 typedef VkPhysicalDeviceCoherentMemoryFeaturesAMD Type; 3175 }; 3176 3177 // Map type VkPhysicalDeviceMemoryBudgetPropertiesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT 3178 template <> struct LvlTypeMap<VkPhysicalDeviceMemoryBudgetPropertiesEXT> { 3179 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT; 3180 }; 3181 3182 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT> { 3183 typedef VkPhysicalDeviceMemoryBudgetPropertiesEXT Type; 3184 }; 3185 3186 // Map type VkPhysicalDeviceMemoryPriorityFeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT 3187 template <> struct LvlTypeMap<VkPhysicalDeviceMemoryPriorityFeaturesEXT> { 3188 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT; 3189 }; 3190 3191 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT> { 3192 typedef VkPhysicalDeviceMemoryPriorityFeaturesEXT Type; 3193 }; 3194 3195 // Map type VkMemoryPriorityAllocateInfoEXT to id VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT 3196 template <> struct LvlTypeMap<VkMemoryPriorityAllocateInfoEXT> { 3197 static const VkStructureType kSType = VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT; 3198 }; 3199 3200 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT> { 3201 typedef VkMemoryPriorityAllocateInfoEXT Type; 3202 }; 3203 3204 // Map type VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV 3205 template <> struct LvlTypeMap<VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV> { 3206 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV; 3207 }; 3208 3209 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV> { 3210 typedef VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV Type; 3211 }; 3212 3213 // Map type VkPhysicalDeviceBufferDeviceAddressFeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT 3214 template <> struct LvlTypeMap<VkPhysicalDeviceBufferDeviceAddressFeaturesEXT> { 3215 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT; 3216 }; 3217 3218 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT> { 3219 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT Type; 3220 }; 3221 3222 // Map type VkBufferDeviceAddressInfoEXT to id VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT 3223 template <> struct LvlTypeMap<VkBufferDeviceAddressInfoEXT> { 3224 static const VkStructureType kSType = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT; 3225 }; 3226 3227 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT> { 3228 typedef VkBufferDeviceAddressInfoEXT Type; 3229 }; 3230 3231 // Map type VkBufferDeviceAddressCreateInfoEXT to id VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT 3232 template <> struct LvlTypeMap<VkBufferDeviceAddressCreateInfoEXT> { 3233 static const VkStructureType kSType = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT; 3234 }; 3235 3236 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT> { 3237 typedef VkBufferDeviceAddressCreateInfoEXT Type; 3238 }; 3239 3240 // Map type VkImageStencilUsageCreateInfoEXT to id VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT 3241 template <> struct LvlTypeMap<VkImageStencilUsageCreateInfoEXT> { 3242 static const VkStructureType kSType = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT; 3243 }; 3244 3245 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT> { 3246 typedef VkImageStencilUsageCreateInfoEXT Type; 3247 }; 3248 3249 // Map type VkValidationFeaturesEXT to id VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT 3250 template <> struct LvlTypeMap<VkValidationFeaturesEXT> { 3251 static const VkStructureType kSType = VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT; 3252 }; 3253 3254 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT> { 3255 typedef VkValidationFeaturesEXT Type; 3256 }; 3257 3258 // Map type VkCooperativeMatrixPropertiesNV to id VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV 3259 template <> struct LvlTypeMap<VkCooperativeMatrixPropertiesNV> { 3260 static const VkStructureType kSType = VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV; 3261 }; 3262 3263 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV> { 3264 typedef VkCooperativeMatrixPropertiesNV Type; 3265 }; 3266 3267 // Map type VkPhysicalDeviceCooperativeMatrixFeaturesNV to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV 3268 template <> struct LvlTypeMap<VkPhysicalDeviceCooperativeMatrixFeaturesNV> { 3269 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV; 3270 }; 3271 3272 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV> { 3273 typedef VkPhysicalDeviceCooperativeMatrixFeaturesNV Type; 3274 }; 3275 3276 // Map type VkPhysicalDeviceCooperativeMatrixPropertiesNV to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV 3277 template <> struct LvlTypeMap<VkPhysicalDeviceCooperativeMatrixPropertiesNV> { 3278 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV; 3279 }; 3280 3281 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV> { 3282 typedef VkPhysicalDeviceCooperativeMatrixPropertiesNV Type; 3283 }; 3284 3285 // Map type VkPhysicalDeviceCoverageReductionModeFeaturesNV to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV 3286 template <> struct LvlTypeMap<VkPhysicalDeviceCoverageReductionModeFeaturesNV> { 3287 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV; 3288 }; 3289 3290 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV> { 3291 typedef VkPhysicalDeviceCoverageReductionModeFeaturesNV Type; 3292 }; 3293 3294 // Map type VkPipelineCoverageReductionStateCreateInfoNV to id VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV 3295 template <> struct LvlTypeMap<VkPipelineCoverageReductionStateCreateInfoNV> { 3296 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV; 3297 }; 3298 3299 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV> { 3300 typedef VkPipelineCoverageReductionStateCreateInfoNV Type; 3301 }; 3302 3303 // Map type VkFramebufferMixedSamplesCombinationNV to id VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV 3304 template <> struct LvlTypeMap<VkFramebufferMixedSamplesCombinationNV> { 3305 static const VkStructureType kSType = VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV; 3306 }; 3307 3308 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV> { 3309 typedef VkFramebufferMixedSamplesCombinationNV Type; 3310 }; 3311 3312 // Map type VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT 3313 template <> struct LvlTypeMap<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT> { 3314 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT; 3315 }; 3316 3317 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT> { 3318 typedef VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT Type; 3319 }; 3320 3321 // Map type VkPhysicalDeviceYcbcrImageArraysFeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT 3322 template <> struct LvlTypeMap<VkPhysicalDeviceYcbcrImageArraysFeaturesEXT> { 3323 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT; 3324 }; 3325 3326 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT> { 3327 typedef VkPhysicalDeviceYcbcrImageArraysFeaturesEXT Type; 3328 }; 3329 3330 #ifdef VK_USE_PLATFORM_WIN32_KHR 3331 // Map type VkSurfaceFullScreenExclusiveInfoEXT to id VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT 3332 template <> struct LvlTypeMap<VkSurfaceFullScreenExclusiveInfoEXT> { 3333 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT; 3334 }; 3335 3336 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT> { 3337 typedef VkSurfaceFullScreenExclusiveInfoEXT Type; 3338 }; 3339 3340 #endif // VK_USE_PLATFORM_WIN32_KHR 3341 #ifdef VK_USE_PLATFORM_WIN32_KHR 3342 // Map type VkSurfaceCapabilitiesFullScreenExclusiveEXT to id VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT 3343 template <> struct LvlTypeMap<VkSurfaceCapabilitiesFullScreenExclusiveEXT> { 3344 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT; 3345 }; 3346 3347 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT> { 3348 typedef VkSurfaceCapabilitiesFullScreenExclusiveEXT Type; 3349 }; 3350 3351 #endif // VK_USE_PLATFORM_WIN32_KHR 3352 #ifdef VK_USE_PLATFORM_WIN32_KHR 3353 // Map type VkSurfaceFullScreenExclusiveWin32InfoEXT to id VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT 3354 template <> struct LvlTypeMap<VkSurfaceFullScreenExclusiveWin32InfoEXT> { 3355 static const VkStructureType kSType = VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT; 3356 }; 3357 3358 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT> { 3359 typedef VkSurfaceFullScreenExclusiveWin32InfoEXT Type; 3360 }; 3361 3362 #endif // VK_USE_PLATFORM_WIN32_KHR 3363 // Map type VkHeadlessSurfaceCreateInfoEXT to id VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT 3364 template <> struct LvlTypeMap<VkHeadlessSurfaceCreateInfoEXT> { 3365 static const VkStructureType kSType = VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT; 3366 }; 3367 3368 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT> { 3369 typedef VkHeadlessSurfaceCreateInfoEXT Type; 3370 }; 3371 3372 // Map type VkPhysicalDeviceLineRasterizationFeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT 3373 template <> struct LvlTypeMap<VkPhysicalDeviceLineRasterizationFeaturesEXT> { 3374 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT; 3375 }; 3376 3377 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT> { 3378 typedef VkPhysicalDeviceLineRasterizationFeaturesEXT Type; 3379 }; 3380 3381 // Map type VkPhysicalDeviceLineRasterizationPropertiesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT 3382 template <> struct LvlTypeMap<VkPhysicalDeviceLineRasterizationPropertiesEXT> { 3383 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT; 3384 }; 3385 3386 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT> { 3387 typedef VkPhysicalDeviceLineRasterizationPropertiesEXT Type; 3388 }; 3389 3390 // Map type VkPipelineRasterizationLineStateCreateInfoEXT to id VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT 3391 template <> struct LvlTypeMap<VkPipelineRasterizationLineStateCreateInfoEXT> { 3392 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT; 3393 }; 3394 3395 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT> { 3396 typedef VkPipelineRasterizationLineStateCreateInfoEXT Type; 3397 }; 3398 3399 // Map type VkPhysicalDeviceHostQueryResetFeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT 3400 template <> struct LvlTypeMap<VkPhysicalDeviceHostQueryResetFeaturesEXT> { 3401 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT; 3402 }; 3403 3404 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT> { 3405 typedef VkPhysicalDeviceHostQueryResetFeaturesEXT Type; 3406 }; 3407 3408 // Map type VkPhysicalDeviceIndexTypeUint8FeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT 3409 template <> struct LvlTypeMap<VkPhysicalDeviceIndexTypeUint8FeaturesEXT> { 3410 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT; 3411 }; 3412 3413 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT> { 3414 typedef VkPhysicalDeviceIndexTypeUint8FeaturesEXT Type; 3415 }; 3416 3417 // Map type VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT 3418 template <> struct LvlTypeMap<VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT> { 3419 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT; 3420 }; 3421 3422 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT> { 3423 typedef VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT Type; 3424 }; 3425 3426 // Map type VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT 3427 template <> struct LvlTypeMap<VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT> { 3428 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT; 3429 }; 3430 3431 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT> { 3432 typedef VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT Type; 3433 }; 3434 3435 // Map type VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT 3436 template <> struct LvlTypeMap<VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT> { 3437 static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT; 3438 }; 3439 3440 template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT> { 3441 typedef VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT Type; 3442 }; 3443 3444 // Find an entry of the given type in the pNext chain 3445 template <typename T> const T *lvl_find_in_chain(const void *next) { 3446 const VkBaseOutStructure *current = reinterpret_cast<const VkBaseOutStructure *>(next); 3447 const T *found = nullptr; 3448 while (current) { 3449 if (LvlTypeMap<T>::kSType == current->sType) { 3450 found = reinterpret_cast<const T*>(current); 3451 current = nullptr; 3452 } else { 3453 current = current->pNext; 3454 } 3455 } 3456 return found; 3457 } 3458 3459 // Init the header of an sType struct with pNext 3460 template <typename T> T lvl_init_struct(void *p_next) { 3461 T out = {}; 3462 out.sType = LvlTypeMap<T>::kSType; 3463 out.pNext = p_next; 3464 return out; 3465 } 3466 3467 // Init the header of an sType struct 3468 template <typename T> T lvl_init_struct() { 3469 T out = {}; 3470 out.sType = LvlTypeMap<T>::kSType; 3471 return out; 3472 } 3473 3474