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