1 /* WARNING: This is auto-generated file. Do not modify, since changes will 2 * be lost! Modify the generating script instead. 3 */ 4 5 inline VkAllocationCallbacks makeAllocationCallbacks (void* pUserData, PFN_vkAllocationFunction pfnAllocation, PFN_vkReallocationFunction pfnReallocation, PFN_vkFreeFunction pfnFree, PFN_vkInternalAllocationNotification pfnInternalAllocation, PFN_vkInternalFreeNotification pfnInternalFree) 6 { 7 VkAllocationCallbacks res; 8 res.pUserData = pUserData; 9 res.pfnAllocation = pfnAllocation; 10 res.pfnReallocation = pfnReallocation; 11 res.pfnFree = pfnFree; 12 res.pfnInternalAllocation = pfnInternalAllocation; 13 res.pfnInternalFree = pfnInternalFree; 14 return res; 15 } 16 17 inline VkExtent3D makeExtent3D (deUint32 width, deUint32 height, deUint32 depth) 18 { 19 VkExtent3D res; 20 res.width = width; 21 res.height = height; 22 res.depth = depth; 23 return res; 24 } 25 26 inline VkMemoryRequirements makeMemoryRequirements (VkDeviceSize size, VkDeviceSize alignment, deUint32 memoryTypeBits) 27 { 28 VkMemoryRequirements res; 29 res.size = size; 30 res.alignment = alignment; 31 res.memoryTypeBits = memoryTypeBits; 32 return res; 33 } 34 35 inline VkSparseMemoryBind makeSparseMemoryBind (VkDeviceSize resourceOffset, VkDeviceSize size, VkDeviceMemory memory, VkDeviceSize memoryOffset, VkSparseMemoryBindFlags flags) 36 { 37 VkSparseMemoryBind res; 38 res.resourceOffset = resourceOffset; 39 res.size = size; 40 res.memory = memory; 41 res.memoryOffset = memoryOffset; 42 res.flags = flags; 43 return res; 44 } 45 46 inline VkSparseBufferMemoryBindInfo makeSparseBufferMemoryBindInfo (VkBuffer buffer, deUint32 bindCount, const VkSparseMemoryBind* pBinds) 47 { 48 VkSparseBufferMemoryBindInfo res; 49 res.buffer = buffer; 50 res.bindCount = bindCount; 51 res.pBinds = pBinds; 52 return res; 53 } 54 55 inline VkSparseImageOpaqueMemoryBindInfo makeSparseImageOpaqueMemoryBindInfo (VkImage image, deUint32 bindCount, const VkSparseMemoryBind* pBinds) 56 { 57 VkSparseImageOpaqueMemoryBindInfo res; 58 res.image = image; 59 res.bindCount = bindCount; 60 res.pBinds = pBinds; 61 return res; 62 } 63 64 inline VkImageSubresource makeImageSubresource (VkImageAspectFlags aspectMask, deUint32 mipLevel, deUint32 arrayLayer) 65 { 66 VkImageSubresource res; 67 res.aspectMask = aspectMask; 68 res.mipLevel = mipLevel; 69 res.arrayLayer = arrayLayer; 70 return res; 71 } 72 73 inline VkOffset3D makeOffset3D (deInt32 x, deInt32 y, deInt32 z) 74 { 75 VkOffset3D res; 76 res.x = x; 77 res.y = y; 78 res.z = z; 79 return res; 80 } 81 82 inline VkSparseImageMemoryBindInfo makeSparseImageMemoryBindInfo (VkImage image, deUint32 bindCount, const VkSparseImageMemoryBind* pBinds) 83 { 84 VkSparseImageMemoryBindInfo res; 85 res.image = image; 86 res.bindCount = bindCount; 87 res.pBinds = pBinds; 88 return res; 89 } 90 91 inline VkSubresourceLayout makeSubresourceLayout (VkDeviceSize offset, VkDeviceSize size, VkDeviceSize rowPitch, VkDeviceSize arrayPitch, VkDeviceSize depthPitch) 92 { 93 VkSubresourceLayout res; 94 res.offset = offset; 95 res.size = size; 96 res.rowPitch = rowPitch; 97 res.arrayPitch = arrayPitch; 98 res.depthPitch = depthPitch; 99 return res; 100 } 101 102 inline VkComponentMapping makeComponentMapping (VkComponentSwizzle r, VkComponentSwizzle g, VkComponentSwizzle b, VkComponentSwizzle a) 103 { 104 VkComponentMapping res; 105 res.r = r; 106 res.g = g; 107 res.b = b; 108 res.a = a; 109 return res; 110 } 111 112 inline VkImageSubresourceRange makeImageSubresourceRange (VkImageAspectFlags aspectMask, deUint32 baseMipLevel, deUint32 levelCount, deUint32 baseArrayLayer, deUint32 layerCount) 113 { 114 VkImageSubresourceRange res; 115 res.aspectMask = aspectMask; 116 res.baseMipLevel = baseMipLevel; 117 res.levelCount = levelCount; 118 res.baseArrayLayer = baseArrayLayer; 119 res.layerCount = layerCount; 120 return res; 121 } 122 123 inline VkSpecializationMapEntry makeSpecializationMapEntry (deUint32 constantID, deUint32 offset, deUintptr size) 124 { 125 VkSpecializationMapEntry res; 126 res.constantID = constantID; 127 res.offset = offset; 128 res.size = size; 129 return res; 130 } 131 132 inline VkSpecializationInfo makeSpecializationInfo (deUint32 mapEntryCount, const VkSpecializationMapEntry* pMapEntries, deUintptr dataSize, const void* pData) 133 { 134 VkSpecializationInfo res; 135 res.mapEntryCount = mapEntryCount; 136 res.pMapEntries = pMapEntries; 137 res.dataSize = dataSize; 138 res.pData = pData; 139 return res; 140 } 141 142 inline VkVertexInputBindingDescription makeVertexInputBindingDescription (deUint32 binding, deUint32 stride, VkVertexInputRate inputRate) 143 { 144 VkVertexInputBindingDescription res; 145 res.binding = binding; 146 res.stride = stride; 147 res.inputRate = inputRate; 148 return res; 149 } 150 151 inline VkVertexInputAttributeDescription makeVertexInputAttributeDescription (deUint32 location, deUint32 binding, VkFormat format, deUint32 offset) 152 { 153 VkVertexInputAttributeDescription res; 154 res.location = location; 155 res.binding = binding; 156 res.format = format; 157 res.offset = offset; 158 return res; 159 } 160 161 inline VkViewport makeViewport (float x, float y, float width, float height, float minDepth, float maxDepth) 162 { 163 VkViewport res; 164 res.x = x; 165 res.y = y; 166 res.width = width; 167 res.height = height; 168 res.minDepth = minDepth; 169 res.maxDepth = maxDepth; 170 return res; 171 } 172 173 inline VkOffset2D makeOffset2D (deInt32 x, deInt32 y) 174 { 175 VkOffset2D res; 176 res.x = x; 177 res.y = y; 178 return res; 179 } 180 181 inline VkExtent2D makeExtent2D (deUint32 width, deUint32 height) 182 { 183 VkExtent2D res; 184 res.width = width; 185 res.height = height; 186 return res; 187 } 188 189 inline VkStencilOpState makeStencilOpState (VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp, deUint32 compareMask, deUint32 writeMask, deUint32 reference) 190 { 191 VkStencilOpState res; 192 res.failOp = failOp; 193 res.passOp = passOp; 194 res.depthFailOp = depthFailOp; 195 res.compareOp = compareOp; 196 res.compareMask = compareMask; 197 res.writeMask = writeMask; 198 res.reference = reference; 199 return res; 200 } 201 202 inline VkPipelineColorBlendAttachmentState makePipelineColorBlendAttachmentState (VkBool32 blendEnable, VkBlendFactor srcColorBlendFactor, VkBlendFactor dstColorBlendFactor, VkBlendOp colorBlendOp, VkBlendFactor srcAlphaBlendFactor, VkBlendFactor dstAlphaBlendFactor, VkBlendOp alphaBlendOp, VkColorComponentFlags colorWriteMask) 203 { 204 VkPipelineColorBlendAttachmentState res; 205 res.blendEnable = blendEnable; 206 res.srcColorBlendFactor = srcColorBlendFactor; 207 res.dstColorBlendFactor = dstColorBlendFactor; 208 res.colorBlendOp = colorBlendOp; 209 res.srcAlphaBlendFactor = srcAlphaBlendFactor; 210 res.dstAlphaBlendFactor = dstAlphaBlendFactor; 211 res.alphaBlendOp = alphaBlendOp; 212 res.colorWriteMask = colorWriteMask; 213 return res; 214 } 215 216 inline VkPushConstantRange makePushConstantRange (VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size) 217 { 218 VkPushConstantRange res; 219 res.stageFlags = stageFlags; 220 res.offset = offset; 221 res.size = size; 222 return res; 223 } 224 225 inline VkDescriptorSetLayoutBinding makeDescriptorSetLayoutBinding (deUint32 binding, VkDescriptorType descriptorType, deUint32 descriptorCount, VkShaderStageFlags stageFlags, const VkSampler* pImmutableSamplers) 226 { 227 VkDescriptorSetLayoutBinding res; 228 res.binding = binding; 229 res.descriptorType = descriptorType; 230 res.descriptorCount = descriptorCount; 231 res.stageFlags = stageFlags; 232 res.pImmutableSamplers = pImmutableSamplers; 233 return res; 234 } 235 236 inline VkDescriptorPoolSize makeDescriptorPoolSize (VkDescriptorType type, deUint32 descriptorCount) 237 { 238 VkDescriptorPoolSize res; 239 res.type = type; 240 res.descriptorCount = descriptorCount; 241 return res; 242 } 243 244 inline VkDescriptorImageInfo makeDescriptorImageInfo (VkSampler sampler, VkImageView imageView, VkImageLayout imageLayout) 245 { 246 VkDescriptorImageInfo res; 247 res.sampler = sampler; 248 res.imageView = imageView; 249 res.imageLayout = imageLayout; 250 return res; 251 } 252 253 inline VkDescriptorBufferInfo makeDescriptorBufferInfo (VkBuffer buffer, VkDeviceSize offset, VkDeviceSize range) 254 { 255 VkDescriptorBufferInfo res; 256 res.buffer = buffer; 257 res.offset = offset; 258 res.range = range; 259 return res; 260 } 261 262 inline VkAttachmentDescription makeAttachmentDescription (VkAttachmentDescriptionFlags flags, VkFormat format, VkSampleCountFlagBits samples, VkAttachmentLoadOp loadOp, VkAttachmentStoreOp storeOp, VkAttachmentLoadOp stencilLoadOp, VkAttachmentStoreOp stencilStoreOp, VkImageLayout initialLayout, VkImageLayout finalLayout) 263 { 264 VkAttachmentDescription res; 265 res.flags = flags; 266 res.format = format; 267 res.samples = samples; 268 res.loadOp = loadOp; 269 res.storeOp = storeOp; 270 res.stencilLoadOp = stencilLoadOp; 271 res.stencilStoreOp = stencilStoreOp; 272 res.initialLayout = initialLayout; 273 res.finalLayout = finalLayout; 274 return res; 275 } 276 277 inline VkAttachmentReference makeAttachmentReference (deUint32 attachment, VkImageLayout layout) 278 { 279 VkAttachmentReference res; 280 res.attachment = attachment; 281 res.layout = layout; 282 return res; 283 } 284 285 inline 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) 286 { 287 VkSubpassDescription res; 288 res.flags = flags; 289 res.pipelineBindPoint = pipelineBindPoint; 290 res.inputAttachmentCount = inputAttachmentCount; 291 res.pInputAttachments = pInputAttachments; 292 res.colorAttachmentCount = colorAttachmentCount; 293 res.pColorAttachments = pColorAttachments; 294 res.pResolveAttachments = pResolveAttachments; 295 res.pDepthStencilAttachment = pDepthStencilAttachment; 296 res.preserveAttachmentCount = preserveAttachmentCount; 297 res.pPreserveAttachments = pPreserveAttachments; 298 return res; 299 } 300 301 inline VkSubpassDependency makeSubpassDependency (deUint32 srcSubpass, deUint32 dstSubpass, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkAccessFlags srcAccessMask, VkAccessFlags dstAccessMask, VkDependencyFlags dependencyFlags) 302 { 303 VkSubpassDependency res; 304 res.srcSubpass = srcSubpass; 305 res.dstSubpass = dstSubpass; 306 res.srcStageMask = srcStageMask; 307 res.dstStageMask = dstStageMask; 308 res.srcAccessMask = srcAccessMask; 309 res.dstAccessMask = dstAccessMask; 310 res.dependencyFlags = dependencyFlags; 311 return res; 312 } 313 314 inline VkBufferCopy makeBufferCopy (VkDeviceSize srcOffset, VkDeviceSize dstOffset, VkDeviceSize size) 315 { 316 VkBufferCopy res; 317 res.srcOffset = srcOffset; 318 res.dstOffset = dstOffset; 319 res.size = size; 320 return res; 321 } 322 323 inline VkImageSubresourceLayers makeImageSubresourceLayers (VkImageAspectFlags aspectMask, deUint32 mipLevel, deUint32 baseArrayLayer, deUint32 layerCount) 324 { 325 VkImageSubresourceLayers res; 326 res.aspectMask = aspectMask; 327 res.mipLevel = mipLevel; 328 res.baseArrayLayer = baseArrayLayer; 329 res.layerCount = layerCount; 330 return res; 331 } 332 333 inline VkClearDepthStencilValue makeClearDepthStencilValue (float depth, deUint32 stencil) 334 { 335 VkClearDepthStencilValue res; 336 res.depth = depth; 337 res.stencil = stencil; 338 return res; 339 } 340 341 inline VkDispatchIndirectCommand makeDispatchIndirectCommand (deUint32 x, deUint32 y, deUint32 z) 342 { 343 VkDispatchIndirectCommand res; 344 res.x = x; 345 res.y = y; 346 res.z = z; 347 return res; 348 } 349 350 inline VkDrawIndexedIndirectCommand makeDrawIndexedIndirectCommand (deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance) 351 { 352 VkDrawIndexedIndirectCommand res; 353 res.indexCount = indexCount; 354 res.instanceCount = instanceCount; 355 res.firstIndex = firstIndex; 356 res.vertexOffset = vertexOffset; 357 res.firstInstance = firstInstance; 358 return res; 359 } 360 361 inline VkDrawIndirectCommand makeDrawIndirectCommand (deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance) 362 { 363 VkDrawIndirectCommand res; 364 res.vertexCount = vertexCount; 365 res.instanceCount = instanceCount; 366 res.firstVertex = firstVertex; 367 res.firstInstance = firstInstance; 368 return res; 369 } 370 371 inline 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 380 inline 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 392 inline 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 401 inline VkSurfaceFormatKHR makeSurfaceFormatKHR (VkFormat format, VkColorSpaceKHR colorSpace) 402 { 403 VkSurfaceFormatKHR res; 404 res.format = format; 405 res.colorSpace = colorSpace; 406 return res; 407 } 408 409 inline VkDisplayPlanePropertiesKHR makeDisplayPlanePropertiesKHR (VkDisplayKHR currentDisplay, deUint32 currentStackIndex) 410 { 411 VkDisplayPlanePropertiesKHR res; 412 res.currentDisplay = currentDisplay; 413 res.currentStackIndex = currentStackIndex; 414 return res; 415 } 416 417 inline VkPresentRegionKHR makePresentRegionKHR (deUint32 rectangleCount, const VkRectLayerKHR* pRectangles) 418 { 419 VkPresentRegionKHR res; 420 res.rectangleCount = rectangleCount; 421 res.pRectangles = pRectangles; 422 return res; 423 } 424 425 inline VkIndirectCommandsTokenNVX makeIndirectCommandsTokenNVX (VkIndirectCommandsTokenTypeNVX tokenType, VkBuffer buffer, VkDeviceSize offset) 426 { 427 VkIndirectCommandsTokenNVX res; 428 res.tokenType = tokenType; 429 res.buffer = buffer; 430 res.offset = offset; 431 return res; 432 } 433 434 inline VkIndirectCommandsLayoutTokenNVX makeIndirectCommandsLayoutTokenNVX (VkIndirectCommandsTokenTypeNVX tokenType, deUint32 bindingUnit, deUint32 dynamicCount, deUint32 divisor) 435 { 436 VkIndirectCommandsLayoutTokenNVX res; 437 res.tokenType = tokenType; 438 res.bindingUnit = bindingUnit; 439 res.dynamicCount = dynamicCount; 440 res.divisor = divisor; 441 return res; 442 } 443 444 inline VkObjectTableEntryNVX makeObjectTableEntryNVX (VkObjectEntryTypeNVX type, VkObjectEntryUsageFlagsNVX flags) 445 { 446 VkObjectTableEntryNVX res; 447 res.type = type; 448 res.flags = flags; 449 return res; 450 } 451 452 inline VkObjectTablePipelineEntryNVX makeObjectTablePipelineEntryNVX (VkObjectEntryTypeNVX type, VkObjectEntryUsageFlagsNVX flags, VkPipeline pipeline) 453 { 454 VkObjectTablePipelineEntryNVX res; 455 res.type = type; 456 res.flags = flags; 457 res.pipeline = pipeline; 458 return res; 459 } 460 461 inline VkObjectTableDescriptorSetEntryNVX makeObjectTableDescriptorSetEntryNVX (VkObjectEntryTypeNVX type, VkObjectEntryUsageFlagsNVX flags, VkPipelineLayout pipelineLayout, VkDescriptorSet descriptorSet) 462 { 463 VkObjectTableDescriptorSetEntryNVX res; 464 res.type = type; 465 res.flags = flags; 466 res.pipelineLayout = pipelineLayout; 467 res.descriptorSet = descriptorSet; 468 return res; 469 } 470 471 inline VkObjectTableVertexBufferEntryNVX makeObjectTableVertexBufferEntryNVX (VkObjectEntryTypeNVX type, VkObjectEntryUsageFlagsNVX flags, VkBuffer buffer) 472 { 473 VkObjectTableVertexBufferEntryNVX res; 474 res.type = type; 475 res.flags = flags; 476 res.buffer = buffer; 477 return res; 478 } 479 480 inline VkObjectTableIndexBufferEntryNVX makeObjectTableIndexBufferEntryNVX (VkObjectEntryTypeNVX type, VkObjectEntryUsageFlagsNVX flags, VkBuffer buffer, VkIndexType indexType) 481 { 482 VkObjectTableIndexBufferEntryNVX res; 483 res.type = type; 484 res.flags = flags; 485 res.buffer = buffer; 486 res.indexType = indexType; 487 return res; 488 } 489 490 inline VkObjectTablePushConstantEntryNVX makeObjectTablePushConstantEntryNVX (VkObjectEntryTypeNVX type, VkObjectEntryUsageFlagsNVX flags, VkPipelineLayout pipelineLayout, VkShaderStageFlags stageFlags) 491 { 492 VkObjectTablePushConstantEntryNVX res; 493 res.type = type; 494 res.flags = flags; 495 res.pipelineLayout = pipelineLayout; 496 res.stageFlags = stageFlags; 497 return res; 498 } 499 500 inline VkViewportWScalingNV makeViewportWScalingNV (float xcoeff, float ycoeff) 501 { 502 VkViewportWScalingNV res; 503 res.xcoeff = xcoeff; 504 res.ycoeff = ycoeff; 505 return res; 506 } 507 508 inline VkRefreshCycleDurationGOOGLE makeRefreshCycleDurationGOOGLE (deUint64 refreshDuration) 509 { 510 VkRefreshCycleDurationGOOGLE res; 511 res.refreshDuration = refreshDuration; 512 return res; 513 } 514 515 inline VkPastPresentationTimingGOOGLE makePastPresentationTimingGOOGLE (deUint32 presentID, deUint64 desiredPresentTime, deUint64 actualPresentTime, deUint64 earliestPresentTime, deUint64 presentMargin) 516 { 517 VkPastPresentationTimingGOOGLE res; 518 res.presentID = presentID; 519 res.desiredPresentTime = desiredPresentTime; 520 res.actualPresentTime = actualPresentTime; 521 res.earliestPresentTime = earliestPresentTime; 522 res.presentMargin = presentMargin; 523 return res; 524 } 525 526 inline VkPresentTimeGOOGLE makePresentTimeGOOGLE (deUint32 presentID, deUint64 desiredPresentTime) 527 { 528 VkPresentTimeGOOGLE res; 529 res.presentID = presentID; 530 res.desiredPresentTime = desiredPresentTime; 531 return res; 532 } 533 534 inline VkViewportSwizzleNV makeViewportSwizzleNV (VkViewportCoordinateSwizzleNV x, VkViewportCoordinateSwizzleNV y, VkViewportCoordinateSwizzleNV z, VkViewportCoordinateSwizzleNV w) 535 { 536 VkViewportSwizzleNV res; 537 res.x = x; 538 res.y = y; 539 res.z = z; 540 res.w = w; 541 return res; 542 } 543 544 inline VkXYColorEXT makeXYColorEXT (float x, float y) 545 { 546 VkXYColorEXT res; 547 res.x = x; 548 res.y = y; 549 return res; 550 } 551 552 inline VkSampleLocationEXT makeSampleLocationEXT (float x, float y) 553 { 554 VkSampleLocationEXT res; 555 res.x = x; 556 res.y = y; 557 return res; 558 } 559