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 (deUint32 width, deUint32 height) 6{ 7 VkExtent2D res; 8 res.width = width; 9 res.height = height; 10 return res; 11} 12 13inline VkExtent3D makeExtent3D (deUint32 width, deUint32 height, deUint32 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 (deInt32 x, deInt32 y) 23{ 24 VkOffset2D res; 25 res.x = x; 26 res.y = y; 27 return res; 28} 29 30inline VkOffset3D makeOffset3D (deInt32 x, deInt32 y, deInt32 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 (deUint32 x, deUint32 y, deUint32 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 (deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 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 (deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 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, deUint32 baseMipLevel, deUint32 levelCount, deUint32 baseArrayLayer, deUint32 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, deUint32 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, deUint32 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, deUint32 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, deUint32 mipLevel, deUint32 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, deUint32 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 (deUint32 constantID, deUint32 offset, deUintptr 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 (deUint32 mapEntryCount, const VkSpecializationMapEntry* pMapEntries, deUintptr 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 (deUint32 binding, deUint32 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 (deUint32 location, deUint32 binding, VkFormat format, deUint32 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, deUint32 compareMask, deUint32 writeMask, deUint32 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, deUint32 offset, deUint32 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, deUint32 descriptorCount) 274{ 275 VkDescriptorPoolSize res; 276 res.type = type; 277 res.descriptorCount = descriptorCount; 278 return res; 279} 280 281inline VkDescriptorSetLayoutBinding makeDescriptorSetLayoutBinding (deUint32 binding, VkDescriptorType descriptorType, deUint32 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 (deUint32 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, deUint32 inputAttachmentCount, const VkAttachmentReference* pInputAttachments, deUint32 colorAttachmentCount, const VkAttachmentReference* pColorAttachments, const VkAttachmentReference* pResolveAttachments, const VkAttachmentReference* pDepthStencilAttachment, deUint32 preserveAttachmentCount, const deUint32* 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 (deUint32 srcSubpass, deUint32 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, deUint32 mipLevel, deUint32 baseArrayLayer, deUint32 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, deUint32 stencil) 364{ 365 VkClearDepthStencilValue res; 366 res.depth = depth; 367 res.stencil = stencil; 368 return res; 369} 370 371inline VkInputAttachmentAspectReference makeInputAttachmentAspectReference (deUint32 subpass, deUint32 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 (deUint32 dstBinding, deUint32 dstArrayElement, deUint32 descriptorCount, VkDescriptorType descriptorType, deUintptr offset, deUintptr 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 (deUint8 major, deUint8 minor, deUint8 subminor, deUint8 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, deUint32 currentStackIndex) 420{ 421 VkDisplayPlanePropertiesKHR res; 422 res.currentDisplay = currentDisplay; 423 res.currentStackIndex = currentStackIndex; 424 return res; 425} 426 427inline VkPresentRegionKHR makePresentRegionKHR (deUint32 rectangleCount, const VkRectLayerKHR* pRectangles) 428{ 429 VkPresentRegionKHR res; 430 res.rectangleCount = rectangleCount; 431 res.pRectangles = pRectangles; 432 return res; 433} 434 435inline VkShaderResourceUsageAMD makeShaderResourceUsageAMD (deUint32 numUsedVgprs, deUint32 numUsedSgprs, deUint32 ldsSizePerLocalWorkGroup, deUintptr ldsUsageSizeInBytes, deUintptr 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 (deUint64 refreshDuration) 455{ 456 VkRefreshCycleDurationGOOGLE res; 457 res.refreshDuration = refreshDuration; 458 return res; 459} 460 461inline VkPastPresentationTimingGOOGLE makePastPresentationTimingGOOGLE (deUint32 presentID, deUint64 desiredPresentTime, deUint64 actualPresentTime, deUint64 earliestPresentTime, deUint64 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 (deUint32 presentID, deUint64 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 (deUint64 drmFormatModifier, deUint32 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 VkShadingRatePaletteNV makeShadingRatePaletteNV (deUint32 shadingRatePaletteEntryCount, const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries) 516{ 517 VkShadingRatePaletteNV res; 518 res.shadingRatePaletteEntryCount = shadingRatePaletteEntryCount; 519 res.pShadingRatePaletteEntries = pShadingRatePaletteEntries; 520 return res; 521} 522 523inline VkCoarseSampleLocationNV makeCoarseSampleLocationNV (deUint32 pixelX, deUint32 pixelY, deUint32 sample) 524{ 525 VkCoarseSampleLocationNV res; 526 res.pixelX = pixelX; 527 res.pixelY = pixelY; 528 res.sample = sample; 529 return res; 530} 531 532inline VkCoarseSampleOrderCustomNV makeCoarseSampleOrderCustomNV (VkShadingRatePaletteEntryNV shadingRate, deUint32 sampleCount, deUint32 sampleLocationCount, const VkCoarseSampleLocationNV* pSampleLocations) 533{ 534 VkCoarseSampleOrderCustomNV res; 535 res.shadingRate = shadingRate; 536 res.sampleCount = sampleCount; 537 res.sampleLocationCount = sampleLocationCount; 538 res.pSampleLocations = pSampleLocations; 539 return res; 540} 541 542inline VkAabbPositionsKHR makeAabbPositionsKHR (float minX, float minY, float minZ, float maxX, float maxY, float maxZ) 543{ 544 VkAabbPositionsKHR res; 545 res.minX = minX; 546 res.minY = minY; 547 res.minZ = minZ; 548 res.maxX = maxX; 549 res.maxY = maxY; 550 res.maxZ = maxZ; 551 return res; 552} 553 554inline VkVertexInputBindingDivisorDescriptionEXT makeVertexInputBindingDivisorDescriptionEXT (deUint32 binding, deUint32 divisor) 555{ 556 VkVertexInputBindingDivisorDescriptionEXT res; 557 res.binding = binding; 558 res.divisor = divisor; 559 return res; 560} 561 562inline VkPipelineCreationFeedbackEXT makePipelineCreationFeedbackEXT (VkPipelineCreationFeedbackFlagsEXT flags, deUint64 duration) 563{ 564 VkPipelineCreationFeedbackEXT res; 565 res.flags = flags; 566 res.duration = duration; 567 return res; 568} 569 570inline VkDrawMeshTasksIndirectCommandNV makeDrawMeshTasksIndirectCommandNV (deUint32 taskCount, deUint32 firstTask) 571{ 572 VkDrawMeshTasksIndirectCommandNV res; 573 res.taskCount = taskCount; 574 res.firstTask = firstTask; 575 return res; 576} 577 578inline VkBindShaderGroupIndirectCommandNV makeBindShaderGroupIndirectCommandNV (deUint32 groupIndex) 579{ 580 VkBindShaderGroupIndirectCommandNV res; 581 res.groupIndex = groupIndex; 582 return res; 583} 584 585inline VkBindIndexBufferIndirectCommandNV makeBindIndexBufferIndirectCommandNV (VkDeviceAddress bufferAddress, deUint32 size, VkIndexType indexType) 586{ 587 VkBindIndexBufferIndirectCommandNV res; 588 res.bufferAddress = bufferAddress; 589 res.size = size; 590 res.indexType = indexType; 591 return res; 592} 593 594inline VkBindVertexBufferIndirectCommandNV makeBindVertexBufferIndirectCommandNV (VkDeviceAddress bufferAddress, deUint32 size, deUint32 stride) 595{ 596 VkBindVertexBufferIndirectCommandNV res; 597 res.bufferAddress = bufferAddress; 598 res.size = size; 599 res.stride = stride; 600 return res; 601} 602 603inline VkSetStateFlagsIndirectCommandNV makeSetStateFlagsIndirectCommandNV (deUint32 data) 604{ 605 VkSetStateFlagsIndirectCommandNV res; 606 res.data = data; 607 return res; 608} 609 610inline VkIndirectCommandsStreamNV makeIndirectCommandsStreamNV (VkBuffer buffer, VkDeviceSize offset) 611{ 612 VkIndirectCommandsStreamNV res; 613 res.buffer = buffer; 614 res.offset = offset; 615 return res; 616} 617 618inline VkMutableDescriptorTypeListVALVE makeMutableDescriptorTypeListVALVE (deUint32 descriptorTypeCount, const VkDescriptorType* pDescriptorTypes) 619{ 620 VkMutableDescriptorTypeListVALVE res; 621 res.descriptorTypeCount = descriptorTypeCount; 622 res.pDescriptorTypes = pDescriptorTypes; 623 return res; 624} 625 626inline VkAccelerationStructureBuildRangeInfoKHR makeAccelerationStructureBuildRangeInfoKHR (deUint32 primitiveCount, deUint32 primitiveOffset, deUint32 firstVertex, deUint32 transformOffset) 627{ 628 VkAccelerationStructureBuildRangeInfoKHR res; 629 res.primitiveCount = primitiveCount; 630 res.primitiveOffset = primitiveOffset; 631 res.firstVertex = firstVertex; 632 res.transformOffset = transformOffset; 633 return res; 634} 635 636inline VkStridedDeviceAddressRegionKHR makeStridedDeviceAddressRegionKHR (VkDeviceAddress deviceAddress, VkDeviceSize stride, VkDeviceSize size) 637{ 638 VkStridedDeviceAddressRegionKHR res; 639 res.deviceAddress = deviceAddress; 640 res.stride = stride; 641 res.size = size; 642 return res; 643} 644 645inline VkTraceRaysIndirectCommandKHR makeTraceRaysIndirectCommandKHR (deUint32 width, deUint32 height, deUint32 depth) 646{ 647 VkTraceRaysIndirectCommandKHR res; 648 res.width = width; 649 res.height = height; 650 res.depth = depth; 651 return res; 652} 653 654inline StdVideoEncodeH264RefListModEntry makeStdVideoEncodeH264RefListModEntry (StdVideoH264ModificationOfPicNumsIdc modification_of_pic_nums_idc, deUint16 abs_diff_pic_num_minus1, deUint16 long_term_pic_num) 655{ 656 StdVideoEncodeH264RefListModEntry res; 657 res.modification_of_pic_nums_idc = modification_of_pic_nums_idc; 658 res.abs_diff_pic_num_minus1 = abs_diff_pic_num_minus1; 659 res.long_term_pic_num = long_term_pic_num; 660 return res; 661} 662 663inline StdVideoEncodeH264RefPicMarkingEntry makeStdVideoEncodeH264RefPicMarkingEntry (StdVideoH264MemMgmtControlOp operation, deUint16 difference_of_pic_nums_minus1, deUint16 long_term_pic_num, deUint16 long_term_frame_idx, deUint16 max_long_term_frame_idx_plus1) 664{ 665 StdVideoEncodeH264RefPicMarkingEntry res; 666 res.operation = operation; 667 res.difference_of_pic_nums_minus1 = difference_of_pic_nums_minus1; 668 res.long_term_pic_num = long_term_pic_num; 669 res.long_term_frame_idx = long_term_frame_idx; 670 res.max_long_term_frame_idx_plus1 = max_long_term_frame_idx_plus1; 671 return res; 672} 673 674inline StdVideoDecodeH264Mvc makeStdVideoDecodeH264Mvc (deUint32 viewId0, deUint32 mvcElementCount, StdVideoDecodeH264MvcElement* pMvcElements) 675{ 676 StdVideoDecodeH264Mvc res; 677 res.viewId0 = viewId0; 678 res.mvcElementCount = mvcElementCount; 679 res.pMvcElements = pMvcElements; 680 return res; 681} 682