1/* WARNING: This is auto-generated file. Do not modify, since changes will 2 * be lost! Modify the generating script instead. 3 */ 4 5inline VkExtent2D makeExtent2D (uint32_t width, uint32_t height) 6{ 7 VkExtent2D res; 8 res.width = width; 9 res.height = height; 10 return res; 11} 12 13inline VkExtent3D makeExtent3D (uint32_t width, uint32_t height, uint32_t depth) 14{ 15 VkExtent3D res; 16 res.width = width; 17 res.height = height; 18 res.depth = depth; 19 return res; 20} 21 22inline VkOffset2D makeOffset2D (int32_t x, int32_t y) 23{ 24 VkOffset2D res; 25 res.x = x; 26 res.y = y; 27 return res; 28} 29 30inline VkOffset3D makeOffset3D (int32_t x, int32_t y, int32_t z) 31{ 32 VkOffset3D res; 33 res.x = x; 34 res.y = y; 35 res.z = z; 36 return res; 37} 38 39inline VkDispatchIndirectCommand makeDispatchIndirectCommand (uint32_t x, uint32_t y, uint32_t z) 40{ 41 VkDispatchIndirectCommand res; 42 res.x = x; 43 res.y = y; 44 res.z = z; 45 return res; 46} 47 48inline VkDrawIndexedIndirectCommand makeDrawIndexedIndirectCommand (uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) 49{ 50 VkDrawIndexedIndirectCommand res; 51 res.indexCount = indexCount; 52 res.instanceCount = instanceCount; 53 res.firstIndex = firstIndex; 54 res.vertexOffset = vertexOffset; 55 res.firstInstance = firstInstance; 56 return res; 57} 58 59inline VkDrawIndirectCommand makeDrawIndirectCommand (uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) 60{ 61 VkDrawIndirectCommand res; 62 res.vertexCount = vertexCount; 63 res.instanceCount = instanceCount; 64 res.firstVertex = firstVertex; 65 res.firstInstance = firstInstance; 66 return res; 67} 68 69inline VkImageSubresourceRange makeImageSubresourceRange (VkImageAspectFlags aspectMask, uint32_t baseMipLevel, uint32_t levelCount, uint32_t baseArrayLayer, uint32_t layerCount) 70{ 71 VkImageSubresourceRange res; 72 res.aspectMask = aspectMask; 73 res.baseMipLevel = baseMipLevel; 74 res.levelCount = levelCount; 75 res.baseArrayLayer = baseArrayLayer; 76 res.layerCount = layerCount; 77 return res; 78} 79 80inline VkAllocationCallbacks makeAllocationCallbacks (void* pUserData, PFN_vkAllocationFunction pfnAllocation, PFN_vkReallocationFunction pfnReallocation, PFN_vkFreeFunction pfnFree, PFN_vkInternalAllocationNotification pfnInternalAllocation, PFN_vkInternalFreeNotification pfnInternalFree) 81{ 82 VkAllocationCallbacks res; 83 res.pUserData = pUserData; 84 res.pfnAllocation = pfnAllocation; 85 res.pfnReallocation = pfnReallocation; 86 res.pfnFree = pfnFree; 87 res.pfnInternalAllocation = pfnInternalAllocation; 88 res.pfnInternalFree = pfnInternalFree; 89 return res; 90} 91 92inline VkMemoryRequirements makeMemoryRequirements (VkDeviceSize size, VkDeviceSize alignment, uint32_t memoryTypeBits) 93{ 94 VkMemoryRequirements res; 95 res.size = size; 96 res.alignment = alignment; 97 res.memoryTypeBits = memoryTypeBits; 98 return res; 99} 100 101inline VkSparseMemoryBind makeSparseMemoryBind (VkDeviceSize resourceOffset, VkDeviceSize size, VkDeviceMemory memory, VkDeviceSize memoryOffset, VkSparseMemoryBindFlags flags) 102{ 103 VkSparseMemoryBind res; 104 res.resourceOffset = resourceOffset; 105 res.size = size; 106 res.memory = memory; 107 res.memoryOffset = memoryOffset; 108 res.flags = flags; 109 return res; 110} 111 112inline VkSparseBufferMemoryBindInfo makeSparseBufferMemoryBindInfo (VkBuffer buffer, uint32_t bindCount, const VkSparseMemoryBind* pBinds) 113{ 114 VkSparseBufferMemoryBindInfo res; 115 res.buffer = buffer; 116 res.bindCount = bindCount; 117 res.pBinds = pBinds; 118 return res; 119} 120 121inline VkSparseImageOpaqueMemoryBindInfo makeSparseImageOpaqueMemoryBindInfo (VkImage image, uint32_t bindCount, const VkSparseMemoryBind* pBinds) 122{ 123 VkSparseImageOpaqueMemoryBindInfo res; 124 res.image = image; 125 res.bindCount = bindCount; 126 res.pBinds = pBinds; 127 return res; 128} 129 130inline VkImageSubresource makeImageSubresource (VkImageAspectFlags aspectMask, uint32_t mipLevel, uint32_t arrayLayer) 131{ 132 VkImageSubresource res; 133 res.aspectMask = aspectMask; 134 res.mipLevel = mipLevel; 135 res.arrayLayer = arrayLayer; 136 return res; 137} 138 139inline VkSparseImageMemoryBindInfo makeSparseImageMemoryBindInfo (VkImage image, uint32_t bindCount, const VkSparseImageMemoryBind* pBinds) 140{ 141 VkSparseImageMemoryBindInfo res; 142 res.image = image; 143 res.bindCount = bindCount; 144 res.pBinds = pBinds; 145 return res; 146} 147 148inline VkSubresourceLayout makeSubresourceLayout (VkDeviceSize offset, VkDeviceSize size, VkDeviceSize rowPitch, VkDeviceSize arrayPitch, VkDeviceSize depthPitch) 149{ 150 VkSubresourceLayout res; 151 res.offset = offset; 152 res.size = size; 153 res.rowPitch = rowPitch; 154 res.arrayPitch = arrayPitch; 155 res.depthPitch = depthPitch; 156 return res; 157} 158 159inline VkComponentMapping makeComponentMapping (VkComponentSwizzle r, VkComponentSwizzle g, VkComponentSwizzle b, VkComponentSwizzle a) 160{ 161 VkComponentMapping res; 162 res.r = r; 163 res.g = g; 164 res.b = b; 165 res.a = a; 166 return res; 167} 168 169inline VkSpecializationMapEntry makeSpecializationMapEntry (uint32_t constantID, uint32_t offset, size_t size) 170{ 171 VkSpecializationMapEntry res; 172 res.constantID = constantID; 173 res.offset = offset; 174 res.size = size; 175 return res; 176} 177 178inline VkSpecializationInfo makeSpecializationInfo (uint32_t mapEntryCount, const VkSpecializationMapEntry* pMapEntries, size_t dataSize, const void* pData) 179{ 180 VkSpecializationInfo res; 181 res.mapEntryCount = mapEntryCount; 182 res.pMapEntries = pMapEntries; 183 res.dataSize = dataSize; 184 res.pData = pData; 185 return res; 186} 187 188inline VkVertexInputBindingDescription makeVertexInputBindingDescription (uint32_t binding, uint32_t stride, VkVertexInputRate inputRate) 189{ 190 VkVertexInputBindingDescription res; 191 res.binding = binding; 192 res.stride = stride; 193 res.inputRate = inputRate; 194 return res; 195} 196 197inline VkVertexInputAttributeDescription makeVertexInputAttributeDescription (uint32_t location, uint32_t binding, VkFormat format, uint32_t offset) 198{ 199 VkVertexInputAttributeDescription res; 200 res.location = location; 201 res.binding = binding; 202 res.format = format; 203 res.offset = offset; 204 return res; 205} 206 207inline VkViewport makeViewport (float x, float y, float width, float height, float minDepth, float maxDepth) 208{ 209 VkViewport res; 210 res.x = x; 211 res.y = y; 212 res.width = width; 213 res.height = height; 214 res.minDepth = minDepth; 215 res.maxDepth = maxDepth; 216 return res; 217} 218 219inline VkStencilOpState makeStencilOpState (VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp, uint32_t compareMask, uint32_t writeMask, uint32_t reference) 220{ 221 VkStencilOpState res; 222 res.failOp = failOp; 223 res.passOp = passOp; 224 res.depthFailOp = depthFailOp; 225 res.compareOp = compareOp; 226 res.compareMask = compareMask; 227 res.writeMask = writeMask; 228 res.reference = reference; 229 return res; 230} 231 232inline VkPipelineColorBlendAttachmentState makePipelineColorBlendAttachmentState (VkBool32 blendEnable, VkBlendFactor srcColorBlendFactor, VkBlendFactor dstColorBlendFactor, VkBlendOp colorBlendOp, VkBlendFactor srcAlphaBlendFactor, VkBlendFactor dstAlphaBlendFactor, VkBlendOp alphaBlendOp, VkColorComponentFlags colorWriteMask) 233{ 234 VkPipelineColorBlendAttachmentState res; 235 res.blendEnable = blendEnable; 236 res.srcColorBlendFactor = srcColorBlendFactor; 237 res.dstColorBlendFactor = dstColorBlendFactor; 238 res.colorBlendOp = colorBlendOp; 239 res.srcAlphaBlendFactor = srcAlphaBlendFactor; 240 res.dstAlphaBlendFactor = dstAlphaBlendFactor; 241 res.alphaBlendOp = alphaBlendOp; 242 res.colorWriteMask = colorWriteMask; 243 return res; 244} 245 246inline VkPushConstantRange makePushConstantRange (VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size) 247{ 248 VkPushConstantRange res; 249 res.stageFlags = stageFlags; 250 res.offset = offset; 251 res.size = size; 252 return res; 253} 254 255inline VkDescriptorBufferInfo makeDescriptorBufferInfo (VkBuffer buffer, VkDeviceSize offset, VkDeviceSize range) 256{ 257 VkDescriptorBufferInfo res; 258 res.buffer = buffer; 259 res.offset = offset; 260 res.range = range; 261 return res; 262} 263 264inline VkDescriptorImageInfo makeDescriptorImageInfo (VkSampler sampler, VkImageView imageView, VkImageLayout imageLayout) 265{ 266 VkDescriptorImageInfo res; 267 res.sampler = sampler; 268 res.imageView = imageView; 269 res.imageLayout = imageLayout; 270 return res; 271} 272 273inline VkDescriptorPoolSize makeDescriptorPoolSize (VkDescriptorType type, uint32_t descriptorCount) 274{ 275 VkDescriptorPoolSize res; 276 res.type = type; 277 res.descriptorCount = descriptorCount; 278 return res; 279} 280 281inline VkDescriptorSetLayoutBinding makeDescriptorSetLayoutBinding (uint32_t binding, VkDescriptorType descriptorType, uint32_t descriptorCount, VkShaderStageFlags stageFlags, const VkSampler* pImmutableSamplers) 282{ 283 VkDescriptorSetLayoutBinding res; 284 res.binding = binding; 285 res.descriptorType = descriptorType; 286 res.descriptorCount = descriptorCount; 287 res.stageFlags = stageFlags; 288 res.pImmutableSamplers = pImmutableSamplers; 289 return res; 290} 291 292inline VkAttachmentDescription makeAttachmentDescription (VkAttachmentDescriptionFlags flags, VkFormat format, VkSampleCountFlagBits samples, VkAttachmentLoadOp loadOp, VkAttachmentStoreOp storeOp, VkAttachmentLoadOp stencilLoadOp, VkAttachmentStoreOp stencilStoreOp, VkImageLayout initialLayout, VkImageLayout finalLayout) 293{ 294 VkAttachmentDescription res; 295 res.flags = flags; 296 res.format = format; 297 res.samples = samples; 298 res.loadOp = loadOp; 299 res.storeOp = storeOp; 300 res.stencilLoadOp = stencilLoadOp; 301 res.stencilStoreOp = stencilStoreOp; 302 res.initialLayout = initialLayout; 303 res.finalLayout = finalLayout; 304 return res; 305} 306 307inline VkAttachmentReference makeAttachmentReference (uint32_t attachment, VkImageLayout layout) 308{ 309 VkAttachmentReference res; 310 res.attachment = attachment; 311 res.layout = layout; 312 return res; 313} 314 315inline VkSubpassDescription makeSubpassDescription (VkSubpassDescriptionFlags flags, VkPipelineBindPoint pipelineBindPoint, uint32_t inputAttachmentCount, const VkAttachmentReference* pInputAttachments, uint32_t colorAttachmentCount, const VkAttachmentReference* pColorAttachments, const VkAttachmentReference* pResolveAttachments, const VkAttachmentReference* pDepthStencilAttachment, uint32_t preserveAttachmentCount, const uint32_t* pPreserveAttachments) 316{ 317 VkSubpassDescription res; 318 res.flags = flags; 319 res.pipelineBindPoint = pipelineBindPoint; 320 res.inputAttachmentCount = inputAttachmentCount; 321 res.pInputAttachments = pInputAttachments; 322 res.colorAttachmentCount = colorAttachmentCount; 323 res.pColorAttachments = pColorAttachments; 324 res.pResolveAttachments = pResolveAttachments; 325 res.pDepthStencilAttachment = pDepthStencilAttachment; 326 res.preserveAttachmentCount = preserveAttachmentCount; 327 res.pPreserveAttachments = pPreserveAttachments; 328 return res; 329} 330 331inline VkSubpassDependency makeSubpassDependency (uint32_t srcSubpass, uint32_t dstSubpass, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkAccessFlags srcAccessMask, VkAccessFlags dstAccessMask, VkDependencyFlags dependencyFlags) 332{ 333 VkSubpassDependency res; 334 res.srcSubpass = srcSubpass; 335 res.dstSubpass = dstSubpass; 336 res.srcStageMask = srcStageMask; 337 res.dstStageMask = dstStageMask; 338 res.srcAccessMask = srcAccessMask; 339 res.dstAccessMask = dstAccessMask; 340 res.dependencyFlags = dependencyFlags; 341 return res; 342} 343 344inline VkBufferCopy makeBufferCopy (VkDeviceSize srcOffset, VkDeviceSize dstOffset, VkDeviceSize size) 345{ 346 VkBufferCopy res; 347 res.srcOffset = srcOffset; 348 res.dstOffset = dstOffset; 349 res.size = size; 350 return res; 351} 352 353inline VkImageSubresourceLayers makeImageSubresourceLayers (VkImageAspectFlags aspectMask, uint32_t mipLevel, uint32_t baseArrayLayer, uint32_t layerCount) 354{ 355 VkImageSubresourceLayers res; 356 res.aspectMask = aspectMask; 357 res.mipLevel = mipLevel; 358 res.baseArrayLayer = baseArrayLayer; 359 res.layerCount = layerCount; 360 return res; 361} 362 363inline VkClearDepthStencilValue makeClearDepthStencilValue (float depth, uint32_t stencil) 364{ 365 VkClearDepthStencilValue res; 366 res.depth = depth; 367 res.stencil = stencil; 368 return res; 369} 370 371inline VkInputAttachmentAspectReference makeInputAttachmentAspectReference (uint32_t subpass, uint32_t inputAttachmentIndex, VkImageAspectFlags aspectMask) 372{ 373 VkInputAttachmentAspectReference res; 374 res.subpass = subpass; 375 res.inputAttachmentIndex = inputAttachmentIndex; 376 res.aspectMask = aspectMask; 377 return res; 378} 379 380inline VkDescriptorUpdateTemplateEntry makeDescriptorUpdateTemplateEntry (uint32_t dstBinding, uint32_t dstArrayElement, uint32_t descriptorCount, VkDescriptorType descriptorType, size_t offset, size_t stride) 381{ 382 VkDescriptorUpdateTemplateEntry res; 383 res.dstBinding = dstBinding; 384 res.dstArrayElement = dstArrayElement; 385 res.descriptorCount = descriptorCount; 386 res.descriptorType = descriptorType; 387 res.offset = offset; 388 res.stride = stride; 389 return res; 390} 391 392inline VkExternalMemoryProperties makeExternalMemoryProperties (VkExternalMemoryFeatureFlags externalMemoryFeatures, VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes, VkExternalMemoryHandleTypeFlags compatibleHandleTypes) 393{ 394 VkExternalMemoryProperties res; 395 res.externalMemoryFeatures = externalMemoryFeatures; 396 res.exportFromImportedHandleTypes = exportFromImportedHandleTypes; 397 res.compatibleHandleTypes = compatibleHandleTypes; 398 return res; 399} 400 401inline VkConformanceVersion makeConformanceVersion (uint8_t major, uint8_t minor, uint8_t subminor, uint8_t patch) 402{ 403 VkConformanceVersion res; 404 res.major = major; 405 res.minor = minor; 406 res.subminor = subminor; 407 res.patch = patch; 408 return res; 409} 410 411inline VkSurfaceFormatKHR makeSurfaceFormatKHR (VkFormat format, VkColorSpaceKHR colorSpace) 412{ 413 VkSurfaceFormatKHR res; 414 res.format = format; 415 res.colorSpace = colorSpace; 416 return res; 417} 418 419inline VkDisplayPlanePropertiesKHR makeDisplayPlanePropertiesKHR (VkDisplayKHR currentDisplay, uint32_t currentStackIndex) 420{ 421 VkDisplayPlanePropertiesKHR res; 422 res.currentDisplay = currentDisplay; 423 res.currentStackIndex = currentStackIndex; 424 return res; 425} 426 427inline VkPresentRegionKHR makePresentRegionKHR (uint32_t rectangleCount, const VkRectLayerKHR* pRectangles) 428{ 429 VkPresentRegionKHR res; 430 res.rectangleCount = rectangleCount; 431 res.pRectangles = pRectangles; 432 return res; 433} 434 435inline VkShaderResourceUsageAMD makeShaderResourceUsageAMD (uint32_t numUsedVgprs, uint32_t numUsedSgprs, uint32_t ldsSizePerLocalWorkGroup, size_t ldsUsageSizeInBytes, size_t scratchMemUsageInBytes) 436{ 437 VkShaderResourceUsageAMD res; 438 res.numUsedVgprs = numUsedVgprs; 439 res.numUsedSgprs = numUsedSgprs; 440 res.ldsSizePerLocalWorkGroup = ldsSizePerLocalWorkGroup; 441 res.ldsUsageSizeInBytes = ldsUsageSizeInBytes; 442 res.scratchMemUsageInBytes = scratchMemUsageInBytes; 443 return res; 444} 445 446inline VkViewportWScalingNV makeViewportWScalingNV (float xcoeff, float ycoeff) 447{ 448 VkViewportWScalingNV res; 449 res.xcoeff = xcoeff; 450 res.ycoeff = ycoeff; 451 return res; 452} 453 454inline VkRefreshCycleDurationGOOGLE makeRefreshCycleDurationGOOGLE (uint64_t refreshDuration) 455{ 456 VkRefreshCycleDurationGOOGLE res; 457 res.refreshDuration = refreshDuration; 458 return res; 459} 460 461inline VkPastPresentationTimingGOOGLE makePastPresentationTimingGOOGLE (uint32_t presentID, uint64_t desiredPresentTime, uint64_t actualPresentTime, uint64_t earliestPresentTime, uint64_t presentMargin) 462{ 463 VkPastPresentationTimingGOOGLE res; 464 res.presentID = presentID; 465 res.desiredPresentTime = desiredPresentTime; 466 res.actualPresentTime = actualPresentTime; 467 res.earliestPresentTime = earliestPresentTime; 468 res.presentMargin = presentMargin; 469 return res; 470} 471 472inline VkPresentTimeGOOGLE makePresentTimeGOOGLE (uint32_t presentID, uint64_t desiredPresentTime) 473{ 474 VkPresentTimeGOOGLE res; 475 res.presentID = presentID; 476 res.desiredPresentTime = desiredPresentTime; 477 return res; 478} 479 480inline VkViewportSwizzleNV makeViewportSwizzleNV (VkViewportCoordinateSwizzleNV x, VkViewportCoordinateSwizzleNV y, VkViewportCoordinateSwizzleNV z, VkViewportCoordinateSwizzleNV w) 481{ 482 VkViewportSwizzleNV res; 483 res.x = x; 484 res.y = y; 485 res.z = z; 486 res.w = w; 487 return res; 488} 489 490inline VkXYColorEXT makeXYColorEXT (float x, float y) 491{ 492 VkXYColorEXT res; 493 res.x = x; 494 res.y = y; 495 return res; 496} 497 498inline VkSampleLocationEXT makeSampleLocationEXT (float x, float y) 499{ 500 VkSampleLocationEXT res; 501 res.x = x; 502 res.y = y; 503 return res; 504} 505 506inline VkDrmFormatModifierPropertiesEXT makeDrmFormatModifierPropertiesEXT (uint64_t drmFormatModifier, uint32_t drmFormatModifierPlaneCount, VkFormatFeatureFlags drmFormatModifierTilingFeatures) 507{ 508 VkDrmFormatModifierPropertiesEXT res; 509 res.drmFormatModifier = drmFormatModifier; 510 res.drmFormatModifierPlaneCount = drmFormatModifierPlaneCount; 511 res.drmFormatModifierTilingFeatures = drmFormatModifierTilingFeatures; 512 return res; 513} 514 515inline VkDrmFormatModifierProperties2EXT makeDrmFormatModifierProperties2EXT (uint64_t drmFormatModifier, uint32_t drmFormatModifierPlaneCount, VkFormatFeatureFlags2KHR drmFormatModifierTilingFeatures) 516{ 517 VkDrmFormatModifierProperties2EXT res; 518 res.drmFormatModifier = drmFormatModifier; 519 res.drmFormatModifierPlaneCount = drmFormatModifierPlaneCount; 520 res.drmFormatModifierTilingFeatures = drmFormatModifierTilingFeatures; 521 return res; 522} 523 524inline VkShadingRatePaletteNV makeShadingRatePaletteNV (uint32_t shadingRatePaletteEntryCount, const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries) 525{ 526 VkShadingRatePaletteNV res; 527 res.shadingRatePaletteEntryCount = shadingRatePaletteEntryCount; 528 res.pShadingRatePaletteEntries = pShadingRatePaletteEntries; 529 return res; 530} 531 532inline VkCoarseSampleLocationNV makeCoarseSampleLocationNV (uint32_t pixelX, uint32_t pixelY, uint32_t sample) 533{ 534 VkCoarseSampleLocationNV res; 535 res.pixelX = pixelX; 536 res.pixelY = pixelY; 537 res.sample = sample; 538 return res; 539} 540 541inline VkCoarseSampleOrderCustomNV makeCoarseSampleOrderCustomNV (VkShadingRatePaletteEntryNV shadingRate, uint32_t sampleCount, uint32_t sampleLocationCount, const VkCoarseSampleLocationNV* pSampleLocations) 542{ 543 VkCoarseSampleOrderCustomNV res; 544 res.shadingRate = shadingRate; 545 res.sampleCount = sampleCount; 546 res.sampleLocationCount = sampleLocationCount; 547 res.pSampleLocations = pSampleLocations; 548 return res; 549} 550 551inline VkAabbPositionsKHR makeAabbPositionsKHR (float minX, float minY, float minZ, float maxX, float maxY, float maxZ) 552{ 553 VkAabbPositionsKHR res; 554 res.minX = minX; 555 res.minY = minY; 556 res.minZ = minZ; 557 res.maxX = maxX; 558 res.maxY = maxY; 559 res.maxZ = maxZ; 560 return res; 561} 562 563inline VkVertexInputBindingDivisorDescriptionEXT makeVertexInputBindingDivisorDescriptionEXT (uint32_t binding, uint32_t divisor) 564{ 565 VkVertexInputBindingDivisorDescriptionEXT res; 566 res.binding = binding; 567 res.divisor = divisor; 568 return res; 569} 570 571inline VkPipelineCreationFeedbackEXT makePipelineCreationFeedbackEXT (VkPipelineCreationFeedbackFlagsEXT flags, uint64_t duration) 572{ 573 VkPipelineCreationFeedbackEXT res; 574 res.flags = flags; 575 res.duration = duration; 576 return res; 577} 578 579inline VkDrawMeshTasksIndirectCommandNV makeDrawMeshTasksIndirectCommandNV (uint32_t taskCount, uint32_t firstTask) 580{ 581 VkDrawMeshTasksIndirectCommandNV res; 582 res.taskCount = taskCount; 583 res.firstTask = firstTask; 584 return res; 585} 586 587inline VkBindShaderGroupIndirectCommandNV makeBindShaderGroupIndirectCommandNV (uint32_t groupIndex) 588{ 589 VkBindShaderGroupIndirectCommandNV res; 590 res.groupIndex = groupIndex; 591 return res; 592} 593 594inline VkBindIndexBufferIndirectCommandNV makeBindIndexBufferIndirectCommandNV (VkDeviceAddress bufferAddress, uint32_t size, VkIndexType indexType) 595{ 596 VkBindIndexBufferIndirectCommandNV res; 597 res.bufferAddress = bufferAddress; 598 res.size = size; 599 res.indexType = indexType; 600 return res; 601} 602 603inline VkBindVertexBufferIndirectCommandNV makeBindVertexBufferIndirectCommandNV (VkDeviceAddress bufferAddress, uint32_t size, uint32_t stride) 604{ 605 VkBindVertexBufferIndirectCommandNV res; 606 res.bufferAddress = bufferAddress; 607 res.size = size; 608 res.stride = stride; 609 return res; 610} 611 612inline VkSetStateFlagsIndirectCommandNV makeSetStateFlagsIndirectCommandNV (uint32_t data) 613{ 614 VkSetStateFlagsIndirectCommandNV res; 615 res.data = data; 616 return res; 617} 618 619inline VkIndirectCommandsStreamNV makeIndirectCommandsStreamNV (VkBuffer buffer, VkDeviceSize offset) 620{ 621 VkIndirectCommandsStreamNV res; 622 res.buffer = buffer; 623 res.offset = offset; 624 return res; 625} 626 627inline VkSRTDataNV makeSRTDataNV (float sx, float a, float b, float pvx, float sy, float c, float pvy, float sz, float pvz, float qx, float qy, float qz, float qw, float tx, float ty, float tz) 628{ 629 VkSRTDataNV res; 630 res.sx = sx; 631 res.a = a; 632 res.b = b; 633 res.pvx = pvx; 634 res.sy = sy; 635 res.c = c; 636 res.pvy = pvy; 637 res.sz = sz; 638 res.pvz = pvz; 639 res.qx = qx; 640 res.qy = qy; 641 res.qz = qz; 642 res.qw = qw; 643 res.tx = tx; 644 res.ty = ty; 645 res.tz = tz; 646 return res; 647} 648 649inline VkMutableDescriptorTypeListVALVE makeMutableDescriptorTypeListVALVE (uint32_t descriptorTypeCount, const VkDescriptorType* pDescriptorTypes) 650{ 651 VkMutableDescriptorTypeListVALVE res; 652 res.descriptorTypeCount = descriptorTypeCount; 653 res.pDescriptorTypes = pDescriptorTypes; 654 return res; 655} 656 657inline VkMultiDrawInfoEXT makeMultiDrawInfoEXT (uint32_t firstVertex, uint32_t vertexCount) 658{ 659 VkMultiDrawInfoEXT res; 660 res.firstVertex = firstVertex; 661 res.vertexCount = vertexCount; 662 return res; 663} 664 665inline VkMultiDrawIndexedInfoEXT makeMultiDrawIndexedInfoEXT (uint32_t firstIndex, uint32_t indexCount, int32_t vertexOffset) 666{ 667 VkMultiDrawIndexedInfoEXT res; 668 res.firstIndex = firstIndex; 669 res.indexCount = indexCount; 670 res.vertexOffset = vertexOffset; 671 return res; 672} 673 674inline VkAccelerationStructureBuildRangeInfoKHR makeAccelerationStructureBuildRangeInfoKHR (uint32_t primitiveCount, uint32_t primitiveOffset, uint32_t firstVertex, uint32_t transformOffset) 675{ 676 VkAccelerationStructureBuildRangeInfoKHR res; 677 res.primitiveCount = primitiveCount; 678 res.primitiveOffset = primitiveOffset; 679 res.firstVertex = firstVertex; 680 res.transformOffset = transformOffset; 681 return res; 682} 683 684inline VkStridedDeviceAddressRegionKHR makeStridedDeviceAddressRegionKHR (VkDeviceAddress deviceAddress, VkDeviceSize stride, VkDeviceSize size) 685{ 686 VkStridedDeviceAddressRegionKHR res; 687 res.deviceAddress = deviceAddress; 688 res.stride = stride; 689 res.size = size; 690 return res; 691} 692 693inline VkTraceRaysIndirectCommandKHR makeTraceRaysIndirectCommandKHR (uint32_t width, uint32_t height, uint32_t depth) 694{ 695 VkTraceRaysIndirectCommandKHR res; 696 res.width = width; 697 res.height = height; 698 res.depth = depth; 699 return res; 700} 701 702inline StdVideoEncodeH264RefListModEntry makeStdVideoEncodeH264RefListModEntry (StdVideoH264ModificationOfPicNumsIdc modification_of_pic_nums_idc, uint16_t abs_diff_pic_num_minus1, uint16_t long_term_pic_num) 703{ 704 StdVideoEncodeH264RefListModEntry res; 705 res.modification_of_pic_nums_idc = modification_of_pic_nums_idc; 706 res.abs_diff_pic_num_minus1 = abs_diff_pic_num_minus1; 707 res.long_term_pic_num = long_term_pic_num; 708 return res; 709} 710 711inline StdVideoEncodeH264RefPicMarkingEntry makeStdVideoEncodeH264RefPicMarkingEntry (StdVideoH264MemMgmtControlOp operation, uint16_t difference_of_pic_nums_minus1, uint16_t long_term_pic_num, uint16_t long_term_frame_idx, uint16_t max_long_term_frame_idx_plus1) 712{ 713 StdVideoEncodeH264RefPicMarkingEntry res; 714 res.operation = operation; 715 res.difference_of_pic_nums_minus1 = difference_of_pic_nums_minus1; 716 res.long_term_pic_num = long_term_pic_num; 717 res.long_term_frame_idx = long_term_frame_idx; 718 res.max_long_term_frame_idx_plus1 = max_long_term_frame_idx_plus1; 719 return res; 720} 721 722inline VkVideoEncodeH264QpEXT makeVideoEncodeH264QpEXT (int32_t qpI, int32_t qpP, int32_t qpB) 723{ 724 VkVideoEncodeH264QpEXT res; 725 res.qpI = qpI; 726 res.qpP = qpP; 727 res.qpB = qpB; 728 return res; 729} 730 731inline VkVideoEncodeH264FrameSizeEXT makeVideoEncodeH264FrameSizeEXT (uint32_t frameISize, uint32_t framePSize, uint32_t frameBSize) 732{ 733 VkVideoEncodeH264FrameSizeEXT res; 734 res.frameISize = frameISize; 735 res.framePSize = framePSize; 736 res.frameBSize = frameBSize; 737 return res; 738} 739 740inline VkVideoEncodeH265QpEXT makeVideoEncodeH265QpEXT (int32_t qpI, int32_t qpP, int32_t qpB) 741{ 742 VkVideoEncodeH265QpEXT res; 743 res.qpI = qpI; 744 res.qpP = qpP; 745 res.qpB = qpB; 746 return res; 747} 748 749inline VkVideoEncodeH265FrameSizeEXT makeVideoEncodeH265FrameSizeEXT (uint32_t frameISize, uint32_t framePSize, uint32_t frameBSize) 750{ 751 VkVideoEncodeH265FrameSizeEXT res; 752 res.frameISize = frameISize; 753 res.framePSize = framePSize; 754 res.frameBSize = frameBSize; 755 return res; 756} 757 758inline StdVideoDecodeH264Mvc makeStdVideoDecodeH264Mvc (uint32_t viewId0, uint32_t mvcElementCount, StdVideoDecodeH264MvcElement* pMvcElements) 759{ 760 StdVideoDecodeH264Mvc res; 761 res.viewId0 = viewId0; 762 res.mvcElementCount = mvcElementCount; 763 res.pMvcElements = pMvcElements; 764 return res; 765} 766