diff options
Diffstat (limited to 'stream-servers/vulkan/cereal/common/goldfish_vk_marshaling.cpp')
-rw-r--r-- | stream-servers/vulkan/cereal/common/goldfish_vk_marshaling.cpp | 18394 |
1 files changed, 14218 insertions, 4176 deletions
diff --git a/stream-servers/vulkan/cereal/common/goldfish_vk_marshaling.cpp b/stream-servers/vulkan/cereal/common/goldfish_vk_marshaling.cpp index e2d9ba0a..86804be9 100644 --- a/stream-servers/vulkan/cereal/common/goldfish_vk_marshaling.cpp +++ b/stream-servers/vulkan/cereal/common/goldfish_vk_marshaling.cpp @@ -15,8 +15,8 @@ // Autogenerated module goldfish_vk_marshaling // -// (impl) generated by registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml cereal -// -o ../../device/generic/vulkan-cereal/stream-servers/vulkan/cereal +// (impl) generated by codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml +// -registryGfxstream codegen/vulkan/xml/vk_gfxstream.xml cereal -o host/vulkan/cereal // // Please do not modify directly; // re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh, @@ -10521,6 +10521,2907 @@ void unmarshal_VkDeviceMemoryOpaqueCaptureAddressInfo( } #endif +#ifdef VK_VERSION_1_3 +void marshal_VkPhysicalDeviceVulkan13Features( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceVulkan13Features* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->robustImageAccess, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->inlineUniformBlock, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->descriptorBindingInlineUniformBlockUpdateAfterBind, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->pipelineCreationCacheControl, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->privateData, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->shaderDemoteToHelperInvocation, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->shaderTerminateInvocation, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->subgroupSizeControl, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->computeFullSubgroups, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->synchronization2, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->textureCompressionASTC_HDR, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->shaderZeroInitializeWorkgroupMemory, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->dynamicRendering, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->shaderIntegerDotProduct, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->maintenance4, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceVulkan13Features(VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceVulkan13Features* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->robustImageAccess, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->inlineUniformBlock, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingInlineUniformBlockUpdateAfterBind, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->pipelineCreationCacheControl, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->privateData, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->shaderDemoteToHelperInvocation, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->shaderTerminateInvocation, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->subgroupSizeControl, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->computeFullSubgroups, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->synchronization2, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->textureCompressionASTC_HDR, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->shaderZeroInitializeWorkgroupMemory, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->dynamicRendering, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->shaderIntegerDotProduct, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->maintenance4, sizeof(VkBool32)); +} + +void marshal_VkPhysicalDeviceVulkan13Properties( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceVulkan13Properties* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)&forMarshaling->minSubgroupSize, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxSubgroupSize, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxComputeWorkgroupSubgroups, sizeof(uint32_t)); + vkStream->write((VkShaderStageFlags*)&forMarshaling->requiredSubgroupSizeStages, + sizeof(VkShaderStageFlags)); + vkStream->write((uint32_t*)&forMarshaling->maxInlineUniformBlockSize, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorInlineUniformBlocks, + sizeof(uint32_t)); + vkStream->write( + (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks, + sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetInlineUniformBlocks, + sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindInlineUniformBlocks, + sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxInlineUniformTotalSize, sizeof(uint32_t)); + vkStream->write((VkBool32*)&forMarshaling->integerDotProduct8BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->integerDotProduct8BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->integerDotProduct8BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedSignedAccelerated, + sizeof(VkBool32)); + vkStream->write( + (VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->integerDotProduct16BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->integerDotProduct16BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->integerDotProduct16BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->integerDotProduct32BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->integerDotProduct32BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->integerDotProduct32BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->integerDotProduct64BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->integerDotProduct64BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->integerDotProduct64BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->write( + (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->write( + (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating8BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling + ->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling + ->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling + ->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated, + sizeof(VkBool32)); + vkStream->write( + (VkBool32*)&forMarshaling + ->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->write( + (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->write( + (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating16BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling + ->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->write( + (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->write( + (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating32BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling + ->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->write( + (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->write( + (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating64BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling + ->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->write((VkDeviceSize*)&forMarshaling->storageTexelBufferOffsetAlignmentBytes, + sizeof(VkDeviceSize)); + vkStream->write((VkBool32*)&forMarshaling->storageTexelBufferOffsetSingleTexelAlignment, + sizeof(VkBool32)); + vkStream->write((VkDeviceSize*)&forMarshaling->uniformTexelBufferOffsetAlignmentBytes, + sizeof(VkDeviceSize)); + vkStream->write((VkBool32*)&forMarshaling->uniformTexelBufferOffsetSingleTexelAlignment, + sizeof(VkBool32)); + vkStream->write((VkDeviceSize*)&forMarshaling->maxBufferSize, sizeof(VkDeviceSize)); +} + +void unmarshal_VkPhysicalDeviceVulkan13Properties( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceVulkan13Properties* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint32_t*)&forUnmarshaling->minSubgroupSize, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxSubgroupSize, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxComputeWorkgroupSubgroups, sizeof(uint32_t)); + vkStream->read((VkShaderStageFlags*)&forUnmarshaling->requiredSubgroupSizeStages, + sizeof(VkShaderStageFlags)); + vkStream->read((uint32_t*)&forUnmarshaling->maxInlineUniformBlockSize, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorInlineUniformBlocks, + sizeof(uint32_t)); + vkStream->read( + (uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks, + sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetInlineUniformBlocks, + sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindInlineUniformBlocks, + sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxInlineUniformTotalSize, sizeof(uint32_t)); + vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct8BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct8BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct8BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct4x8BitPackedUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct4x8BitPackedSignedAccelerated, + sizeof(VkBool32)); + vkStream->read( + (VkBool32*)&forUnmarshaling->integerDotProduct4x8BitPackedMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct16BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct16BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct16BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct32BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct32BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct32BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct64BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct64BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct64BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->read( + (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->read( + (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating8BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling + ->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling + ->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling + ->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated, + sizeof(VkBool32)); + vkStream->read( + (VkBool32*)&forUnmarshaling + ->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling + ->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->read( + (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating16BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling + ->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling + ->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->read( + (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating32BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling + ->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling + ->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->read( + (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating64BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling + ->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->storageTexelBufferOffsetAlignmentBytes, + sizeof(VkDeviceSize)); + vkStream->read((VkBool32*)&forUnmarshaling->storageTexelBufferOffsetSingleTexelAlignment, + sizeof(VkBool32)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->uniformTexelBufferOffsetAlignmentBytes, + sizeof(VkDeviceSize)); + vkStream->read((VkBool32*)&forUnmarshaling->uniformTexelBufferOffsetSingleTexelAlignment, + sizeof(VkBool32)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->maxBufferSize, sizeof(VkDeviceSize)); +} + +void marshal_VkPipelineCreationFeedback(VulkanStream* vkStream, VkStructureType rootType, + const VkPipelineCreationFeedback* forMarshaling) { + (void)rootType; + vkStream->write((VkPipelineCreationFeedbackFlags*)&forMarshaling->flags, + sizeof(VkPipelineCreationFeedbackFlags)); + vkStream->write((uint64_t*)&forMarshaling->duration, sizeof(uint64_t)); +} + +void unmarshal_VkPipelineCreationFeedback(VulkanStream* vkStream, VkStructureType rootType, + VkPipelineCreationFeedback* forUnmarshaling) { + (void)rootType; + vkStream->read((VkPipelineCreationFeedbackFlags*)&forUnmarshaling->flags, + sizeof(VkPipelineCreationFeedbackFlags)); + vkStream->read((uint64_t*)&forUnmarshaling->duration, sizeof(uint64_t)); +} + +void marshal_VkPipelineCreationFeedbackCreateInfo( + VulkanStream* vkStream, VkStructureType rootType, + const VkPipelineCreationFeedbackCreateInfo* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + marshal_VkPipelineCreationFeedback( + vkStream, rootType, + (VkPipelineCreationFeedback*)(forMarshaling->pPipelineCreationFeedback)); + vkStream->write((uint32_t*)&forMarshaling->pipelineStageCreationFeedbackCount, + sizeof(uint32_t)); + if (forMarshaling) { + for (uint32_t i = 0; i < (uint32_t)forMarshaling->pipelineStageCreationFeedbackCount; ++i) { + marshal_VkPipelineCreationFeedback( + vkStream, rootType, + (VkPipelineCreationFeedback*)(forMarshaling->pPipelineStageCreationFeedbacks + i)); + } + } +} + +void unmarshal_VkPipelineCreationFeedbackCreateInfo( + VulkanStream* vkStream, VkStructureType rootType, + VkPipelineCreationFeedbackCreateInfo* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->alloc((void**)&forUnmarshaling->pPipelineCreationFeedback, + sizeof(VkPipelineCreationFeedback)); + unmarshal_VkPipelineCreationFeedback( + vkStream, rootType, + (VkPipelineCreationFeedback*)(forUnmarshaling->pPipelineCreationFeedback)); + vkStream->read((uint32_t*)&forUnmarshaling->pipelineStageCreationFeedbackCount, + sizeof(uint32_t)); + vkStream->alloc( + (void**)&forUnmarshaling->pPipelineStageCreationFeedbacks, + forUnmarshaling->pipelineStageCreationFeedbackCount * sizeof(VkPipelineCreationFeedback)); + if (forUnmarshaling) { + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->pipelineStageCreationFeedbackCount; + ++i) { + unmarshal_VkPipelineCreationFeedback( + vkStream, rootType, + (VkPipelineCreationFeedback*)(forUnmarshaling->pPipelineStageCreationFeedbacks + + i)); + } + } +} + +void marshal_VkPhysicalDeviceShaderTerminateInvocationFeatures( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceShaderTerminateInvocationFeatures* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->shaderTerminateInvocation, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceShaderTerminateInvocationFeatures( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceShaderTerminateInvocationFeatures* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->shaderTerminateInvocation, sizeof(VkBool32)); +} + +void marshal_VkPhysicalDeviceToolProperties(VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceToolProperties* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((char*)forMarshaling->name, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char)); + vkStream->write((char*)forMarshaling->version, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char)); + vkStream->write((VkToolPurposeFlags*)&forMarshaling->purposes, sizeof(VkToolPurposeFlags)); + vkStream->write((char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char)); + vkStream->write((char*)forMarshaling->layer, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char)); +} + +void unmarshal_VkPhysicalDeviceToolProperties(VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceToolProperties* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((char*)forUnmarshaling->name, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char)); + vkStream->read((char*)forUnmarshaling->version, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char)); + vkStream->read((VkToolPurposeFlags*)&forUnmarshaling->purposes, sizeof(VkToolPurposeFlags)); + vkStream->read((char*)forUnmarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char)); + vkStream->read((char*)forUnmarshaling->layer, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char)); +} + +void marshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->shaderDemoteToHelperInvocation, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->shaderDemoteToHelperInvocation, sizeof(VkBool32)); +} + +void marshal_VkPhysicalDevicePrivateDataFeatures( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDevicePrivateDataFeatures* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->privateData, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDevicePrivateDataFeatures( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDevicePrivateDataFeatures* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->privateData, sizeof(VkBool32)); +} + +void marshal_VkDevicePrivateDataCreateInfo(VulkanStream* vkStream, VkStructureType rootType, + const VkDevicePrivateDataCreateInfo* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)&forMarshaling->privateDataSlotRequestCount, sizeof(uint32_t)); +} + +void unmarshal_VkDevicePrivateDataCreateInfo(VulkanStream* vkStream, VkStructureType rootType, + VkDevicePrivateDataCreateInfo* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint32_t*)&forUnmarshaling->privateDataSlotRequestCount, sizeof(uint32_t)); +} + +void marshal_VkPrivateDataSlotCreateInfo(VulkanStream* vkStream, VkStructureType rootType, + const VkPrivateDataSlotCreateInfo* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkPrivateDataSlotCreateFlags*)&forMarshaling->flags, + sizeof(VkPrivateDataSlotCreateFlags)); +} + +void unmarshal_VkPrivateDataSlotCreateInfo(VulkanStream* vkStream, VkStructureType rootType, + VkPrivateDataSlotCreateInfo* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkPrivateDataSlotCreateFlags*)&forUnmarshaling->flags, + sizeof(VkPrivateDataSlotCreateFlags)); +} + +void marshal_VkPhysicalDevicePipelineCreationCacheControlFeatures( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDevicePipelineCreationCacheControlFeatures* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->pipelineCreationCacheControl, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDevicePipelineCreationCacheControlFeatures( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDevicePipelineCreationCacheControlFeatures* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->pipelineCreationCacheControl, sizeof(VkBool32)); +} + +void marshal_VkMemoryBarrier2(VulkanStream* vkStream, VkStructureType rootType, + const VkMemoryBarrier2* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkPipelineStageFlags2*)&forMarshaling->srcStageMask, + sizeof(VkPipelineStageFlags2)); + vkStream->write((VkAccessFlags2*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags2)); + vkStream->write((VkPipelineStageFlags2*)&forMarshaling->dstStageMask, + sizeof(VkPipelineStageFlags2)); + vkStream->write((VkAccessFlags2*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags2)); +} + +void unmarshal_VkMemoryBarrier2(VulkanStream* vkStream, VkStructureType rootType, + VkMemoryBarrier2* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkPipelineStageFlags2*)&forUnmarshaling->srcStageMask, + sizeof(VkPipelineStageFlags2)); + vkStream->read((VkAccessFlags2*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags2)); + vkStream->read((VkPipelineStageFlags2*)&forUnmarshaling->dstStageMask, + sizeof(VkPipelineStageFlags2)); + vkStream->read((VkAccessFlags2*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags2)); +} + +void marshal_VkBufferMemoryBarrier2(VulkanStream* vkStream, VkStructureType rootType, + const VkBufferMemoryBarrier2* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkPipelineStageFlags2*)&forMarshaling->srcStageMask, + sizeof(VkPipelineStageFlags2)); + vkStream->write((VkAccessFlags2*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags2)); + vkStream->write((VkPipelineStageFlags2*)&forMarshaling->dstStageMask, + sizeof(VkPipelineStageFlags2)); + vkStream->write((VkAccessFlags2*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags2)); + vkStream->write((uint32_t*)&forMarshaling->srcQueueFamilyIndex, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->dstQueueFamilyIndex, sizeof(uint32_t)); + uint64_t cgen_var_0; + vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_0, 1); + vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize)); + vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize)); +} + +void unmarshal_VkBufferMemoryBarrier2(VulkanStream* vkStream, VkStructureType rootType, + VkBufferMemoryBarrier2* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkPipelineStageFlags2*)&forUnmarshaling->srcStageMask, + sizeof(VkPipelineStageFlags2)); + vkStream->read((VkAccessFlags2*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags2)); + vkStream->read((VkPipelineStageFlags2*)&forUnmarshaling->dstStageMask, + sizeof(VkPipelineStageFlags2)); + vkStream->read((VkAccessFlags2*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags2)); + vkStream->read((uint32_t*)&forUnmarshaling->srcQueueFamilyIndex, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->dstQueueFamilyIndex, sizeof(uint32_t)); + uint64_t cgen_var_0; + vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0, + (VkBuffer*)&forUnmarshaling->buffer, 1); + vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize)); +} + +void marshal_VkImageMemoryBarrier2(VulkanStream* vkStream, VkStructureType rootType, + const VkImageMemoryBarrier2* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkPipelineStageFlags2*)&forMarshaling->srcStageMask, + sizeof(VkPipelineStageFlags2)); + vkStream->write((VkAccessFlags2*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags2)); + vkStream->write((VkPipelineStageFlags2*)&forMarshaling->dstStageMask, + sizeof(VkPipelineStageFlags2)); + vkStream->write((VkAccessFlags2*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags2)); + vkStream->write((VkImageLayout*)&forMarshaling->oldLayout, sizeof(VkImageLayout)); + vkStream->write((VkImageLayout*)&forMarshaling->newLayout, sizeof(VkImageLayout)); + vkStream->write((uint32_t*)&forMarshaling->srcQueueFamilyIndex, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->dstQueueFamilyIndex, sizeof(uint32_t)); + uint64_t cgen_var_0; + vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_0, 1); + vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); + marshal_VkImageSubresourceRange(vkStream, rootType, + (VkImageSubresourceRange*)(&forMarshaling->subresourceRange)); +} + +void unmarshal_VkImageMemoryBarrier2(VulkanStream* vkStream, VkStructureType rootType, + VkImageMemoryBarrier2* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkPipelineStageFlags2*)&forUnmarshaling->srcStageMask, + sizeof(VkPipelineStageFlags2)); + vkStream->read((VkAccessFlags2*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags2)); + vkStream->read((VkPipelineStageFlags2*)&forUnmarshaling->dstStageMask, + sizeof(VkPipelineStageFlags2)); + vkStream->read((VkAccessFlags2*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags2)); + vkStream->read((VkImageLayout*)&forUnmarshaling->oldLayout, sizeof(VkImageLayout)); + vkStream->read((VkImageLayout*)&forUnmarshaling->newLayout, sizeof(VkImageLayout)); + vkStream->read((uint32_t*)&forUnmarshaling->srcQueueFamilyIndex, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->dstQueueFamilyIndex, sizeof(uint32_t)); + uint64_t cgen_var_0; + vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0, + (VkImage*)&forUnmarshaling->image, 1); + unmarshal_VkImageSubresourceRange( + vkStream, rootType, (VkImageSubresourceRange*)(&forUnmarshaling->subresourceRange)); +} + +void marshal_VkDependencyInfo(VulkanStream* vkStream, VkStructureType rootType, + const VkDependencyInfo* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkDependencyFlags*)&forMarshaling->dependencyFlags, sizeof(VkDependencyFlags)); + vkStream->write((uint32_t*)&forMarshaling->memoryBarrierCount, sizeof(uint32_t)); + if (forMarshaling) { + for (uint32_t i = 0; i < (uint32_t)forMarshaling->memoryBarrierCount; ++i) { + marshal_VkMemoryBarrier2(vkStream, rootType, + (const VkMemoryBarrier2*)(forMarshaling->pMemoryBarriers + i)); + } + } + vkStream->write((uint32_t*)&forMarshaling->bufferMemoryBarrierCount, sizeof(uint32_t)); + if (forMarshaling) { + for (uint32_t i = 0; i < (uint32_t)forMarshaling->bufferMemoryBarrierCount; ++i) { + marshal_VkBufferMemoryBarrier2( + vkStream, rootType, + (const VkBufferMemoryBarrier2*)(forMarshaling->pBufferMemoryBarriers + i)); + } + } + vkStream->write((uint32_t*)&forMarshaling->imageMemoryBarrierCount, sizeof(uint32_t)); + if (forMarshaling) { + for (uint32_t i = 0; i < (uint32_t)forMarshaling->imageMemoryBarrierCount; ++i) { + marshal_VkImageMemoryBarrier2( + vkStream, rootType, + (const VkImageMemoryBarrier2*)(forMarshaling->pImageMemoryBarriers + i)); + } + } +} + +void unmarshal_VkDependencyInfo(VulkanStream* vkStream, VkStructureType rootType, + VkDependencyInfo* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkDependencyFlags*)&forUnmarshaling->dependencyFlags, + sizeof(VkDependencyFlags)); + vkStream->read((uint32_t*)&forUnmarshaling->memoryBarrierCount, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pMemoryBarriers, + forUnmarshaling->memoryBarrierCount * sizeof(const VkMemoryBarrier2)); + if (forUnmarshaling) { + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->memoryBarrierCount; ++i) { + unmarshal_VkMemoryBarrier2(vkStream, rootType, + (VkMemoryBarrier2*)(forUnmarshaling->pMemoryBarriers + i)); + } + } + vkStream->read((uint32_t*)&forUnmarshaling->bufferMemoryBarrierCount, sizeof(uint32_t)); + vkStream->alloc( + (void**)&forUnmarshaling->pBufferMemoryBarriers, + forUnmarshaling->bufferMemoryBarrierCount * sizeof(const VkBufferMemoryBarrier2)); + if (forUnmarshaling) { + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bufferMemoryBarrierCount; ++i) { + unmarshal_VkBufferMemoryBarrier2( + vkStream, rootType, + (VkBufferMemoryBarrier2*)(forUnmarshaling->pBufferMemoryBarriers + i)); + } + } + vkStream->read((uint32_t*)&forUnmarshaling->imageMemoryBarrierCount, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pImageMemoryBarriers, + forUnmarshaling->imageMemoryBarrierCount * sizeof(const VkImageMemoryBarrier2)); + if (forUnmarshaling) { + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->imageMemoryBarrierCount; ++i) { + unmarshal_VkImageMemoryBarrier2( + vkStream, rootType, + (VkImageMemoryBarrier2*)(forUnmarshaling->pImageMemoryBarriers + i)); + } + } +} + +void marshal_VkSemaphoreSubmitInfo(VulkanStream* vkStream, VkStructureType rootType, + const VkSemaphoreSubmitInfo* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + uint64_t cgen_var_0; + vkStream->handleMapping()->mapHandles_VkSemaphore_u64(&forMarshaling->semaphore, &cgen_var_0, + 1); + vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->write((uint64_t*)&forMarshaling->value, sizeof(uint64_t)); + vkStream->write((VkPipelineStageFlags2*)&forMarshaling->stageMask, + sizeof(VkPipelineStageFlags2)); + vkStream->write((uint32_t*)&forMarshaling->deviceIndex, sizeof(uint32_t)); +} + +void unmarshal_VkSemaphoreSubmitInfo(VulkanStream* vkStream, VkStructureType rootType, + VkSemaphoreSubmitInfo* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + uint64_t cgen_var_0; + vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkSemaphore( + &cgen_var_0, (VkSemaphore*)&forUnmarshaling->semaphore, 1); + vkStream->read((uint64_t*)&forUnmarshaling->value, sizeof(uint64_t)); + vkStream->read((VkPipelineStageFlags2*)&forUnmarshaling->stageMask, + sizeof(VkPipelineStageFlags2)); + vkStream->read((uint32_t*)&forUnmarshaling->deviceIndex, sizeof(uint32_t)); +} + +void marshal_VkCommandBufferSubmitInfo(VulkanStream* vkStream, VkStructureType rootType, + const VkCommandBufferSubmitInfo* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + uint64_t cgen_var_0; + vkStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&forMarshaling->commandBuffer, + &cgen_var_0, 1); + vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->write((uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t)); +} + +void unmarshal_VkCommandBufferSubmitInfo(VulkanStream* vkStream, VkStructureType rootType, + VkCommandBufferSubmitInfo* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + uint64_t cgen_var_0; + vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkCommandBuffer( + &cgen_var_0, (VkCommandBuffer*)&forUnmarshaling->commandBuffer, 1); + vkStream->read((uint32_t*)&forUnmarshaling->deviceMask, sizeof(uint32_t)); +} + +void marshal_VkSubmitInfo2(VulkanStream* vkStream, VkStructureType rootType, + const VkSubmitInfo2* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkSubmitFlags*)&forMarshaling->flags, sizeof(VkSubmitFlags)); + vkStream->write((uint32_t*)&forMarshaling->waitSemaphoreInfoCount, sizeof(uint32_t)); + if (forMarshaling) { + for (uint32_t i = 0; i < (uint32_t)forMarshaling->waitSemaphoreInfoCount; ++i) { + marshal_VkSemaphoreSubmitInfo( + vkStream, rootType, + (const VkSemaphoreSubmitInfo*)(forMarshaling->pWaitSemaphoreInfos + i)); + } + } + vkStream->write((uint32_t*)&forMarshaling->commandBufferInfoCount, sizeof(uint32_t)); + if (forMarshaling) { + for (uint32_t i = 0; i < (uint32_t)forMarshaling->commandBufferInfoCount; ++i) { + marshal_VkCommandBufferSubmitInfo( + vkStream, rootType, + (const VkCommandBufferSubmitInfo*)(forMarshaling->pCommandBufferInfos + i)); + } + } + vkStream->write((uint32_t*)&forMarshaling->signalSemaphoreInfoCount, sizeof(uint32_t)); + if (forMarshaling) { + for (uint32_t i = 0; i < (uint32_t)forMarshaling->signalSemaphoreInfoCount; ++i) { + marshal_VkSemaphoreSubmitInfo( + vkStream, rootType, + (const VkSemaphoreSubmitInfo*)(forMarshaling->pSignalSemaphoreInfos + i)); + } + } +} + +void unmarshal_VkSubmitInfo2(VulkanStream* vkStream, VkStructureType rootType, + VkSubmitInfo2* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkSubmitFlags*)&forUnmarshaling->flags, sizeof(VkSubmitFlags)); + vkStream->read((uint32_t*)&forUnmarshaling->waitSemaphoreInfoCount, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pWaitSemaphoreInfos, + forUnmarshaling->waitSemaphoreInfoCount * sizeof(const VkSemaphoreSubmitInfo)); + if (forUnmarshaling) { + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->waitSemaphoreInfoCount; ++i) { + unmarshal_VkSemaphoreSubmitInfo( + vkStream, rootType, + (VkSemaphoreSubmitInfo*)(forUnmarshaling->pWaitSemaphoreInfos + i)); + } + } + vkStream->read((uint32_t*)&forUnmarshaling->commandBufferInfoCount, sizeof(uint32_t)); + vkStream->alloc( + (void**)&forUnmarshaling->pCommandBufferInfos, + forUnmarshaling->commandBufferInfoCount * sizeof(const VkCommandBufferSubmitInfo)); + if (forUnmarshaling) { + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->commandBufferInfoCount; ++i) { + unmarshal_VkCommandBufferSubmitInfo( + vkStream, rootType, + (VkCommandBufferSubmitInfo*)(forUnmarshaling->pCommandBufferInfos + i)); + } + } + vkStream->read((uint32_t*)&forUnmarshaling->signalSemaphoreInfoCount, sizeof(uint32_t)); + vkStream->alloc( + (void**)&forUnmarshaling->pSignalSemaphoreInfos, + forUnmarshaling->signalSemaphoreInfoCount * sizeof(const VkSemaphoreSubmitInfo)); + if (forUnmarshaling) { + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->signalSemaphoreInfoCount; ++i) { + unmarshal_VkSemaphoreSubmitInfo( + vkStream, rootType, + (VkSemaphoreSubmitInfo*)(forUnmarshaling->pSignalSemaphoreInfos + i)); + } + } +} + +void marshal_VkPhysicalDeviceSynchronization2Features( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceSynchronization2Features* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->synchronization2, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceSynchronization2Features( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceSynchronization2Features* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->synchronization2, sizeof(VkBool32)); +} + +void marshal_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->shaderZeroInitializeWorkgroupMemory, + sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->shaderZeroInitializeWorkgroupMemory, + sizeof(VkBool32)); +} + +void marshal_VkPhysicalDeviceImageRobustnessFeatures( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceImageRobustnessFeatures* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->robustImageAccess, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceImageRobustnessFeatures( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceImageRobustnessFeatures* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->robustImageAccess, sizeof(VkBool32)); +} + +void marshal_VkBufferCopy2(VulkanStream* vkStream, VkStructureType rootType, + const VkBufferCopy2* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkDeviceSize*)&forMarshaling->srcOffset, sizeof(VkDeviceSize)); + vkStream->write((VkDeviceSize*)&forMarshaling->dstOffset, sizeof(VkDeviceSize)); + vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize)); +} + +void unmarshal_VkBufferCopy2(VulkanStream* vkStream, VkStructureType rootType, + VkBufferCopy2* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkDeviceSize*)&forUnmarshaling->srcOffset, sizeof(VkDeviceSize)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->dstOffset, sizeof(VkDeviceSize)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize)); +} + +void marshal_VkCopyBufferInfo2(VulkanStream* vkStream, VkStructureType rootType, + const VkCopyBufferInfo2* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + uint64_t cgen_var_0; + vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->srcBuffer, &cgen_var_0, 1); + vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); + uint64_t cgen_var_1; + vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->dstBuffer, &cgen_var_1, 1); + vkStream->write((uint64_t*)&cgen_var_1, 1 * 8); + vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t)); + if (forMarshaling) { + for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) { + marshal_VkBufferCopy2(vkStream, rootType, + (const VkBufferCopy2*)(forMarshaling->pRegions + i)); + } + } +} + +void unmarshal_VkCopyBufferInfo2(VulkanStream* vkStream, VkStructureType rootType, + VkCopyBufferInfo2* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + uint64_t cgen_var_0; + vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0, + (VkBuffer*)&forUnmarshaling->srcBuffer, 1); + uint64_t cgen_var_1; + vkStream->read((uint64_t*)&cgen_var_1, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_1, + (VkBuffer*)&forUnmarshaling->dstBuffer, 1); + vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pRegions, + forUnmarshaling->regionCount * sizeof(const VkBufferCopy2)); + if (forUnmarshaling) { + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) { + unmarshal_VkBufferCopy2(vkStream, rootType, + (VkBufferCopy2*)(forUnmarshaling->pRegions + i)); + } + } +} + +void marshal_VkImageCopy2(VulkanStream* vkStream, VkStructureType rootType, + const VkImageCopy2* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + marshal_VkImageSubresourceLayers(vkStream, rootType, + (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource)); + marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->srcOffset)); + marshal_VkImageSubresourceLayers(vkStream, rootType, + (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource)); + marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->dstOffset)); + marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent)); +} + +void unmarshal_VkImageCopy2(VulkanStream* vkStream, VkStructureType rootType, + VkImageCopy2* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + unmarshal_VkImageSubresourceLayers( + vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource)); + unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->srcOffset)); + unmarshal_VkImageSubresourceLayers( + vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource)); + unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->dstOffset)); + unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->extent)); +} + +void marshal_VkCopyImageInfo2(VulkanStream* vkStream, VkStructureType rootType, + const VkCopyImageInfo2* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + uint64_t cgen_var_0; + vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->srcImage, &cgen_var_0, 1); + vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->write((VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout)); + uint64_t cgen_var_1; + vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->dstImage, &cgen_var_1, 1); + vkStream->write((uint64_t*)&cgen_var_1, 1 * 8); + vkStream->write((VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout)); + vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t)); + if (forMarshaling) { + for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) { + marshal_VkImageCopy2(vkStream, rootType, + (const VkImageCopy2*)(forMarshaling->pRegions + i)); + } + } +} + +void unmarshal_VkCopyImageInfo2(VulkanStream* vkStream, VkStructureType rootType, + VkCopyImageInfo2* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + uint64_t cgen_var_0; + vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0, + (VkImage*)&forUnmarshaling->srcImage, 1); + vkStream->read((VkImageLayout*)&forUnmarshaling->srcImageLayout, sizeof(VkImageLayout)); + uint64_t cgen_var_1; + vkStream->read((uint64_t*)&cgen_var_1, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_1, + (VkImage*)&forUnmarshaling->dstImage, 1); + vkStream->read((VkImageLayout*)&forUnmarshaling->dstImageLayout, sizeof(VkImageLayout)); + vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pRegions, + forUnmarshaling->regionCount * sizeof(const VkImageCopy2)); + if (forUnmarshaling) { + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) { + unmarshal_VkImageCopy2(vkStream, rootType, + (VkImageCopy2*)(forUnmarshaling->pRegions + i)); + } + } +} + +void marshal_VkBufferImageCopy2(VulkanStream* vkStream, VkStructureType rootType, + const VkBufferImageCopy2* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkDeviceSize*)&forMarshaling->bufferOffset, sizeof(VkDeviceSize)); + vkStream->write((uint32_t*)&forMarshaling->bufferRowLength, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->bufferImageHeight, sizeof(uint32_t)); + marshal_VkImageSubresourceLayers(vkStream, rootType, + (VkImageSubresourceLayers*)(&forMarshaling->imageSubresource)); + marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->imageOffset)); + marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->imageExtent)); +} + +void unmarshal_VkBufferImageCopy2(VulkanStream* vkStream, VkStructureType rootType, + VkBufferImageCopy2* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkDeviceSize*)&forUnmarshaling->bufferOffset, sizeof(VkDeviceSize)); + vkStream->read((uint32_t*)&forUnmarshaling->bufferRowLength, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->bufferImageHeight, sizeof(uint32_t)); + unmarshal_VkImageSubresourceLayers( + vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->imageSubresource)); + unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->imageOffset)); + unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->imageExtent)); +} + +void marshal_VkCopyBufferToImageInfo2(VulkanStream* vkStream, VkStructureType rootType, + const VkCopyBufferToImageInfo2* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + uint64_t cgen_var_0; + vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->srcBuffer, &cgen_var_0, 1); + vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); + uint64_t cgen_var_1; + vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->dstImage, &cgen_var_1, 1); + vkStream->write((uint64_t*)&cgen_var_1, 1 * 8); + vkStream->write((VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout)); + vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t)); + if (forMarshaling) { + for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) { + marshal_VkBufferImageCopy2(vkStream, rootType, + (const VkBufferImageCopy2*)(forMarshaling->pRegions + i)); + } + } +} + +void unmarshal_VkCopyBufferToImageInfo2(VulkanStream* vkStream, VkStructureType rootType, + VkCopyBufferToImageInfo2* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + uint64_t cgen_var_0; + vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0, + (VkBuffer*)&forUnmarshaling->srcBuffer, 1); + uint64_t cgen_var_1; + vkStream->read((uint64_t*)&cgen_var_1, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_1, + (VkImage*)&forUnmarshaling->dstImage, 1); + vkStream->read((VkImageLayout*)&forUnmarshaling->dstImageLayout, sizeof(VkImageLayout)); + vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pRegions, + forUnmarshaling->regionCount * sizeof(const VkBufferImageCopy2)); + if (forUnmarshaling) { + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) { + unmarshal_VkBufferImageCopy2(vkStream, rootType, + (VkBufferImageCopy2*)(forUnmarshaling->pRegions + i)); + } + } +} + +void marshal_VkCopyImageToBufferInfo2(VulkanStream* vkStream, VkStructureType rootType, + const VkCopyImageToBufferInfo2* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + uint64_t cgen_var_0; + vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->srcImage, &cgen_var_0, 1); + vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->write((VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout)); + uint64_t cgen_var_1; + vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->dstBuffer, &cgen_var_1, 1); + vkStream->write((uint64_t*)&cgen_var_1, 1 * 8); + vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t)); + if (forMarshaling) { + for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) { + marshal_VkBufferImageCopy2(vkStream, rootType, + (const VkBufferImageCopy2*)(forMarshaling->pRegions + i)); + } + } +} + +void unmarshal_VkCopyImageToBufferInfo2(VulkanStream* vkStream, VkStructureType rootType, + VkCopyImageToBufferInfo2* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + uint64_t cgen_var_0; + vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0, + (VkImage*)&forUnmarshaling->srcImage, 1); + vkStream->read((VkImageLayout*)&forUnmarshaling->srcImageLayout, sizeof(VkImageLayout)); + uint64_t cgen_var_1; + vkStream->read((uint64_t*)&cgen_var_1, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_1, + (VkBuffer*)&forUnmarshaling->dstBuffer, 1); + vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pRegions, + forUnmarshaling->regionCount * sizeof(const VkBufferImageCopy2)); + if (forUnmarshaling) { + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) { + unmarshal_VkBufferImageCopy2(vkStream, rootType, + (VkBufferImageCopy2*)(forUnmarshaling->pRegions + i)); + } + } +} + +void marshal_VkImageBlit2(VulkanStream* vkStream, VkStructureType rootType, + const VkImageBlit2* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + marshal_VkImageSubresourceLayers(vkStream, rootType, + (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource)); + for (uint32_t i = 0; i < (uint32_t)2; ++i) { + marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forMarshaling->srcOffsets + i)); + } + marshal_VkImageSubresourceLayers(vkStream, rootType, + (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource)); + for (uint32_t i = 0; i < (uint32_t)2; ++i) { + marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forMarshaling->dstOffsets + i)); + } +} + +void unmarshal_VkImageBlit2(VulkanStream* vkStream, VkStructureType rootType, + VkImageBlit2* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + unmarshal_VkImageSubresourceLayers( + vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource)); + for (uint32_t i = 0; i < (uint32_t)2; ++i) { + unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forUnmarshaling->srcOffsets + i)); + } + unmarshal_VkImageSubresourceLayers( + vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource)); + for (uint32_t i = 0; i < (uint32_t)2; ++i) { + unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forUnmarshaling->dstOffsets + i)); + } +} + +void marshal_VkBlitImageInfo2(VulkanStream* vkStream, VkStructureType rootType, + const VkBlitImageInfo2* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + uint64_t cgen_var_0; + vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->srcImage, &cgen_var_0, 1); + vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->write((VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout)); + uint64_t cgen_var_1; + vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->dstImage, &cgen_var_1, 1); + vkStream->write((uint64_t*)&cgen_var_1, 1 * 8); + vkStream->write((VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout)); + vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t)); + if (forMarshaling) { + for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) { + marshal_VkImageBlit2(vkStream, rootType, + (const VkImageBlit2*)(forMarshaling->pRegions + i)); + } + } + vkStream->write((VkFilter*)&forMarshaling->filter, sizeof(VkFilter)); +} + +void unmarshal_VkBlitImageInfo2(VulkanStream* vkStream, VkStructureType rootType, + VkBlitImageInfo2* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + uint64_t cgen_var_0; + vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0, + (VkImage*)&forUnmarshaling->srcImage, 1); + vkStream->read((VkImageLayout*)&forUnmarshaling->srcImageLayout, sizeof(VkImageLayout)); + uint64_t cgen_var_1; + vkStream->read((uint64_t*)&cgen_var_1, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_1, + (VkImage*)&forUnmarshaling->dstImage, 1); + vkStream->read((VkImageLayout*)&forUnmarshaling->dstImageLayout, sizeof(VkImageLayout)); + vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pRegions, + forUnmarshaling->regionCount * sizeof(const VkImageBlit2)); + if (forUnmarshaling) { + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) { + unmarshal_VkImageBlit2(vkStream, rootType, + (VkImageBlit2*)(forUnmarshaling->pRegions + i)); + } + } + vkStream->read((VkFilter*)&forUnmarshaling->filter, sizeof(VkFilter)); +} + +void marshal_VkImageResolve2(VulkanStream* vkStream, VkStructureType rootType, + const VkImageResolve2* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + marshal_VkImageSubresourceLayers(vkStream, rootType, + (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource)); + marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->srcOffset)); + marshal_VkImageSubresourceLayers(vkStream, rootType, + (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource)); + marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->dstOffset)); + marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent)); +} + +void unmarshal_VkImageResolve2(VulkanStream* vkStream, VkStructureType rootType, + VkImageResolve2* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + unmarshal_VkImageSubresourceLayers( + vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource)); + unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->srcOffset)); + unmarshal_VkImageSubresourceLayers( + vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource)); + unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->dstOffset)); + unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->extent)); +} + +void marshal_VkResolveImageInfo2(VulkanStream* vkStream, VkStructureType rootType, + const VkResolveImageInfo2* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + uint64_t cgen_var_0; + vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->srcImage, &cgen_var_0, 1); + vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->write((VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout)); + uint64_t cgen_var_1; + vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->dstImage, &cgen_var_1, 1); + vkStream->write((uint64_t*)&cgen_var_1, 1 * 8); + vkStream->write((VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout)); + vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t)); + if (forMarshaling) { + for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) { + marshal_VkImageResolve2(vkStream, rootType, + (const VkImageResolve2*)(forMarshaling->pRegions + i)); + } + } +} + +void unmarshal_VkResolveImageInfo2(VulkanStream* vkStream, VkStructureType rootType, + VkResolveImageInfo2* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + uint64_t cgen_var_0; + vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0, + (VkImage*)&forUnmarshaling->srcImage, 1); + vkStream->read((VkImageLayout*)&forUnmarshaling->srcImageLayout, sizeof(VkImageLayout)); + uint64_t cgen_var_1; + vkStream->read((uint64_t*)&cgen_var_1, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_1, + (VkImage*)&forUnmarshaling->dstImage, 1); + vkStream->read((VkImageLayout*)&forUnmarshaling->dstImageLayout, sizeof(VkImageLayout)); + vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pRegions, + forUnmarshaling->regionCount * sizeof(const VkImageResolve2)); + if (forUnmarshaling) { + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) { + unmarshal_VkImageResolve2(vkStream, rootType, + (VkImageResolve2*)(forUnmarshaling->pRegions + i)); + } + } +} + +void marshal_VkPhysicalDeviceSubgroupSizeControlFeatures( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceSubgroupSizeControlFeatures* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->subgroupSizeControl, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->computeFullSubgroups, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceSubgroupSizeControlFeatures( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceSubgroupSizeControlFeatures* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->subgroupSizeControl, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->computeFullSubgroups, sizeof(VkBool32)); +} + +void marshal_VkPhysicalDeviceSubgroupSizeControlProperties( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceSubgroupSizeControlProperties* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)&forMarshaling->minSubgroupSize, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxSubgroupSize, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxComputeWorkgroupSubgroups, sizeof(uint32_t)); + vkStream->write((VkShaderStageFlags*)&forMarshaling->requiredSubgroupSizeStages, + sizeof(VkShaderStageFlags)); +} + +void unmarshal_VkPhysicalDeviceSubgroupSizeControlProperties( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceSubgroupSizeControlProperties* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint32_t*)&forUnmarshaling->minSubgroupSize, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxSubgroupSize, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxComputeWorkgroupSubgroups, sizeof(uint32_t)); + vkStream->read((VkShaderStageFlags*)&forUnmarshaling->requiredSubgroupSizeStages, + sizeof(VkShaderStageFlags)); +} + +void marshal_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo( + VulkanStream* vkStream, VkStructureType rootType, + const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)&forMarshaling->requiredSubgroupSize, sizeof(uint32_t)); +} + +void unmarshal_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo( + VulkanStream* vkStream, VkStructureType rootType, + VkPipelineShaderStageRequiredSubgroupSizeCreateInfo* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint32_t*)&forUnmarshaling->requiredSubgroupSize, sizeof(uint32_t)); +} + +void marshal_VkPhysicalDeviceInlineUniformBlockFeatures( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceInlineUniformBlockFeatures* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->inlineUniformBlock, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->descriptorBindingInlineUniformBlockUpdateAfterBind, + sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceInlineUniformBlockFeatures( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceInlineUniformBlockFeatures* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->inlineUniformBlock, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingInlineUniformBlockUpdateAfterBind, + sizeof(VkBool32)); +} + +void marshal_VkPhysicalDeviceInlineUniformBlockProperties( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceInlineUniformBlockProperties* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)&forMarshaling->maxInlineUniformBlockSize, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorInlineUniformBlocks, + sizeof(uint32_t)); + vkStream->write( + (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks, + sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetInlineUniformBlocks, + sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindInlineUniformBlocks, + sizeof(uint32_t)); +} + +void unmarshal_VkPhysicalDeviceInlineUniformBlockProperties( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceInlineUniformBlockProperties* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint32_t*)&forUnmarshaling->maxInlineUniformBlockSize, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorInlineUniformBlocks, + sizeof(uint32_t)); + vkStream->read( + (uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks, + sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetInlineUniformBlocks, + sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindInlineUniformBlocks, + sizeof(uint32_t)); +} + +void marshal_VkWriteDescriptorSetInlineUniformBlock( + VulkanStream* vkStream, VkStructureType rootType, + const VkWriteDescriptorSetInlineUniformBlock* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)&forMarshaling->dataSize, sizeof(uint32_t)); + vkStream->write((const void*)forMarshaling->pData, + forMarshaling->dataSize * sizeof(const uint8_t)); +} + +void unmarshal_VkWriteDescriptorSetInlineUniformBlock( + VulkanStream* vkStream, VkStructureType rootType, + VkWriteDescriptorSetInlineUniformBlock* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint32_t*)&forUnmarshaling->dataSize, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pData, + forUnmarshaling->dataSize * sizeof(const uint8_t)); + vkStream->read((void*)forUnmarshaling->pData, + forUnmarshaling->dataSize * sizeof(const uint8_t)); +} + +void marshal_VkDescriptorPoolInlineUniformBlockCreateInfo( + VulkanStream* vkStream, VkStructureType rootType, + const VkDescriptorPoolInlineUniformBlockCreateInfo* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)&forMarshaling->maxInlineUniformBlockBindings, sizeof(uint32_t)); +} + +void unmarshal_VkDescriptorPoolInlineUniformBlockCreateInfo( + VulkanStream* vkStream, VkStructureType rootType, + VkDescriptorPoolInlineUniformBlockCreateInfo* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint32_t*)&forUnmarshaling->maxInlineUniformBlockBindings, sizeof(uint32_t)); +} + +void marshal_VkPhysicalDeviceTextureCompressionASTCHDRFeatures( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceTextureCompressionASTCHDRFeatures* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->textureCompressionASTC_HDR, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceTextureCompressionASTCHDRFeatures( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceTextureCompressionASTCHDRFeatures* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->textureCompressionASTC_HDR, sizeof(VkBool32)); +} + +void marshal_VkRenderingAttachmentInfo(VulkanStream* vkStream, VkStructureType rootType, + const VkRenderingAttachmentInfo* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + uint64_t cgen_var_0; + vkStream->handleMapping()->mapHandles_VkImageView_u64(&forMarshaling->imageView, &cgen_var_0, + 1); + vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->write((VkImageLayout*)&forMarshaling->imageLayout, sizeof(VkImageLayout)); + vkStream->write((VkResolveModeFlagBits*)&forMarshaling->resolveMode, + sizeof(VkResolveModeFlagBits)); + uint64_t cgen_var_1; + vkStream->handleMapping()->mapHandles_VkImageView_u64(&forMarshaling->resolveImageView, + &cgen_var_1, 1); + vkStream->write((uint64_t*)&cgen_var_1, 1 * 8); + vkStream->write((VkImageLayout*)&forMarshaling->resolveImageLayout, sizeof(VkImageLayout)); + vkStream->write((VkAttachmentLoadOp*)&forMarshaling->loadOp, sizeof(VkAttachmentLoadOp)); + vkStream->write((VkAttachmentStoreOp*)&forMarshaling->storeOp, sizeof(VkAttachmentStoreOp)); + marshal_VkClearValue(vkStream, rootType, (VkClearValue*)(&forMarshaling->clearValue)); +} + +void unmarshal_VkRenderingAttachmentInfo(VulkanStream* vkStream, VkStructureType rootType, + VkRenderingAttachmentInfo* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + uint64_t cgen_var_0; + vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkImageView( + &cgen_var_0, (VkImageView*)&forUnmarshaling->imageView, 1); + vkStream->read((VkImageLayout*)&forUnmarshaling->imageLayout, sizeof(VkImageLayout)); + vkStream->read((VkResolveModeFlagBits*)&forUnmarshaling->resolveMode, + sizeof(VkResolveModeFlagBits)); + uint64_t cgen_var_1; + vkStream->read((uint64_t*)&cgen_var_1, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkImageView( + &cgen_var_1, (VkImageView*)&forUnmarshaling->resolveImageView, 1); + vkStream->read((VkImageLayout*)&forUnmarshaling->resolveImageLayout, sizeof(VkImageLayout)); + vkStream->read((VkAttachmentLoadOp*)&forUnmarshaling->loadOp, sizeof(VkAttachmentLoadOp)); + vkStream->read((VkAttachmentStoreOp*)&forUnmarshaling->storeOp, sizeof(VkAttachmentStoreOp)); + unmarshal_VkClearValue(vkStream, rootType, (VkClearValue*)(&forUnmarshaling->clearValue)); +} + +void marshal_VkRenderingInfo(VulkanStream* vkStream, VkStructureType rootType, + const VkRenderingInfo* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkRenderingFlags*)&forMarshaling->flags, sizeof(VkRenderingFlags)); + marshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forMarshaling->renderArea)); + vkStream->write((uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->viewMask, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t)); + if (forMarshaling) { + for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) { + marshal_VkRenderingAttachmentInfo( + vkStream, rootType, + (const VkRenderingAttachmentInfo*)(forMarshaling->pColorAttachments + i)); + } + } + // WARNING PTR CHECK + uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pDepthAttachment; + vkStream->putBe64(cgen_var_0); + if (forMarshaling->pDepthAttachment) { + marshal_VkRenderingAttachmentInfo( + vkStream, rootType, + (const VkRenderingAttachmentInfo*)(forMarshaling->pDepthAttachment)); + } + // WARNING PTR CHECK + uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pStencilAttachment; + vkStream->putBe64(cgen_var_1); + if (forMarshaling->pStencilAttachment) { + marshal_VkRenderingAttachmentInfo( + vkStream, rootType, + (const VkRenderingAttachmentInfo*)(forMarshaling->pStencilAttachment)); + } +} + +void unmarshal_VkRenderingInfo(VulkanStream* vkStream, VkStructureType rootType, + VkRenderingInfo* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkRenderingFlags*)&forUnmarshaling->flags, sizeof(VkRenderingFlags)); + unmarshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forUnmarshaling->renderArea)); + vkStream->read((uint32_t*)&forUnmarshaling->layerCount, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->viewMask, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->colorAttachmentCount, sizeof(uint32_t)); + vkStream->alloc( + (void**)&forUnmarshaling->pColorAttachments, + forUnmarshaling->colorAttachmentCount * sizeof(const VkRenderingAttachmentInfo)); + if (forUnmarshaling) { + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorAttachmentCount; ++i) { + unmarshal_VkRenderingAttachmentInfo( + vkStream, rootType, + (VkRenderingAttachmentInfo*)(forUnmarshaling->pColorAttachments + i)); + } + } + // WARNING PTR CHECK + forUnmarshaling->pDepthAttachment = + (const VkRenderingAttachmentInfo*)(uintptr_t)vkStream->getBe64(); + if (forUnmarshaling->pDepthAttachment) { + vkStream->alloc((void**)&forUnmarshaling->pDepthAttachment, + sizeof(const VkRenderingAttachmentInfo)); + unmarshal_VkRenderingAttachmentInfo( + vkStream, rootType, (VkRenderingAttachmentInfo*)(forUnmarshaling->pDepthAttachment)); + } + // WARNING PTR CHECK + forUnmarshaling->pStencilAttachment = + (const VkRenderingAttachmentInfo*)(uintptr_t)vkStream->getBe64(); + if (forUnmarshaling->pStencilAttachment) { + vkStream->alloc((void**)&forUnmarshaling->pStencilAttachment, + sizeof(const VkRenderingAttachmentInfo)); + unmarshal_VkRenderingAttachmentInfo( + vkStream, rootType, (VkRenderingAttachmentInfo*)(forUnmarshaling->pStencilAttachment)); + } +} + +void marshal_VkPipelineRenderingCreateInfo(VulkanStream* vkStream, VkStructureType rootType, + const VkPipelineRenderingCreateInfo* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)&forMarshaling->viewMask, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t)); + // WARNING PTR CHECK + uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pColorAttachmentFormats; + vkStream->putBe64(cgen_var_0); + if (forMarshaling->pColorAttachmentFormats) { + vkStream->write((const VkFormat*)forMarshaling->pColorAttachmentFormats, + forMarshaling->colorAttachmentCount * sizeof(const VkFormat)); + } + vkStream->write((VkFormat*)&forMarshaling->depthAttachmentFormat, sizeof(VkFormat)); + vkStream->write((VkFormat*)&forMarshaling->stencilAttachmentFormat, sizeof(VkFormat)); +} + +void unmarshal_VkPipelineRenderingCreateInfo(VulkanStream* vkStream, VkStructureType rootType, + VkPipelineRenderingCreateInfo* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint32_t*)&forUnmarshaling->viewMask, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->colorAttachmentCount, sizeof(uint32_t)); + // WARNING PTR CHECK + forUnmarshaling->pColorAttachmentFormats = (const VkFormat*)(uintptr_t)vkStream->getBe64(); + if (forUnmarshaling->pColorAttachmentFormats) { + vkStream->alloc((void**)&forUnmarshaling->pColorAttachmentFormats, + forUnmarshaling->colorAttachmentCount * sizeof(const VkFormat)); + vkStream->read((VkFormat*)forUnmarshaling->pColorAttachmentFormats, + forUnmarshaling->colorAttachmentCount * sizeof(const VkFormat)); + } + vkStream->read((VkFormat*)&forUnmarshaling->depthAttachmentFormat, sizeof(VkFormat)); + vkStream->read((VkFormat*)&forUnmarshaling->stencilAttachmentFormat, sizeof(VkFormat)); +} + +void marshal_VkPhysicalDeviceDynamicRenderingFeatures( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceDynamicRenderingFeatures* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->dynamicRendering, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceDynamicRenderingFeatures( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceDynamicRenderingFeatures* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->dynamicRendering, sizeof(VkBool32)); +} + +void marshal_VkCommandBufferInheritanceRenderingInfo( + VulkanStream* vkStream, VkStructureType rootType, + const VkCommandBufferInheritanceRenderingInfo* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkRenderingFlags*)&forMarshaling->flags, sizeof(VkRenderingFlags)); + vkStream->write((uint32_t*)&forMarshaling->viewMask, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t)); + vkStream->write((const VkFormat*)forMarshaling->pColorAttachmentFormats, + forMarshaling->colorAttachmentCount * sizeof(const VkFormat)); + vkStream->write((VkFormat*)&forMarshaling->depthAttachmentFormat, sizeof(VkFormat)); + vkStream->write((VkFormat*)&forMarshaling->stencilAttachmentFormat, sizeof(VkFormat)); + vkStream->write((VkSampleCountFlagBits*)&forMarshaling->rasterizationSamples, + sizeof(VkSampleCountFlagBits)); +} + +void unmarshal_VkCommandBufferInheritanceRenderingInfo( + VulkanStream* vkStream, VkStructureType rootType, + VkCommandBufferInheritanceRenderingInfo* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkRenderingFlags*)&forUnmarshaling->flags, sizeof(VkRenderingFlags)); + vkStream->read((uint32_t*)&forUnmarshaling->viewMask, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->colorAttachmentCount, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pColorAttachmentFormats, + forUnmarshaling->colorAttachmentCount * sizeof(const VkFormat)); + vkStream->read((VkFormat*)forUnmarshaling->pColorAttachmentFormats, + forUnmarshaling->colorAttachmentCount * sizeof(const VkFormat)); + vkStream->read((VkFormat*)&forUnmarshaling->depthAttachmentFormat, sizeof(VkFormat)); + vkStream->read((VkFormat*)&forUnmarshaling->stencilAttachmentFormat, sizeof(VkFormat)); + vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->rasterizationSamples, + sizeof(VkSampleCountFlagBits)); +} + +void marshal_VkPhysicalDeviceShaderIntegerDotProductFeatures( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceShaderIntegerDotProductFeatures* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->shaderIntegerDotProduct, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceShaderIntegerDotProductFeatures( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceShaderIntegerDotProductFeatures* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->shaderIntegerDotProduct, sizeof(VkBool32)); +} + +void marshal_VkPhysicalDeviceShaderIntegerDotProductProperties( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceShaderIntegerDotProductProperties* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->integerDotProduct8BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->integerDotProduct8BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->integerDotProduct8BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedSignedAccelerated, + sizeof(VkBool32)); + vkStream->write( + (VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->integerDotProduct16BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->integerDotProduct16BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->integerDotProduct16BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->integerDotProduct32BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->integerDotProduct32BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->integerDotProduct32BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->integerDotProduct64BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->integerDotProduct64BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->integerDotProduct64BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->write( + (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->write( + (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating8BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling + ->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling + ->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling + ->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated, + sizeof(VkBool32)); + vkStream->write( + (VkBool32*)&forMarshaling + ->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->write( + (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->write( + (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating16BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling + ->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->write( + (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->write( + (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating32BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling + ->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->write( + (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->write( + (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating64BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling + ->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated, + sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceShaderIntegerDotProductProperties( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceShaderIntegerDotProductProperties* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct8BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct8BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct8BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct4x8BitPackedUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct4x8BitPackedSignedAccelerated, + sizeof(VkBool32)); + vkStream->read( + (VkBool32*)&forUnmarshaling->integerDotProduct4x8BitPackedMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct16BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct16BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct16BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct32BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct32BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct32BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct64BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct64BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct64BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->read( + (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->read( + (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating8BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling + ->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling + ->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling + ->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated, + sizeof(VkBool32)); + vkStream->read( + (VkBool32*)&forUnmarshaling + ->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling + ->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->read( + (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating16BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling + ->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling + ->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->read( + (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating32BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling + ->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling + ->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated, + sizeof(VkBool32)); + vkStream->read( + (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating64BitSignedAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling + ->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated, + sizeof(VkBool32)); +} + +void marshal_VkPhysicalDeviceTexelBufferAlignmentProperties( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceTexelBufferAlignmentProperties* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkDeviceSize*)&forMarshaling->storageTexelBufferOffsetAlignmentBytes, + sizeof(VkDeviceSize)); + vkStream->write((VkBool32*)&forMarshaling->storageTexelBufferOffsetSingleTexelAlignment, + sizeof(VkBool32)); + vkStream->write((VkDeviceSize*)&forMarshaling->uniformTexelBufferOffsetAlignmentBytes, + sizeof(VkDeviceSize)); + vkStream->write((VkBool32*)&forMarshaling->uniformTexelBufferOffsetSingleTexelAlignment, + sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceTexelBufferAlignmentProperties( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceTexelBufferAlignmentProperties* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkDeviceSize*)&forUnmarshaling->storageTexelBufferOffsetAlignmentBytes, + sizeof(VkDeviceSize)); + vkStream->read((VkBool32*)&forUnmarshaling->storageTexelBufferOffsetSingleTexelAlignment, + sizeof(VkBool32)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->uniformTexelBufferOffsetAlignmentBytes, + sizeof(VkDeviceSize)); + vkStream->read((VkBool32*)&forUnmarshaling->uniformTexelBufferOffsetSingleTexelAlignment, + sizeof(VkBool32)); +} + +void marshal_VkFormatProperties3(VulkanStream* vkStream, VkStructureType rootType, + const VkFormatProperties3* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkFormatFeatureFlags2*)&forMarshaling->linearTilingFeatures, + sizeof(VkFormatFeatureFlags2)); + vkStream->write((VkFormatFeatureFlags2*)&forMarshaling->optimalTilingFeatures, + sizeof(VkFormatFeatureFlags2)); + vkStream->write((VkFormatFeatureFlags2*)&forMarshaling->bufferFeatures, + sizeof(VkFormatFeatureFlags2)); +} + +void unmarshal_VkFormatProperties3(VulkanStream* vkStream, VkStructureType rootType, + VkFormatProperties3* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkFormatFeatureFlags2*)&forUnmarshaling->linearTilingFeatures, + sizeof(VkFormatFeatureFlags2)); + vkStream->read((VkFormatFeatureFlags2*)&forUnmarshaling->optimalTilingFeatures, + sizeof(VkFormatFeatureFlags2)); + vkStream->read((VkFormatFeatureFlags2*)&forUnmarshaling->bufferFeatures, + sizeof(VkFormatFeatureFlags2)); +} + +void marshal_VkPhysicalDeviceMaintenance4Features( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceMaintenance4Features* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->maintenance4, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceMaintenance4Features( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceMaintenance4Features* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->maintenance4, sizeof(VkBool32)); +} + +void marshal_VkPhysicalDeviceMaintenance4Properties( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceMaintenance4Properties* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkDeviceSize*)&forMarshaling->maxBufferSize, sizeof(VkDeviceSize)); +} + +void unmarshal_VkPhysicalDeviceMaintenance4Properties( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceMaintenance4Properties* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkDeviceSize*)&forUnmarshaling->maxBufferSize, sizeof(VkDeviceSize)); +} + +void marshal_VkDeviceBufferMemoryRequirements( + VulkanStream* vkStream, VkStructureType rootType, + const VkDeviceBufferMemoryRequirements* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + marshal_VkBufferCreateInfo(vkStream, rootType, + (const VkBufferCreateInfo*)(forMarshaling->pCreateInfo)); +} + +void unmarshal_VkDeviceBufferMemoryRequirements(VulkanStream* vkStream, VkStructureType rootType, + VkDeviceBufferMemoryRequirements* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->alloc((void**)&forUnmarshaling->pCreateInfo, sizeof(const VkBufferCreateInfo)); + unmarshal_VkBufferCreateInfo(vkStream, rootType, + (VkBufferCreateInfo*)(forUnmarshaling->pCreateInfo)); +} + +void marshal_VkDeviceImageMemoryRequirements(VulkanStream* vkStream, VkStructureType rootType, + const VkDeviceImageMemoryRequirements* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + marshal_VkImageCreateInfo(vkStream, rootType, + (const VkImageCreateInfo*)(forMarshaling->pCreateInfo)); + vkStream->write((VkImageAspectFlagBits*)&forMarshaling->planeAspect, + sizeof(VkImageAspectFlagBits)); +} + +void unmarshal_VkDeviceImageMemoryRequirements(VulkanStream* vkStream, VkStructureType rootType, + VkDeviceImageMemoryRequirements* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->alloc((void**)&forUnmarshaling->pCreateInfo, sizeof(const VkImageCreateInfo)); + unmarshal_VkImageCreateInfo(vkStream, rootType, + (VkImageCreateInfo*)(forUnmarshaling->pCreateInfo)); + vkStream->read((VkImageAspectFlagBits*)&forUnmarshaling->planeAspect, + sizeof(VkImageAspectFlagBits)); +} + +#endif #ifdef VK_KHR_surface void marshal_VkSurfaceCapabilitiesKHR(VulkanStream* vkStream, VkStructureType rootType, const VkSurfaceCapabilitiesKHR* forMarshaling) { @@ -11515,9 +14416,44 @@ void unmarshal_VkWin32SurfaceCreateInfoKHR(VulkanStream* vkStream, VkStructureTy #ifdef VK_KHR_sampler_mirror_clamp_to_edge #endif #ifdef VK_KHR_video_queue -void marshal_VkVideoQueueFamilyProperties2KHR( +void marshal_VkQueueFamilyQueryResultStatusPropertiesKHR( + VulkanStream* vkStream, VkStructureType rootType, + const VkQueueFamilyQueryResultStatusPropertiesKHR* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->queryResultStatusSupport, sizeof(VkBool32)); +} + +void unmarshal_VkQueueFamilyQueryResultStatusPropertiesKHR( VulkanStream* vkStream, VkStructureType rootType, - const VkVideoQueueFamilyProperties2KHR* forMarshaling) { + VkQueueFamilyQueryResultStatusPropertiesKHR* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->queryResultStatusSupport, sizeof(VkBool32)); +} + +void marshal_VkQueueFamilyVideoPropertiesKHR(VulkanStream* vkStream, VkStructureType rootType, + const VkQueueFamilyVideoPropertiesKHR* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -11528,8 +14464,8 @@ void marshal_VkVideoQueueFamilyProperties2KHR( sizeof(VkVideoCodecOperationFlagsKHR)); } -void unmarshal_VkVideoQueueFamilyProperties2KHR(VulkanStream* vkStream, VkStructureType rootType, - VkVideoQueueFamilyProperties2KHR* forUnmarshaling) { +void unmarshal_VkQueueFamilyVideoPropertiesKHR(VulkanStream* vkStream, VkStructureType rootType, + VkQueueFamilyVideoPropertiesKHR* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -11552,8 +14488,8 @@ void unmarshal_VkVideoQueueFamilyProperties2KHR(VulkanStream* vkStream, VkStruct sizeof(VkVideoCodecOperationFlagsKHR)); } -void marshal_VkVideoProfileKHR(VulkanStream* vkStream, VkStructureType rootType, - const VkVideoProfileKHR* forMarshaling) { +void marshal_VkVideoProfileInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + const VkVideoProfileInfoKHR* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -11570,8 +14506,8 @@ void marshal_VkVideoProfileKHR(VulkanStream* vkStream, VkStructureType rootType, sizeof(VkVideoComponentBitDepthFlagsKHR)); } -void unmarshal_VkVideoProfileKHR(VulkanStream* vkStream, VkStructureType rootType, - VkVideoProfileKHR* forUnmarshaling) { +void unmarshal_VkVideoProfileInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + VkVideoProfileInfoKHR* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -11600,8 +14536,8 @@ void unmarshal_VkVideoProfileKHR(VulkanStream* vkStream, VkStructureType rootTyp sizeof(VkVideoComponentBitDepthFlagsKHR)); } -void marshal_VkVideoProfilesKHR(VulkanStream* vkStream, VkStructureType rootType, - const VkVideoProfilesKHR* forMarshaling) { +void marshal_VkVideoProfileListInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + const VkVideoProfileListInfoKHR* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -11609,12 +14545,16 @@ void marshal_VkVideoProfilesKHR(VulkanStream* vkStream, VkStructureType rootType } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); vkStream->write((uint32_t*)&forMarshaling->profileCount, sizeof(uint32_t)); - marshal_VkVideoProfileKHR(vkStream, rootType, - (const VkVideoProfileKHR*)(forMarshaling->pProfiles)); + if (forMarshaling) { + for (uint32_t i = 0; i < (uint32_t)forMarshaling->profileCount; ++i) { + marshal_VkVideoProfileInfoKHR( + vkStream, rootType, (const VkVideoProfileInfoKHR*)(forMarshaling->pProfiles + i)); + } + } } -void unmarshal_VkVideoProfilesKHR(VulkanStream* vkStream, VkStructureType rootType, - VkVideoProfilesKHR* forUnmarshaling) { +void unmarshal_VkVideoProfileListInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + VkVideoProfileListInfoKHR* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -11634,9 +14574,14 @@ void unmarshal_VkVideoProfilesKHR(VulkanStream* vkStream, VkStructureType rootTy unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } vkStream->read((uint32_t*)&forUnmarshaling->profileCount, sizeof(uint32_t)); - vkStream->alloc((void**)&forUnmarshaling->pProfiles, sizeof(const VkVideoProfileKHR)); - unmarshal_VkVideoProfileKHR(vkStream, rootType, - (VkVideoProfileKHR*)(forUnmarshaling->pProfiles)); + vkStream->alloc((void**)&forUnmarshaling->pProfiles, + forUnmarshaling->profileCount * sizeof(const VkVideoProfileInfoKHR)); + if (forUnmarshaling) { + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->profileCount; ++i) { + unmarshal_VkVideoProfileInfoKHR( + vkStream, rootType, (VkVideoProfileInfoKHR*)(forUnmarshaling->pProfiles + i)); + } + } } void marshal_VkVideoCapabilitiesKHR(VulkanStream* vkStream, VkStructureType rootType, @@ -11647,18 +14592,19 @@ void marshal_VkVideoCapabilitiesKHR(VulkanStream* vkStream, VkStructureType root rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkVideoCapabilityFlagsKHR*)&forMarshaling->capabilityFlags, + vkStream->write((VkVideoCapabilityFlagsKHR*)&forMarshaling->flags, sizeof(VkVideoCapabilityFlagsKHR)); vkStream->write((VkDeviceSize*)&forMarshaling->minBitstreamBufferOffsetAlignment, sizeof(VkDeviceSize)); vkStream->write((VkDeviceSize*)&forMarshaling->minBitstreamBufferSizeAlignment, sizeof(VkDeviceSize)); - marshal_VkExtent2D(vkStream, rootType, - (VkExtent2D*)(&forMarshaling->videoPictureExtentGranularity)); - marshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->minExtent)); - marshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->maxExtent)); - vkStream->write((uint32_t*)&forMarshaling->maxReferencePicturesSlotsCount, sizeof(uint32_t)); - vkStream->write((uint32_t*)&forMarshaling->maxReferencePicturesActiveCount, sizeof(uint32_t)); + marshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->pictureAccessGranularity)); + marshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->minCodedExtent)); + marshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->maxCodedExtent)); + vkStream->write((uint32_t*)&forMarshaling->maxDpbSlots, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxActiveReferencePictures, sizeof(uint32_t)); + marshal_VkExtensionProperties(vkStream, rootType, + (VkExtensionProperties*)(&forMarshaling->stdHeaderVersion)); } void unmarshal_VkVideoCapabilitiesKHR(VulkanStream* vkStream, VkStructureType rootType, @@ -11681,18 +14627,20 @@ void unmarshal_VkVideoCapabilitiesKHR(VulkanStream* vkStream, VkStructureType ro *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((VkVideoCapabilityFlagsKHR*)&forUnmarshaling->capabilityFlags, + vkStream->read((VkVideoCapabilityFlagsKHR*)&forUnmarshaling->flags, sizeof(VkVideoCapabilityFlagsKHR)); vkStream->read((VkDeviceSize*)&forUnmarshaling->minBitstreamBufferOffsetAlignment, sizeof(VkDeviceSize)); vkStream->read((VkDeviceSize*)&forUnmarshaling->minBitstreamBufferSizeAlignment, sizeof(VkDeviceSize)); unmarshal_VkExtent2D(vkStream, rootType, - (VkExtent2D*)(&forUnmarshaling->videoPictureExtentGranularity)); - unmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forUnmarshaling->minExtent)); - unmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forUnmarshaling->maxExtent)); - vkStream->read((uint32_t*)&forUnmarshaling->maxReferencePicturesSlotsCount, sizeof(uint32_t)); - vkStream->read((uint32_t*)&forUnmarshaling->maxReferencePicturesActiveCount, sizeof(uint32_t)); + (VkExtent2D*)(&forUnmarshaling->pictureAccessGranularity)); + unmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forUnmarshaling->minCodedExtent)); + unmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forUnmarshaling->maxCodedExtent)); + vkStream->read((uint32_t*)&forUnmarshaling->maxDpbSlots, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxActiveReferencePictures, sizeof(uint32_t)); + unmarshal_VkExtensionProperties(vkStream, rootType, + (VkExtensionProperties*)(&forUnmarshaling->stdHeaderVersion)); } void marshal_VkPhysicalDeviceVideoFormatInfoKHR( @@ -11705,8 +14653,6 @@ void marshal_VkPhysicalDeviceVideoFormatInfoKHR( } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); vkStream->write((VkImageUsageFlags*)&forMarshaling->imageUsage, sizeof(VkImageUsageFlags)); - marshal_VkVideoProfilesKHR(vkStream, rootType, - (const VkVideoProfilesKHR*)(forMarshaling->pVideoProfiles)); } void unmarshal_VkPhysicalDeviceVideoFormatInfoKHR( @@ -11731,9 +14677,6 @@ void unmarshal_VkPhysicalDeviceVideoFormatInfoKHR( unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } vkStream->read((VkImageUsageFlags*)&forUnmarshaling->imageUsage, sizeof(VkImageUsageFlags)); - vkStream->alloc((void**)&forUnmarshaling->pVideoProfiles, sizeof(const VkVideoProfilesKHR)); - unmarshal_VkVideoProfilesKHR(vkStream, rootType, - (VkVideoProfilesKHR*)(forUnmarshaling->pVideoProfiles)); } void marshal_VkVideoFormatPropertiesKHR(VulkanStream* vkStream, VkStructureType rootType, @@ -11745,6 +14688,13 @@ void marshal_VkVideoFormatPropertiesKHR(VulkanStream* vkStream, VkStructureType } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat)); + marshal_VkComponentMapping(vkStream, rootType, + (VkComponentMapping*)(&forMarshaling->componentMapping)); + vkStream->write((VkImageCreateFlags*)&forMarshaling->imageCreateFlags, + sizeof(VkImageCreateFlags)); + vkStream->write((VkImageType*)&forMarshaling->imageType, sizeof(VkImageType)); + vkStream->write((VkImageTiling*)&forMarshaling->imageTiling, sizeof(VkImageTiling)); + vkStream->write((VkImageUsageFlags*)&forMarshaling->imageUsageFlags, sizeof(VkImageUsageFlags)); } void unmarshal_VkVideoFormatPropertiesKHR(VulkanStream* vkStream, VkStructureType rootType, @@ -11768,10 +14718,18 @@ void unmarshal_VkVideoFormatPropertiesKHR(VulkanStream* vkStream, VkStructureTyp unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat)); + unmarshal_VkComponentMapping(vkStream, rootType, + (VkComponentMapping*)(&forUnmarshaling->componentMapping)); + vkStream->read((VkImageCreateFlags*)&forUnmarshaling->imageCreateFlags, + sizeof(VkImageCreateFlags)); + vkStream->read((VkImageType*)&forUnmarshaling->imageType, sizeof(VkImageType)); + vkStream->read((VkImageTiling*)&forUnmarshaling->imageTiling, sizeof(VkImageTiling)); + vkStream->read((VkImageUsageFlags*)&forUnmarshaling->imageUsageFlags, + sizeof(VkImageUsageFlags)); } -void marshal_VkVideoPictureResourceKHR(VulkanStream* vkStream, VkStructureType rootType, - const VkVideoPictureResourceKHR* forMarshaling) { +void marshal_VkVideoPictureResourceInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + const VkVideoPictureResourceInfoKHR* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -11787,8 +14745,8 @@ void marshal_VkVideoPictureResourceKHR(VulkanStream* vkStream, VkStructureType r vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); } -void unmarshal_VkVideoPictureResourceKHR(VulkanStream* vkStream, VkStructureType rootType, - VkVideoPictureResourceKHR* forUnmarshaling) { +void unmarshal_VkVideoPictureResourceInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + VkVideoPictureResourceInfoKHR* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -11816,21 +14774,27 @@ void unmarshal_VkVideoPictureResourceKHR(VulkanStream* vkStream, VkStructureType &cgen_var_0, (VkImageView*)&forUnmarshaling->imageViewBinding, 1); } -void marshal_VkVideoReferenceSlotKHR(VulkanStream* vkStream, VkStructureType rootType, - const VkVideoReferenceSlotKHR* forMarshaling) { +void marshal_VkVideoReferenceSlotInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + const VkVideoReferenceSlotInfoKHR* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((int8_t*)&forMarshaling->slotIndex, sizeof(int8_t)); - marshal_VkVideoPictureResourceKHR( - vkStream, rootType, (const VkVideoPictureResourceKHR*)(forMarshaling->pPictureResource)); + vkStream->write((int32_t*)&forMarshaling->slotIndex, sizeof(int32_t)); + // WARNING PTR CHECK + uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pPictureResource; + vkStream->putBe64(cgen_var_0); + if (forMarshaling->pPictureResource) { + marshal_VkVideoPictureResourceInfoKHR( + vkStream, rootType, + (const VkVideoPictureResourceInfoKHR*)(forMarshaling->pPictureResource)); + } } -void unmarshal_VkVideoReferenceSlotKHR(VulkanStream* vkStream, VkStructureType rootType, - VkVideoReferenceSlotKHR* forUnmarshaling) { +void unmarshal_VkVideoReferenceSlotInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + VkVideoReferenceSlotInfoKHR* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -11849,15 +14813,22 @@ void unmarshal_VkVideoReferenceSlotKHR(VulkanStream* vkStream, VkStructureType r *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((int8_t*)&forUnmarshaling->slotIndex, sizeof(int8_t)); - vkStream->alloc((void**)&forUnmarshaling->pPictureResource, - sizeof(const VkVideoPictureResourceKHR)); - unmarshal_VkVideoPictureResourceKHR( - vkStream, rootType, (VkVideoPictureResourceKHR*)(forUnmarshaling->pPictureResource)); + vkStream->read((int32_t*)&forUnmarshaling->slotIndex, sizeof(int32_t)); + // WARNING PTR CHECK + forUnmarshaling->pPictureResource = + (const VkVideoPictureResourceInfoKHR*)(uintptr_t)vkStream->getBe64(); + if (forUnmarshaling->pPictureResource) { + vkStream->alloc((void**)&forUnmarshaling->pPictureResource, + sizeof(const VkVideoPictureResourceInfoKHR)); + unmarshal_VkVideoPictureResourceInfoKHR( + vkStream, rootType, + (VkVideoPictureResourceInfoKHR*)(forUnmarshaling->pPictureResource)); + } } -void marshal_VkVideoGetMemoryPropertiesKHR(VulkanStream* vkStream, VkStructureType rootType, - const VkVideoGetMemoryPropertiesKHR* forMarshaling) { +void marshal_VkVideoSessionMemoryRequirementsKHR( + VulkanStream* vkStream, VkStructureType rootType, + const VkVideoSessionMemoryRequirementsKHR* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -11865,12 +14836,13 @@ void marshal_VkVideoGetMemoryPropertiesKHR(VulkanStream* vkStream, VkStructureTy } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); vkStream->write((uint32_t*)&forMarshaling->memoryBindIndex, sizeof(uint32_t)); - marshal_VkMemoryRequirements2(vkStream, rootType, - (VkMemoryRequirements2*)(forMarshaling->pMemoryRequirements)); + marshal_VkMemoryRequirements(vkStream, rootType, + (VkMemoryRequirements*)(&forMarshaling->memoryRequirements)); } -void unmarshal_VkVideoGetMemoryPropertiesKHR(VulkanStream* vkStream, VkStructureType rootType, - VkVideoGetMemoryPropertiesKHR* forUnmarshaling) { +void unmarshal_VkVideoSessionMemoryRequirementsKHR( + VulkanStream* vkStream, VkStructureType rootType, + VkVideoSessionMemoryRequirementsKHR* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -11890,13 +14862,12 @@ void unmarshal_VkVideoGetMemoryPropertiesKHR(VulkanStream* vkStream, VkStructure unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } vkStream->read((uint32_t*)&forUnmarshaling->memoryBindIndex, sizeof(uint32_t)); - vkStream->alloc((void**)&forUnmarshaling->pMemoryRequirements, sizeof(VkMemoryRequirements2)); - unmarshal_VkMemoryRequirements2(vkStream, rootType, - (VkMemoryRequirements2*)(forUnmarshaling->pMemoryRequirements)); + unmarshal_VkMemoryRequirements(vkStream, rootType, + (VkMemoryRequirements*)(&forUnmarshaling->memoryRequirements)); } -void marshal_VkVideoBindMemoryKHR(VulkanStream* vkStream, VkStructureType rootType, - const VkVideoBindMemoryKHR* forMarshaling) { +void marshal_VkBindVideoSessionMemoryInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + const VkBindVideoSessionMemoryInfoKHR* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -11912,8 +14883,8 @@ void marshal_VkVideoBindMemoryKHR(VulkanStream* vkStream, VkStructureType rootTy vkStream->write((VkDeviceSize*)&forMarshaling->memorySize, sizeof(VkDeviceSize)); } -void unmarshal_VkVideoBindMemoryKHR(VulkanStream* vkStream, VkStructureType rootType, - VkVideoBindMemoryKHR* forUnmarshaling) { +void unmarshal_VkBindVideoSessionMemoryInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + VkBindVideoSessionMemoryInfoKHR* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -11952,13 +14923,15 @@ void marshal_VkVideoSessionCreateInfoKHR(VulkanStream* vkStream, VkStructureType vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndex, sizeof(uint32_t)); vkStream->write((VkVideoSessionCreateFlagsKHR*)&forMarshaling->flags, sizeof(VkVideoSessionCreateFlagsKHR)); - marshal_VkVideoProfileKHR(vkStream, rootType, - (const VkVideoProfileKHR*)(forMarshaling->pVideoProfile)); + marshal_VkVideoProfileInfoKHR(vkStream, rootType, + (const VkVideoProfileInfoKHR*)(forMarshaling->pVideoProfile)); vkStream->write((VkFormat*)&forMarshaling->pictureFormat, sizeof(VkFormat)); marshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->maxCodedExtent)); - vkStream->write((VkFormat*)&forMarshaling->referencePicturesFormat, sizeof(VkFormat)); - vkStream->write((uint32_t*)&forMarshaling->maxReferencePicturesSlotsCount, sizeof(uint32_t)); - vkStream->write((uint32_t*)&forMarshaling->maxReferencePicturesActiveCount, sizeof(uint32_t)); + vkStream->write((VkFormat*)&forMarshaling->referencePictureFormat, sizeof(VkFormat)); + vkStream->write((uint32_t*)&forMarshaling->maxDpbSlots, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxActiveReferencePictures, sizeof(uint32_t)); + marshal_VkExtensionProperties(vkStream, rootType, + (const VkExtensionProperties*)(forMarshaling->pStdHeaderVersion)); } void unmarshal_VkVideoSessionCreateInfoKHR(VulkanStream* vkStream, VkStructureType rootType, @@ -11984,14 +14957,18 @@ void unmarshal_VkVideoSessionCreateInfoKHR(VulkanStream* vkStream, VkStructureTy vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndex, sizeof(uint32_t)); vkStream->read((VkVideoSessionCreateFlagsKHR*)&forUnmarshaling->flags, sizeof(VkVideoSessionCreateFlagsKHR)); - vkStream->alloc((void**)&forUnmarshaling->pVideoProfile, sizeof(const VkVideoProfileKHR)); - unmarshal_VkVideoProfileKHR(vkStream, rootType, - (VkVideoProfileKHR*)(forUnmarshaling->pVideoProfile)); + vkStream->alloc((void**)&forUnmarshaling->pVideoProfile, sizeof(const VkVideoProfileInfoKHR)); + unmarshal_VkVideoProfileInfoKHR(vkStream, rootType, + (VkVideoProfileInfoKHR*)(forUnmarshaling->pVideoProfile)); vkStream->read((VkFormat*)&forUnmarshaling->pictureFormat, sizeof(VkFormat)); unmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forUnmarshaling->maxCodedExtent)); - vkStream->read((VkFormat*)&forUnmarshaling->referencePicturesFormat, sizeof(VkFormat)); - vkStream->read((uint32_t*)&forUnmarshaling->maxReferencePicturesSlotsCount, sizeof(uint32_t)); - vkStream->read((uint32_t*)&forUnmarshaling->maxReferencePicturesActiveCount, sizeof(uint32_t)); + vkStream->read((VkFormat*)&forUnmarshaling->referencePictureFormat, sizeof(VkFormat)); + vkStream->read((uint32_t*)&forUnmarshaling->maxDpbSlots, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxActiveReferencePictures, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pStdHeaderVersion, + sizeof(const VkExtensionProperties)); + unmarshal_VkExtensionProperties(vkStream, rootType, + (VkExtensionProperties*)(forUnmarshaling->pStdHeaderVersion)); } void marshal_VkVideoSessionParametersCreateInfoKHR( @@ -12003,6 +14980,8 @@ void marshal_VkVideoSessionParametersCreateInfoKHR( rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkVideoSessionParametersCreateFlagsKHR*)&forMarshaling->flags, + sizeof(VkVideoSessionParametersCreateFlagsKHR)); uint64_t cgen_var_0 = (uint64_t)forMarshaling->videoSessionParametersTemplate; vkStream->putBe64(cgen_var_0); uint64_t cgen_var_1 = (uint64_t)forMarshaling->videoSession; @@ -12030,6 +15009,8 @@ void unmarshal_VkVideoSessionParametersCreateInfoKHR( *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } + vkStream->read((VkVideoSessionParametersCreateFlagsKHR*)&forUnmarshaling->flags, + sizeof(VkVideoSessionParametersCreateFlagsKHR)); forUnmarshaling->videoSessionParametersTemplate = (VkVideoSessionParametersKHR)vkStream->getBe64(); forUnmarshaling->videoSession = (VkVideoSessionKHR)vkStream->getBe64(); @@ -12081,8 +15062,6 @@ void marshal_VkVideoBeginCodingInfoKHR(VulkanStream* vkStream, VkStructureType r marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); vkStream->write((VkVideoBeginCodingFlagsKHR*)&forMarshaling->flags, sizeof(VkVideoBeginCodingFlagsKHR)); - vkStream->write((VkVideoCodingQualityPresetFlagsKHR*)&forMarshaling->codecQualityPreset, - sizeof(VkVideoCodingQualityPresetFlagsKHR)); uint64_t cgen_var_0 = (uint64_t)forMarshaling->videoSession; vkStream->putBe64(cgen_var_0); uint64_t cgen_var_1 = (uint64_t)forMarshaling->videoSessionParameters; @@ -12090,9 +15069,9 @@ void marshal_VkVideoBeginCodingInfoKHR(VulkanStream* vkStream, VkStructureType r vkStream->write((uint32_t*)&forMarshaling->referenceSlotCount, sizeof(uint32_t)); if (forMarshaling) { for (uint32_t i = 0; i < (uint32_t)forMarshaling->referenceSlotCount; ++i) { - marshal_VkVideoReferenceSlotKHR( + marshal_VkVideoReferenceSlotInfoKHR( vkStream, rootType, - (const VkVideoReferenceSlotKHR*)(forMarshaling->pReferenceSlots + i)); + (const VkVideoReferenceSlotInfoKHR*)(forMarshaling->pReferenceSlots + i)); } } } @@ -12119,18 +15098,17 @@ void unmarshal_VkVideoBeginCodingInfoKHR(VulkanStream* vkStream, VkStructureType } vkStream->read((VkVideoBeginCodingFlagsKHR*)&forUnmarshaling->flags, sizeof(VkVideoBeginCodingFlagsKHR)); - vkStream->read((VkVideoCodingQualityPresetFlagsKHR*)&forUnmarshaling->codecQualityPreset, - sizeof(VkVideoCodingQualityPresetFlagsKHR)); forUnmarshaling->videoSession = (VkVideoSessionKHR)vkStream->getBe64(); forUnmarshaling->videoSessionParameters = (VkVideoSessionParametersKHR)vkStream->getBe64(); vkStream->read((uint32_t*)&forUnmarshaling->referenceSlotCount, sizeof(uint32_t)); - vkStream->alloc((void**)&forUnmarshaling->pReferenceSlots, - forUnmarshaling->referenceSlotCount * sizeof(const VkVideoReferenceSlotKHR)); + vkStream->alloc( + (void**)&forUnmarshaling->pReferenceSlots, + forUnmarshaling->referenceSlotCount * sizeof(const VkVideoReferenceSlotInfoKHR)); if (forUnmarshaling) { for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->referenceSlotCount; ++i) { - unmarshal_VkVideoReferenceSlotKHR( + unmarshal_VkVideoReferenceSlotInfoKHR( vkStream, rootType, - (VkVideoReferenceSlotKHR*)(forUnmarshaling->pReferenceSlots + i)); + (VkVideoReferenceSlotInfoKHR*)(forUnmarshaling->pReferenceSlots + i)); } } } @@ -12209,6 +15187,78 @@ void unmarshal_VkVideoCodingControlInfoKHR(VulkanStream* vkStream, VkStructureTy #endif #ifdef VK_KHR_video_decode_queue +void marshal_VkVideoDecodeCapabilitiesKHR(VulkanStream* vkStream, VkStructureType rootType, + const VkVideoDecodeCapabilitiesKHR* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkVideoDecodeCapabilityFlagsKHR*)&forMarshaling->flags, + sizeof(VkVideoDecodeCapabilityFlagsKHR)); +} + +void unmarshal_VkVideoDecodeCapabilitiesKHR(VulkanStream* vkStream, VkStructureType rootType, + VkVideoDecodeCapabilitiesKHR* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkVideoDecodeCapabilityFlagsKHR*)&forUnmarshaling->flags, + sizeof(VkVideoDecodeCapabilityFlagsKHR)); +} + +void marshal_VkVideoDecodeUsageInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + const VkVideoDecodeUsageInfoKHR* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkVideoDecodeUsageFlagsKHR*)&forMarshaling->videoUsageHints, + sizeof(VkVideoDecodeUsageFlagsKHR)); +} + +void unmarshal_VkVideoDecodeUsageInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + VkVideoDecodeUsageInfoKHR* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkVideoDecodeUsageFlagsKHR*)&forUnmarshaling->videoUsageHints, + sizeof(VkVideoDecodeUsageFlagsKHR)); +} + void marshal_VkVideoDecodeInfoKHR(VulkanStream* vkStream, VkStructureType rootType, const VkVideoDecodeInfoKHR* forMarshaling) { (void)rootType; @@ -12218,23 +15268,22 @@ void marshal_VkVideoDecodeInfoKHR(VulkanStream* vkStream, VkStructureType rootTy } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); vkStream->write((VkVideoDecodeFlagsKHR*)&forMarshaling->flags, sizeof(VkVideoDecodeFlagsKHR)); - marshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forMarshaling->codedOffset)); - marshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->codedExtent)); uint64_t cgen_var_0; vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->srcBuffer, &cgen_var_0, 1); vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); vkStream->write((VkDeviceSize*)&forMarshaling->srcBufferOffset, sizeof(VkDeviceSize)); vkStream->write((VkDeviceSize*)&forMarshaling->srcBufferRange, sizeof(VkDeviceSize)); - marshal_VkVideoPictureResourceKHR( - vkStream, rootType, (VkVideoPictureResourceKHR*)(&forMarshaling->dstPictureResource)); - marshal_VkVideoReferenceSlotKHR( - vkStream, rootType, (const VkVideoReferenceSlotKHR*)(forMarshaling->pSetupReferenceSlot)); + marshal_VkVideoPictureResourceInfoKHR( + vkStream, rootType, (VkVideoPictureResourceInfoKHR*)(&forMarshaling->dstPictureResource)); + marshal_VkVideoReferenceSlotInfoKHR( + vkStream, rootType, + (const VkVideoReferenceSlotInfoKHR*)(forMarshaling->pSetupReferenceSlot)); vkStream->write((uint32_t*)&forMarshaling->referenceSlotCount, sizeof(uint32_t)); if (forMarshaling) { for (uint32_t i = 0; i < (uint32_t)forMarshaling->referenceSlotCount; ++i) { - marshal_VkVideoReferenceSlotKHR( + marshal_VkVideoReferenceSlotInfoKHR( vkStream, rootType, - (const VkVideoReferenceSlotKHR*)(forMarshaling->pReferenceSlots + i)); + (const VkVideoReferenceSlotInfoKHR*)(forMarshaling->pReferenceSlots + i)); } } } @@ -12260,61 +15309,49 @@ void unmarshal_VkVideoDecodeInfoKHR(VulkanStream* vkStream, VkStructureType root unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } vkStream->read((VkVideoDecodeFlagsKHR*)&forUnmarshaling->flags, sizeof(VkVideoDecodeFlagsKHR)); - unmarshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forUnmarshaling->codedOffset)); - unmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forUnmarshaling->codedExtent)); uint64_t cgen_var_0; vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0, (VkBuffer*)&forUnmarshaling->srcBuffer, 1); vkStream->read((VkDeviceSize*)&forUnmarshaling->srcBufferOffset, sizeof(VkDeviceSize)); vkStream->read((VkDeviceSize*)&forUnmarshaling->srcBufferRange, sizeof(VkDeviceSize)); - unmarshal_VkVideoPictureResourceKHR( - vkStream, rootType, (VkVideoPictureResourceKHR*)(&forUnmarshaling->dstPictureResource)); + unmarshal_VkVideoPictureResourceInfoKHR( + vkStream, rootType, (VkVideoPictureResourceInfoKHR*)(&forUnmarshaling->dstPictureResource)); vkStream->alloc((void**)&forUnmarshaling->pSetupReferenceSlot, - sizeof(const VkVideoReferenceSlotKHR)); - unmarshal_VkVideoReferenceSlotKHR( - vkStream, rootType, (VkVideoReferenceSlotKHR*)(forUnmarshaling->pSetupReferenceSlot)); + sizeof(const VkVideoReferenceSlotInfoKHR)); + unmarshal_VkVideoReferenceSlotInfoKHR( + vkStream, rootType, (VkVideoReferenceSlotInfoKHR*)(forUnmarshaling->pSetupReferenceSlot)); vkStream->read((uint32_t*)&forUnmarshaling->referenceSlotCount, sizeof(uint32_t)); - vkStream->alloc((void**)&forUnmarshaling->pReferenceSlots, - forUnmarshaling->referenceSlotCount * sizeof(const VkVideoReferenceSlotKHR)); + vkStream->alloc( + (void**)&forUnmarshaling->pReferenceSlots, + forUnmarshaling->referenceSlotCount * sizeof(const VkVideoReferenceSlotInfoKHR)); if (forUnmarshaling) { for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->referenceSlotCount; ++i) { - unmarshal_VkVideoReferenceSlotKHR( + unmarshal_VkVideoReferenceSlotInfoKHR( vkStream, rootType, - (VkVideoReferenceSlotKHR*)(forUnmarshaling->pReferenceSlots + i)); + (VkVideoReferenceSlotInfoKHR*)(forUnmarshaling->pReferenceSlots + i)); } } } #endif -#ifdef VK_KHR_dynamic_rendering -void marshal_VkRenderingAttachmentInfoKHR(VulkanStream* vkStream, VkStructureType rootType, - const VkRenderingAttachmentInfoKHR* forMarshaling) { +#ifdef VK_KHR_video_decode_h264 +void marshal_VkVideoDecodeH264ProfileInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + const VkVideoDecodeH264ProfileInfoKHR* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - uint64_t cgen_var_0; - vkStream->handleMapping()->mapHandles_VkImageView_u64(&forMarshaling->imageView, &cgen_var_0, - 1); - vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); - vkStream->write((VkImageLayout*)&forMarshaling->imageLayout, sizeof(VkImageLayout)); - vkStream->write((VkResolveModeFlagBits*)&forMarshaling->resolveMode, - sizeof(VkResolveModeFlagBits)); - uint64_t cgen_var_1; - vkStream->handleMapping()->mapHandles_VkImageView_u64(&forMarshaling->resolveImageView, - &cgen_var_1, 1); - vkStream->write((uint64_t*)&cgen_var_1, 1 * 8); - vkStream->write((VkImageLayout*)&forMarshaling->resolveImageLayout, sizeof(VkImageLayout)); - vkStream->write((VkAttachmentLoadOp*)&forMarshaling->loadOp, sizeof(VkAttachmentLoadOp)); - vkStream->write((VkAttachmentStoreOp*)&forMarshaling->storeOp, sizeof(VkAttachmentStoreOp)); - marshal_VkClearValue(vkStream, rootType, (VkClearValue*)(&forMarshaling->clearValue)); + vkStream->write((StdVideoH264ProfileIdc*)&forMarshaling->stdProfileIdc, + sizeof(StdVideoH264ProfileIdc)); + vkStream->write((VkVideoDecodeH264PictureLayoutFlagBitsKHR*)&forMarshaling->pictureLayout, + sizeof(VkVideoDecodeH264PictureLayoutFlagBitsKHR)); } -void unmarshal_VkRenderingAttachmentInfoKHR(VulkanStream* vkStream, VkStructureType rootType, - VkRenderingAttachmentInfoKHR* forUnmarshaling) { +void unmarshal_VkVideoDecodeH264ProfileInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + VkVideoDecodeH264ProfileInfoKHR* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -12333,63 +15370,28 @@ void unmarshal_VkRenderingAttachmentInfoKHR(VulkanStream* vkStream, VkStructureT *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - uint64_t cgen_var_0; - vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); - vkStream->handleMapping()->mapHandles_u64_VkImageView( - &cgen_var_0, (VkImageView*)&forUnmarshaling->imageView, 1); - vkStream->read((VkImageLayout*)&forUnmarshaling->imageLayout, sizeof(VkImageLayout)); - vkStream->read((VkResolveModeFlagBits*)&forUnmarshaling->resolveMode, - sizeof(VkResolveModeFlagBits)); - uint64_t cgen_var_1; - vkStream->read((uint64_t*)&cgen_var_1, 1 * 8); - vkStream->handleMapping()->mapHandles_u64_VkImageView( - &cgen_var_1, (VkImageView*)&forUnmarshaling->resolveImageView, 1); - vkStream->read((VkImageLayout*)&forUnmarshaling->resolveImageLayout, sizeof(VkImageLayout)); - vkStream->read((VkAttachmentLoadOp*)&forUnmarshaling->loadOp, sizeof(VkAttachmentLoadOp)); - vkStream->read((VkAttachmentStoreOp*)&forUnmarshaling->storeOp, sizeof(VkAttachmentStoreOp)); - unmarshal_VkClearValue(vkStream, rootType, (VkClearValue*)(&forUnmarshaling->clearValue)); + vkStream->read((StdVideoH264ProfileIdc*)&forUnmarshaling->stdProfileIdc, + sizeof(StdVideoH264ProfileIdc)); + vkStream->read((VkVideoDecodeH264PictureLayoutFlagBitsKHR*)&forUnmarshaling->pictureLayout, + sizeof(VkVideoDecodeH264PictureLayoutFlagBitsKHR)); } -void marshal_VkRenderingInfoKHR(VulkanStream* vkStream, VkStructureType rootType, - const VkRenderingInfoKHR* forMarshaling) { +void marshal_VkVideoDecodeH264CapabilitiesKHR( + VulkanStream* vkStream, VkStructureType rootType, + const VkVideoDecodeH264CapabilitiesKHR* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkRenderingFlagsKHR*)&forMarshaling->flags, sizeof(VkRenderingFlagsKHR)); - marshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forMarshaling->renderArea)); - vkStream->write((uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t)); - vkStream->write((uint32_t*)&forMarshaling->viewMask, sizeof(uint32_t)); - vkStream->write((uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t)); - if (forMarshaling) { - for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) { - marshal_VkRenderingAttachmentInfoKHR( - vkStream, rootType, - (const VkRenderingAttachmentInfoKHR*)(forMarshaling->pColorAttachments + i)); - } - } - // WARNING PTR CHECK - uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pDepthAttachment; - vkStream->putBe64(cgen_var_0); - if (forMarshaling->pDepthAttachment) { - marshal_VkRenderingAttachmentInfoKHR( - vkStream, rootType, - (const VkRenderingAttachmentInfoKHR*)(forMarshaling->pDepthAttachment)); - } - // WARNING PTR CHECK - uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pStencilAttachment; - vkStream->putBe64(cgen_var_1); - if (forMarshaling->pStencilAttachment) { - marshal_VkRenderingAttachmentInfoKHR( - vkStream, rootType, - (const VkRenderingAttachmentInfoKHR*)(forMarshaling->pStencilAttachment)); - } + vkStream->write((StdVideoH264LevelIdc*)&forMarshaling->maxLevelIdc, + sizeof(StdVideoH264LevelIdc)); + marshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forMarshaling->fieldOffsetGranularity)); } -void unmarshal_VkRenderingInfoKHR(VulkanStream* vkStream, VkStructureType rootType, - VkRenderingInfoKHR* forUnmarshaling) { +void unmarshal_VkVideoDecodeH264CapabilitiesKHR(VulkanStream* vkStream, VkStructureType rootType, + VkVideoDecodeH264CapabilitiesKHR* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -12408,61 +15410,87 @@ void unmarshal_VkRenderingInfoKHR(VulkanStream* vkStream, VkStructureType rootTy *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((VkRenderingFlagsKHR*)&forUnmarshaling->flags, sizeof(VkRenderingFlagsKHR)); - unmarshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forUnmarshaling->renderArea)); - vkStream->read((uint32_t*)&forUnmarshaling->layerCount, sizeof(uint32_t)); - vkStream->read((uint32_t*)&forUnmarshaling->viewMask, sizeof(uint32_t)); - vkStream->read((uint32_t*)&forUnmarshaling->colorAttachmentCount, sizeof(uint32_t)); - vkStream->alloc( - (void**)&forUnmarshaling->pColorAttachments, - forUnmarshaling->colorAttachmentCount * sizeof(const VkRenderingAttachmentInfoKHR)); - if (forUnmarshaling) { - for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorAttachmentCount; ++i) { - unmarshal_VkRenderingAttachmentInfoKHR( - vkStream, rootType, - (VkRenderingAttachmentInfoKHR*)(forUnmarshaling->pColorAttachments + i)); - } + vkStream->read((StdVideoH264LevelIdc*)&forUnmarshaling->maxLevelIdc, + sizeof(StdVideoH264LevelIdc)); + unmarshal_VkOffset2D(vkStream, rootType, + (VkOffset2D*)(&forUnmarshaling->fieldOffsetGranularity)); +} + +void marshal_VkVideoDecodeH264SessionParametersAddInfoKHR( + VulkanStream* vkStream, VkStructureType rootType, + const VkVideoDecodeH264SessionParametersAddInfoKHR* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; } - // WARNING PTR CHECK - forUnmarshaling->pDepthAttachment = - (const VkRenderingAttachmentInfoKHR*)(uintptr_t)vkStream->getBe64(); - if (forUnmarshaling->pDepthAttachment) { - vkStream->alloc((void**)&forUnmarshaling->pDepthAttachment, - sizeof(const VkRenderingAttachmentInfoKHR)); - unmarshal_VkRenderingAttachmentInfoKHR( - vkStream, rootType, (VkRenderingAttachmentInfoKHR*)(forUnmarshaling->pDepthAttachment)); + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)&forMarshaling->stdSPSCount, sizeof(uint32_t)); + vkStream->write((const StdVideoH264SequenceParameterSet*)forMarshaling->pStdSPSs, + forMarshaling->stdSPSCount * sizeof(const StdVideoH264SequenceParameterSet)); + vkStream->write((uint32_t*)&forMarshaling->stdPPSCount, sizeof(uint32_t)); + vkStream->write((const StdVideoH264PictureParameterSet*)forMarshaling->pStdPPSs, + forMarshaling->stdPPSCount * sizeof(const StdVideoH264PictureParameterSet)); +} + +void unmarshal_VkVideoDecodeH264SessionParametersAddInfoKHR( + VulkanStream* vkStream, VkStructureType rootType, + VkVideoDecodeH264SessionParametersAddInfoKHR* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; } - // WARNING PTR CHECK - forUnmarshaling->pStencilAttachment = - (const VkRenderingAttachmentInfoKHR*)(uintptr_t)vkStream->getBe64(); - if (forUnmarshaling->pStencilAttachment) { - vkStream->alloc((void**)&forUnmarshaling->pStencilAttachment, - sizeof(const VkRenderingAttachmentInfoKHR)); - unmarshal_VkRenderingAttachmentInfoKHR( - vkStream, rootType, - (VkRenderingAttachmentInfoKHR*)(forUnmarshaling->pStencilAttachment)); + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } + vkStream->read((uint32_t*)&forUnmarshaling->stdSPSCount, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pStdSPSs, + forUnmarshaling->stdSPSCount * sizeof(const StdVideoH264SequenceParameterSet)); + vkStream->read((StdVideoH264SequenceParameterSet*)forUnmarshaling->pStdSPSs, + forUnmarshaling->stdSPSCount * sizeof(const StdVideoH264SequenceParameterSet)); + vkStream->read((uint32_t*)&forUnmarshaling->stdPPSCount, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pStdPPSs, + forUnmarshaling->stdPPSCount * sizeof(const StdVideoH264PictureParameterSet)); + vkStream->read((StdVideoH264PictureParameterSet*)forUnmarshaling->pStdPPSs, + forUnmarshaling->stdPPSCount * sizeof(const StdVideoH264PictureParameterSet)); } -void marshal_VkPipelineRenderingCreateInfoKHR( +void marshal_VkVideoDecodeH264SessionParametersCreateInfoKHR( VulkanStream* vkStream, VkStructureType rootType, - const VkPipelineRenderingCreateInfoKHR* forMarshaling) { + const VkVideoDecodeH264SessionParametersCreateInfoKHR* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((uint32_t*)&forMarshaling->viewMask, sizeof(uint32_t)); - vkStream->write((uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t)); - vkStream->write((const VkFormat*)forMarshaling->pColorAttachmentFormats, - forMarshaling->colorAttachmentCount * sizeof(const VkFormat)); - vkStream->write((VkFormat*)&forMarshaling->depthAttachmentFormat, sizeof(VkFormat)); - vkStream->write((VkFormat*)&forMarshaling->stencilAttachmentFormat, sizeof(VkFormat)); + vkStream->write((uint32_t*)&forMarshaling->maxStdSPSCount, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxStdPPSCount, sizeof(uint32_t)); + // WARNING PTR CHECK + uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pParametersAddInfo; + vkStream->putBe64(cgen_var_0); + if (forMarshaling->pParametersAddInfo) { + marshal_VkVideoDecodeH264SessionParametersAddInfoKHR( + vkStream, rootType, + (const VkVideoDecodeH264SessionParametersAddInfoKHR*)(forMarshaling + ->pParametersAddInfo)); + } } -void unmarshal_VkPipelineRenderingCreateInfoKHR(VulkanStream* vkStream, VkStructureType rootType, - VkPipelineRenderingCreateInfoKHR* forUnmarshaling) { +void unmarshal_VkVideoDecodeH264SessionParametersCreateInfoKHR( + VulkanStream* vkStream, VkStructureType rootType, + VkVideoDecodeH264SessionParametersCreateInfoKHR* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -12481,31 +15509,37 @@ void unmarshal_VkPipelineRenderingCreateInfoKHR(VulkanStream* vkStream, VkStruct *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((uint32_t*)&forUnmarshaling->viewMask, sizeof(uint32_t)); - vkStream->read((uint32_t*)&forUnmarshaling->colorAttachmentCount, sizeof(uint32_t)); - vkStream->alloc((void**)&forUnmarshaling->pColorAttachmentFormats, - forUnmarshaling->colorAttachmentCount * sizeof(const VkFormat)); - vkStream->read((VkFormat*)forUnmarshaling->pColorAttachmentFormats, - forUnmarshaling->colorAttachmentCount * sizeof(const VkFormat)); - vkStream->read((VkFormat*)&forUnmarshaling->depthAttachmentFormat, sizeof(VkFormat)); - vkStream->read((VkFormat*)&forUnmarshaling->stencilAttachmentFormat, sizeof(VkFormat)); + vkStream->read((uint32_t*)&forUnmarshaling->maxStdSPSCount, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxStdPPSCount, sizeof(uint32_t)); + // WARNING PTR CHECK + forUnmarshaling->pParametersAddInfo = + (const VkVideoDecodeH264SessionParametersAddInfoKHR*)(uintptr_t)vkStream->getBe64(); + if (forUnmarshaling->pParametersAddInfo) { + vkStream->alloc((void**)&forUnmarshaling->pParametersAddInfo, + sizeof(const VkVideoDecodeH264SessionParametersAddInfoKHR)); + unmarshal_VkVideoDecodeH264SessionParametersAddInfoKHR( + vkStream, rootType, + (VkVideoDecodeH264SessionParametersAddInfoKHR*)(forUnmarshaling->pParametersAddInfo)); + } } -void marshal_VkPhysicalDeviceDynamicRenderingFeaturesKHR( - VulkanStream* vkStream, VkStructureType rootType, - const VkPhysicalDeviceDynamicRenderingFeaturesKHR* forMarshaling) { +void marshal_VkVideoDecodeH264PictureInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + const VkVideoDecodeH264PictureInfoKHR* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkBool32*)&forMarshaling->dynamicRendering, sizeof(VkBool32)); + vkStream->write((const StdVideoDecodeH264PictureInfo*)forMarshaling->pStdPictureInfo, + sizeof(const StdVideoDecodeH264PictureInfo)); + vkStream->write((uint32_t*)&forMarshaling->sliceCount, sizeof(uint32_t)); + vkStream->write((const uint32_t*)forMarshaling->pSliceOffsets, + forMarshaling->sliceCount * sizeof(const uint32_t)); } -void unmarshal_VkPhysicalDeviceDynamicRenderingFeaturesKHR( - VulkanStream* vkStream, VkStructureType rootType, - VkPhysicalDeviceDynamicRenderingFeaturesKHR* forUnmarshaling) { +void unmarshal_VkVideoDecodeH264PictureInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + VkVideoDecodeH264PictureInfoKHR* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -12524,32 +15558,31 @@ void unmarshal_VkPhysicalDeviceDynamicRenderingFeaturesKHR( *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((VkBool32*)&forUnmarshaling->dynamicRendering, sizeof(VkBool32)); + vkStream->alloc((void**)&forUnmarshaling->pStdPictureInfo, + sizeof(const StdVideoDecodeH264PictureInfo)); + vkStream->read((StdVideoDecodeH264PictureInfo*)forUnmarshaling->pStdPictureInfo, + sizeof(const StdVideoDecodeH264PictureInfo)); + vkStream->read((uint32_t*)&forUnmarshaling->sliceCount, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pSliceOffsets, + forUnmarshaling->sliceCount * sizeof(const uint32_t)); + vkStream->read((uint32_t*)forUnmarshaling->pSliceOffsets, + forUnmarshaling->sliceCount * sizeof(const uint32_t)); } -void marshal_VkCommandBufferInheritanceRenderingInfoKHR( - VulkanStream* vkStream, VkStructureType rootType, - const VkCommandBufferInheritanceRenderingInfoKHR* forMarshaling) { +void marshal_VkVideoDecodeH264DpbSlotInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + const VkVideoDecodeH264DpbSlotInfoKHR* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkRenderingFlagsKHR*)&forMarshaling->flags, sizeof(VkRenderingFlagsKHR)); - vkStream->write((uint32_t*)&forMarshaling->viewMask, sizeof(uint32_t)); - vkStream->write((uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t)); - vkStream->write((const VkFormat*)forMarshaling->pColorAttachmentFormats, - forMarshaling->colorAttachmentCount * sizeof(const VkFormat)); - vkStream->write((VkFormat*)&forMarshaling->depthAttachmentFormat, sizeof(VkFormat)); - vkStream->write((VkFormat*)&forMarshaling->stencilAttachmentFormat, sizeof(VkFormat)); - vkStream->write((VkSampleCountFlagBits*)&forMarshaling->rasterizationSamples, - sizeof(VkSampleCountFlagBits)); + vkStream->write((const StdVideoDecodeH264ReferenceInfo*)forMarshaling->pStdReferenceInfo, + sizeof(const StdVideoDecodeH264ReferenceInfo)); } -void unmarshal_VkCommandBufferInheritanceRenderingInfoKHR( - VulkanStream* vkStream, VkStructureType rootType, - VkCommandBufferInheritanceRenderingInfoKHR* forUnmarshaling) { +void unmarshal_VkVideoDecodeH264DpbSlotInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + VkVideoDecodeH264DpbSlotInfoKHR* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -12568,19 +15601,14 @@ void unmarshal_VkCommandBufferInheritanceRenderingInfoKHR( *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((VkRenderingFlagsKHR*)&forUnmarshaling->flags, sizeof(VkRenderingFlagsKHR)); - vkStream->read((uint32_t*)&forUnmarshaling->viewMask, sizeof(uint32_t)); - vkStream->read((uint32_t*)&forUnmarshaling->colorAttachmentCount, sizeof(uint32_t)); - vkStream->alloc((void**)&forUnmarshaling->pColorAttachmentFormats, - forUnmarshaling->colorAttachmentCount * sizeof(const VkFormat)); - vkStream->read((VkFormat*)forUnmarshaling->pColorAttachmentFormats, - forUnmarshaling->colorAttachmentCount * sizeof(const VkFormat)); - vkStream->read((VkFormat*)&forUnmarshaling->depthAttachmentFormat, sizeof(VkFormat)); - vkStream->read((VkFormat*)&forUnmarshaling->stencilAttachmentFormat, sizeof(VkFormat)); - vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->rasterizationSamples, - sizeof(VkSampleCountFlagBits)); + vkStream->alloc((void**)&forUnmarshaling->pStdReferenceInfo, + sizeof(const StdVideoDecodeH264ReferenceInfo)); + vkStream->read((StdVideoDecodeH264ReferenceInfo*)forUnmarshaling->pStdReferenceInfo, + sizeof(const StdVideoDecodeH264ReferenceInfo)); } +#endif +#ifdef VK_KHR_dynamic_rendering void marshal_VkRenderingFragmentShadingRateAttachmentInfoKHR( VulkanStream* vkStream, VkStructureType rootType, const VkRenderingFragmentShadingRateAttachmentInfoKHR* forMarshaling) { @@ -14694,34 +17722,299 @@ void unmarshal_VkPhysicalDeviceShaderClockFeaturesKHR( } #endif -#ifdef VK_KHR_driver_properties -#endif -#ifdef VK_KHR_shader_float_controls -#endif -#ifdef VK_KHR_depth_stencil_resolve -#endif -#ifdef VK_KHR_swapchain_mutable_format -#endif -#ifdef VK_KHR_timeline_semaphore -#endif -#ifdef VK_KHR_vulkan_memory_model +#ifdef VK_KHR_video_decode_h265 +void marshal_VkVideoDecodeH265ProfileInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + const VkVideoDecodeH265ProfileInfoKHR* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((StdVideoH265ProfileIdc*)&forMarshaling->stdProfileIdc, + sizeof(StdVideoH265ProfileIdc)); +} + +void unmarshal_VkVideoDecodeH265ProfileInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + VkVideoDecodeH265ProfileInfoKHR* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((StdVideoH265ProfileIdc*)&forUnmarshaling->stdProfileIdc, + sizeof(StdVideoH265ProfileIdc)); +} + +void marshal_VkVideoDecodeH265CapabilitiesKHR( + VulkanStream* vkStream, VkStructureType rootType, + const VkVideoDecodeH265CapabilitiesKHR* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((StdVideoH265LevelIdc*)&forMarshaling->maxLevelIdc, + sizeof(StdVideoH265LevelIdc)); +} + +void unmarshal_VkVideoDecodeH265CapabilitiesKHR(VulkanStream* vkStream, VkStructureType rootType, + VkVideoDecodeH265CapabilitiesKHR* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((StdVideoH265LevelIdc*)&forUnmarshaling->maxLevelIdc, + sizeof(StdVideoH265LevelIdc)); +} + +void marshal_VkVideoDecodeH265SessionParametersAddInfoKHR( + VulkanStream* vkStream, VkStructureType rootType, + const VkVideoDecodeH265SessionParametersAddInfoKHR* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)&forMarshaling->stdVPSCount, sizeof(uint32_t)); + vkStream->write((const StdVideoH265VideoParameterSet*)forMarshaling->pStdVPSs, + forMarshaling->stdVPSCount * sizeof(const StdVideoH265VideoParameterSet)); + vkStream->write((uint32_t*)&forMarshaling->stdSPSCount, sizeof(uint32_t)); + vkStream->write((const StdVideoH265SequenceParameterSet*)forMarshaling->pStdSPSs, + forMarshaling->stdSPSCount * sizeof(const StdVideoH265SequenceParameterSet)); + vkStream->write((uint32_t*)&forMarshaling->stdPPSCount, sizeof(uint32_t)); + vkStream->write((const StdVideoH265PictureParameterSet*)forMarshaling->pStdPPSs, + forMarshaling->stdPPSCount * sizeof(const StdVideoH265PictureParameterSet)); +} + +void unmarshal_VkVideoDecodeH265SessionParametersAddInfoKHR( + VulkanStream* vkStream, VkStructureType rootType, + VkVideoDecodeH265SessionParametersAddInfoKHR* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint32_t*)&forUnmarshaling->stdVPSCount, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pStdVPSs, + forUnmarshaling->stdVPSCount * sizeof(const StdVideoH265VideoParameterSet)); + vkStream->read((StdVideoH265VideoParameterSet*)forUnmarshaling->pStdVPSs, + forUnmarshaling->stdVPSCount * sizeof(const StdVideoH265VideoParameterSet)); + vkStream->read((uint32_t*)&forUnmarshaling->stdSPSCount, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pStdSPSs, + forUnmarshaling->stdSPSCount * sizeof(const StdVideoH265SequenceParameterSet)); + vkStream->read((StdVideoH265SequenceParameterSet*)forUnmarshaling->pStdSPSs, + forUnmarshaling->stdSPSCount * sizeof(const StdVideoH265SequenceParameterSet)); + vkStream->read((uint32_t*)&forUnmarshaling->stdPPSCount, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pStdPPSs, + forUnmarshaling->stdPPSCount * sizeof(const StdVideoH265PictureParameterSet)); + vkStream->read((StdVideoH265PictureParameterSet*)forUnmarshaling->pStdPPSs, + forUnmarshaling->stdPPSCount * sizeof(const StdVideoH265PictureParameterSet)); +} + +void marshal_VkVideoDecodeH265SessionParametersCreateInfoKHR( + VulkanStream* vkStream, VkStructureType rootType, + const VkVideoDecodeH265SessionParametersCreateInfoKHR* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)&forMarshaling->maxStdVPSCount, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxStdSPSCount, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxStdPPSCount, sizeof(uint32_t)); + // WARNING PTR CHECK + uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pParametersAddInfo; + vkStream->putBe64(cgen_var_0); + if (forMarshaling->pParametersAddInfo) { + marshal_VkVideoDecodeH265SessionParametersAddInfoKHR( + vkStream, rootType, + (const VkVideoDecodeH265SessionParametersAddInfoKHR*)(forMarshaling + ->pParametersAddInfo)); + } +} + +void unmarshal_VkVideoDecodeH265SessionParametersCreateInfoKHR( + VulkanStream* vkStream, VkStructureType rootType, + VkVideoDecodeH265SessionParametersCreateInfoKHR* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint32_t*)&forUnmarshaling->maxStdVPSCount, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxStdSPSCount, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxStdPPSCount, sizeof(uint32_t)); + // WARNING PTR CHECK + forUnmarshaling->pParametersAddInfo = + (const VkVideoDecodeH265SessionParametersAddInfoKHR*)(uintptr_t)vkStream->getBe64(); + if (forUnmarshaling->pParametersAddInfo) { + vkStream->alloc((void**)&forUnmarshaling->pParametersAddInfo, + sizeof(const VkVideoDecodeH265SessionParametersAddInfoKHR)); + unmarshal_VkVideoDecodeH265SessionParametersAddInfoKHR( + vkStream, rootType, + (VkVideoDecodeH265SessionParametersAddInfoKHR*)(forUnmarshaling->pParametersAddInfo)); + } +} + +void marshal_VkVideoDecodeH265PictureInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + const VkVideoDecodeH265PictureInfoKHR* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((const StdVideoDecodeH265PictureInfo*)forMarshaling->pStdPictureInfo, + sizeof(const StdVideoDecodeH265PictureInfo)); + vkStream->write((uint32_t*)&forMarshaling->sliceSegmentCount, sizeof(uint32_t)); + vkStream->write((const uint32_t*)forMarshaling->pSliceSegmentOffsets, + forMarshaling->sliceSegmentCount * sizeof(const uint32_t)); +} + +void unmarshal_VkVideoDecodeH265PictureInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + VkVideoDecodeH265PictureInfoKHR* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->alloc((void**)&forUnmarshaling->pStdPictureInfo, + sizeof(const StdVideoDecodeH265PictureInfo)); + vkStream->read((StdVideoDecodeH265PictureInfo*)forUnmarshaling->pStdPictureInfo, + sizeof(const StdVideoDecodeH265PictureInfo)); + vkStream->read((uint32_t*)&forUnmarshaling->sliceSegmentCount, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pSliceSegmentOffsets, + forUnmarshaling->sliceSegmentCount * sizeof(const uint32_t)); + vkStream->read((uint32_t*)forUnmarshaling->pSliceSegmentOffsets, + forUnmarshaling->sliceSegmentCount * sizeof(const uint32_t)); +} + +void marshal_VkVideoDecodeH265DpbSlotInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + const VkVideoDecodeH265DpbSlotInfoKHR* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((const StdVideoDecodeH265ReferenceInfo*)forMarshaling->pStdReferenceInfo, + sizeof(const StdVideoDecodeH265ReferenceInfo)); +} + +void unmarshal_VkVideoDecodeH265DpbSlotInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + VkVideoDecodeH265DpbSlotInfoKHR* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->alloc((void**)&forUnmarshaling->pStdReferenceInfo, + sizeof(const StdVideoDecodeH265ReferenceInfo)); + vkStream->read((StdVideoDecodeH265ReferenceInfo*)forUnmarshaling->pStdReferenceInfo, + sizeof(const StdVideoDecodeH265ReferenceInfo)); +} + #endif -#ifdef VK_KHR_shader_terminate_invocation -void marshal_VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR( +#ifdef VK_KHR_global_priority +void marshal_VkDeviceQueueGlobalPriorityCreateInfoKHR( VulkanStream* vkStream, VkStructureType rootType, - const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR* forMarshaling) { + const VkDeviceQueueGlobalPriorityCreateInfoKHR* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkBool32*)&forMarshaling->shaderTerminateInvocation, sizeof(VkBool32)); + vkStream->write((VkQueueGlobalPriorityKHR*)&forMarshaling->globalPriority, + sizeof(VkQueueGlobalPriorityKHR)); } -void unmarshal_VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR( +void unmarshal_VkDeviceQueueGlobalPriorityCreateInfoKHR( VulkanStream* vkStream, VkStructureType rootType, - VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR* forUnmarshaling) { + VkDeviceQueueGlobalPriorityCreateInfoKHR* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -14740,9 +18033,100 @@ void unmarshal_VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR( *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((VkBool32*)&forUnmarshaling->shaderTerminateInvocation, sizeof(VkBool32)); + vkStream->read((VkQueueGlobalPriorityKHR*)&forUnmarshaling->globalPriority, + sizeof(VkQueueGlobalPriorityKHR)); +} + +void marshal_VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->globalPriorityQuery, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->globalPriorityQuery, sizeof(VkBool32)); } +void marshal_VkQueueFamilyGlobalPriorityPropertiesKHR( + VulkanStream* vkStream, VkStructureType rootType, + const VkQueueFamilyGlobalPriorityPropertiesKHR* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)&forMarshaling->priorityCount, sizeof(uint32_t)); + vkStream->write((VkQueueGlobalPriorityKHR*)forMarshaling->priorities, + VK_MAX_GLOBAL_PRIORITY_SIZE_KHR * sizeof(VkQueueGlobalPriorityKHR)); +} + +void unmarshal_VkQueueFamilyGlobalPriorityPropertiesKHR( + VulkanStream* vkStream, VkStructureType rootType, + VkQueueFamilyGlobalPriorityPropertiesKHR* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint32_t*)&forUnmarshaling->priorityCount, sizeof(uint32_t)); + vkStream->read((VkQueueGlobalPriorityKHR*)forUnmarshaling->priorities, + VK_MAX_GLOBAL_PRIORITY_SIZE_KHR * sizeof(VkQueueGlobalPriorityKHR)); +} + +#endif +#ifdef VK_KHR_driver_properties +#endif +#ifdef VK_KHR_shader_float_controls +#endif +#ifdef VK_KHR_depth_stencil_resolve +#endif +#ifdef VK_KHR_swapchain_mutable_format +#endif +#ifdef VK_KHR_timeline_semaphore +#endif +#ifdef VK_KHR_vulkan_memory_model +#endif +#ifdef VK_KHR_shader_terminate_invocation #endif #ifdef VK_KHR_fragment_shading_rate void marshal_VkFragmentShadingRateAttachmentInfoKHR( @@ -15381,22 +18765,26 @@ void unmarshal_VkPipelineExecutableInternalRepresentationKHR( } #endif -#ifdef VK_KHR_shader_integer_dot_product -void marshal_VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR( - VulkanStream* vkStream, VkStructureType rootType, - const VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR* forMarshaling) { +#ifdef VK_KHR_map_memory2 +void marshal_VkMemoryMapInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + const VkMemoryMapInfoKHR* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkBool32*)&forMarshaling->shaderIntegerDotProduct, sizeof(VkBool32)); + vkStream->write((VkMemoryMapFlags*)&forMarshaling->flags, sizeof(VkMemoryMapFlags)); + uint64_t cgen_var_0; + vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_0, + 1); + vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize)); + vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize)); } -void unmarshal_VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR( - VulkanStream* vkStream, VkStructureType rootType, - VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR* forUnmarshaling) { +void unmarshal_VkMemoryMapInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + VkMemoryMapInfoKHR* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -15415,100 +18803,32 @@ void unmarshal_VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR( *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((VkBool32*)&forUnmarshaling->shaderIntegerDotProduct, sizeof(VkBool32)); + vkStream->read((VkMemoryMapFlags*)&forUnmarshaling->flags, sizeof(VkMemoryMapFlags)); + uint64_t cgen_var_0; + vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory( + &cgen_var_0, (VkDeviceMemory*)&forUnmarshaling->memory, 1); + vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize)); } -void marshal_VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR( - VulkanStream* vkStream, VkStructureType rootType, - const VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR* forMarshaling) { +void marshal_VkMemoryUnmapInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + const VkMemoryUnmapInfoKHR* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkBool32*)&forMarshaling->integerDotProduct8BitUnsignedAccelerated, - sizeof(VkBool32)); - vkStream->write((VkBool32*)&forMarshaling->integerDotProduct8BitSignedAccelerated, - sizeof(VkBool32)); - vkStream->write((VkBool32*)&forMarshaling->integerDotProduct8BitMixedSignednessAccelerated, - sizeof(VkBool32)); - vkStream->write((VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedUnsignedAccelerated, - sizeof(VkBool32)); - vkStream->write((VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedSignedAccelerated, - sizeof(VkBool32)); - vkStream->write( - (VkBool32*)&forMarshaling->integerDotProduct4x8BitPackedMixedSignednessAccelerated, - sizeof(VkBool32)); - vkStream->write((VkBool32*)&forMarshaling->integerDotProduct16BitUnsignedAccelerated, - sizeof(VkBool32)); - vkStream->write((VkBool32*)&forMarshaling->integerDotProduct16BitSignedAccelerated, - sizeof(VkBool32)); - vkStream->write((VkBool32*)&forMarshaling->integerDotProduct16BitMixedSignednessAccelerated, - sizeof(VkBool32)); - vkStream->write((VkBool32*)&forMarshaling->integerDotProduct32BitUnsignedAccelerated, - sizeof(VkBool32)); - vkStream->write((VkBool32*)&forMarshaling->integerDotProduct32BitSignedAccelerated, - sizeof(VkBool32)); - vkStream->write((VkBool32*)&forMarshaling->integerDotProduct32BitMixedSignednessAccelerated, - sizeof(VkBool32)); - vkStream->write((VkBool32*)&forMarshaling->integerDotProduct64BitUnsignedAccelerated, - sizeof(VkBool32)); - vkStream->write((VkBool32*)&forMarshaling->integerDotProduct64BitSignedAccelerated, - sizeof(VkBool32)); - vkStream->write((VkBool32*)&forMarshaling->integerDotProduct64BitMixedSignednessAccelerated, - sizeof(VkBool32)); - vkStream->write( - (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated, - sizeof(VkBool32)); - vkStream->write( - (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating8BitSignedAccelerated, - sizeof(VkBool32)); - vkStream->write((VkBool32*)&forMarshaling - ->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated, - sizeof(VkBool32)); - vkStream->write((VkBool32*)&forMarshaling - ->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated, - sizeof(VkBool32)); - vkStream->write((VkBool32*)&forMarshaling - ->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated, - sizeof(VkBool32)); - vkStream->write( - (VkBool32*)&forMarshaling - ->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated, - sizeof(VkBool32)); - vkStream->write( - (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated, - sizeof(VkBool32)); - vkStream->write( - (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating16BitSignedAccelerated, - sizeof(VkBool32)); - vkStream->write((VkBool32*)&forMarshaling - ->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated, - sizeof(VkBool32)); - vkStream->write( - (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated, - sizeof(VkBool32)); - vkStream->write( - (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating32BitSignedAccelerated, - sizeof(VkBool32)); - vkStream->write((VkBool32*)&forMarshaling - ->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated, - sizeof(VkBool32)); - vkStream->write( - (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated, - sizeof(VkBool32)); - vkStream->write( - (VkBool32*)&forMarshaling->integerDotProductAccumulatingSaturating64BitSignedAccelerated, - sizeof(VkBool32)); - vkStream->write((VkBool32*)&forMarshaling - ->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated, - sizeof(VkBool32)); + vkStream->write((VkMemoryUnmapFlagsKHR*)&forMarshaling->flags, sizeof(VkMemoryUnmapFlagsKHR)); + uint64_t cgen_var_0; + vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_0, + 1); + vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); } -void unmarshal_VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR( - VulkanStream* vkStream, VkStructureType rootType, - VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR* forUnmarshaling) { +void unmarshal_VkMemoryUnmapInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + VkMemoryUnmapInfoKHR* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -15527,86 +18847,16 @@ void unmarshal_VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR( *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct8BitUnsignedAccelerated, - sizeof(VkBool32)); - vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct8BitSignedAccelerated, - sizeof(VkBool32)); - vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct8BitMixedSignednessAccelerated, - sizeof(VkBool32)); - vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct4x8BitPackedUnsignedAccelerated, - sizeof(VkBool32)); - vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct4x8BitPackedSignedAccelerated, - sizeof(VkBool32)); - vkStream->read( - (VkBool32*)&forUnmarshaling->integerDotProduct4x8BitPackedMixedSignednessAccelerated, - sizeof(VkBool32)); - vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct16BitUnsignedAccelerated, - sizeof(VkBool32)); - vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct16BitSignedAccelerated, - sizeof(VkBool32)); - vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct16BitMixedSignednessAccelerated, - sizeof(VkBool32)); - vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct32BitUnsignedAccelerated, - sizeof(VkBool32)); - vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct32BitSignedAccelerated, - sizeof(VkBool32)); - vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct32BitMixedSignednessAccelerated, - sizeof(VkBool32)); - vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct64BitUnsignedAccelerated, - sizeof(VkBool32)); - vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct64BitSignedAccelerated, - sizeof(VkBool32)); - vkStream->read((VkBool32*)&forUnmarshaling->integerDotProduct64BitMixedSignednessAccelerated, - sizeof(VkBool32)); - vkStream->read( - (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated, - sizeof(VkBool32)); - vkStream->read( - (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating8BitSignedAccelerated, - sizeof(VkBool32)); - vkStream->read((VkBool32*)&forUnmarshaling - ->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated, - sizeof(VkBool32)); - vkStream->read((VkBool32*)&forUnmarshaling - ->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated, - sizeof(VkBool32)); - vkStream->read((VkBool32*)&forUnmarshaling - ->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated, - sizeof(VkBool32)); - vkStream->read( - (VkBool32*)&forUnmarshaling - ->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated, - sizeof(VkBool32)); - vkStream->read((VkBool32*)&forUnmarshaling - ->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated, - sizeof(VkBool32)); - vkStream->read( - (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating16BitSignedAccelerated, - sizeof(VkBool32)); - vkStream->read((VkBool32*)&forUnmarshaling - ->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated, - sizeof(VkBool32)); - vkStream->read((VkBool32*)&forUnmarshaling - ->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated, - sizeof(VkBool32)); - vkStream->read( - (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating32BitSignedAccelerated, - sizeof(VkBool32)); - vkStream->read((VkBool32*)&forUnmarshaling - ->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated, - sizeof(VkBool32)); - vkStream->read((VkBool32*)&forUnmarshaling - ->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated, - sizeof(VkBool32)); - vkStream->read( - (VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating64BitSignedAccelerated, - sizeof(VkBool32)); - vkStream->read((VkBool32*)&forUnmarshaling - ->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated, - sizeof(VkBool32)); + vkStream->read((VkMemoryUnmapFlagsKHR*)&forUnmarshaling->flags, sizeof(VkMemoryUnmapFlagsKHR)); + uint64_t cgen_var_0; + vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory( + &cgen_var_0, (VkDeviceMemory*)&forUnmarshaling->memory, 1); } #endif +#ifdef VK_KHR_shader_integer_dot_product +#endif #ifdef VK_KHR_pipeline_library void marshal_VkPipelineLibraryCreateInfoKHR(VulkanStream* vkStream, VkStructureType rootType, const VkPipelineLibraryCreateInfoKHR* forMarshaling) { @@ -15759,26 +19009,30 @@ void marshal_VkVideoEncodeInfoKHR(VulkanStream* vkStream, VkStructureType rootTy marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); vkStream->write((VkVideoEncodeFlagsKHR*)&forMarshaling->flags, sizeof(VkVideoEncodeFlagsKHR)); vkStream->write((uint32_t*)&forMarshaling->qualityLevel, sizeof(uint32_t)); - marshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->codedExtent)); uint64_t cgen_var_0; - vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->dstBitstreamBuffer, - &cgen_var_0, 1); + vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->dstBuffer, &cgen_var_0, 1); vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); - vkStream->write((VkDeviceSize*)&forMarshaling->dstBitstreamBufferOffset, sizeof(VkDeviceSize)); - vkStream->write((VkDeviceSize*)&forMarshaling->dstBitstreamBufferMaxRange, - sizeof(VkDeviceSize)); - marshal_VkVideoPictureResourceKHR( - vkStream, rootType, (VkVideoPictureResourceKHR*)(&forMarshaling->srcPictureResource)); - marshal_VkVideoReferenceSlotKHR( - vkStream, rootType, (const VkVideoReferenceSlotKHR*)(forMarshaling->pSetupReferenceSlot)); + vkStream->write((VkDeviceSize*)&forMarshaling->dstBufferOffset, sizeof(VkDeviceSize)); + vkStream->write((VkDeviceSize*)&forMarshaling->dstBufferRange, sizeof(VkDeviceSize)); + marshal_VkVideoPictureResourceInfoKHR( + vkStream, rootType, (VkVideoPictureResourceInfoKHR*)(&forMarshaling->srcPictureResource)); + // WARNING PTR CHECK + uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pSetupReferenceSlot; + vkStream->putBe64(cgen_var_1); + if (forMarshaling->pSetupReferenceSlot) { + marshal_VkVideoReferenceSlotInfoKHR( + vkStream, rootType, + (const VkVideoReferenceSlotInfoKHR*)(forMarshaling->pSetupReferenceSlot)); + } vkStream->write((uint32_t*)&forMarshaling->referenceSlotCount, sizeof(uint32_t)); if (forMarshaling) { for (uint32_t i = 0; i < (uint32_t)forMarshaling->referenceSlotCount; ++i) { - marshal_VkVideoReferenceSlotKHR( + marshal_VkVideoReferenceSlotInfoKHR( vkStream, rootType, - (const VkVideoReferenceSlotKHR*)(forMarshaling->pReferenceSlots + i)); + (const VkVideoReferenceSlotInfoKHR*)(forMarshaling->pReferenceSlots + i)); } } + vkStream->write((uint32_t*)&forMarshaling->precedingExternallyEncodedBytes, sizeof(uint32_t)); } void unmarshal_VkVideoEncodeInfoKHR(VulkanStream* vkStream, VkStructureType rootType, @@ -15803,53 +19057,60 @@ void unmarshal_VkVideoEncodeInfoKHR(VulkanStream* vkStream, VkStructureType root } vkStream->read((VkVideoEncodeFlagsKHR*)&forUnmarshaling->flags, sizeof(VkVideoEncodeFlagsKHR)); vkStream->read((uint32_t*)&forUnmarshaling->qualityLevel, sizeof(uint32_t)); - unmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forUnmarshaling->codedExtent)); uint64_t cgen_var_0; vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); - vkStream->handleMapping()->mapHandles_u64_VkBuffer( - &cgen_var_0, (VkBuffer*)&forUnmarshaling->dstBitstreamBuffer, 1); - vkStream->read((VkDeviceSize*)&forUnmarshaling->dstBitstreamBufferOffset, sizeof(VkDeviceSize)); - vkStream->read((VkDeviceSize*)&forUnmarshaling->dstBitstreamBufferMaxRange, - sizeof(VkDeviceSize)); - unmarshal_VkVideoPictureResourceKHR( - vkStream, rootType, (VkVideoPictureResourceKHR*)(&forUnmarshaling->srcPictureResource)); - vkStream->alloc((void**)&forUnmarshaling->pSetupReferenceSlot, - sizeof(const VkVideoReferenceSlotKHR)); - unmarshal_VkVideoReferenceSlotKHR( - vkStream, rootType, (VkVideoReferenceSlotKHR*)(forUnmarshaling->pSetupReferenceSlot)); + vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0, + (VkBuffer*)&forUnmarshaling->dstBuffer, 1); + vkStream->read((VkDeviceSize*)&forUnmarshaling->dstBufferOffset, sizeof(VkDeviceSize)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->dstBufferRange, sizeof(VkDeviceSize)); + unmarshal_VkVideoPictureResourceInfoKHR( + vkStream, rootType, (VkVideoPictureResourceInfoKHR*)(&forUnmarshaling->srcPictureResource)); + // WARNING PTR CHECK + forUnmarshaling->pSetupReferenceSlot = + (const VkVideoReferenceSlotInfoKHR*)(uintptr_t)vkStream->getBe64(); + if (forUnmarshaling->pSetupReferenceSlot) { + vkStream->alloc((void**)&forUnmarshaling->pSetupReferenceSlot, + sizeof(const VkVideoReferenceSlotInfoKHR)); + unmarshal_VkVideoReferenceSlotInfoKHR( + vkStream, rootType, + (VkVideoReferenceSlotInfoKHR*)(forUnmarshaling->pSetupReferenceSlot)); + } vkStream->read((uint32_t*)&forUnmarshaling->referenceSlotCount, sizeof(uint32_t)); - vkStream->alloc((void**)&forUnmarshaling->pReferenceSlots, - forUnmarshaling->referenceSlotCount * sizeof(const VkVideoReferenceSlotKHR)); + vkStream->alloc( + (void**)&forUnmarshaling->pReferenceSlots, + forUnmarshaling->referenceSlotCount * sizeof(const VkVideoReferenceSlotInfoKHR)); if (forUnmarshaling) { for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->referenceSlotCount; ++i) { - unmarshal_VkVideoReferenceSlotKHR( + unmarshal_VkVideoReferenceSlotInfoKHR( vkStream, rootType, - (VkVideoReferenceSlotKHR*)(forUnmarshaling->pReferenceSlots + i)); + (VkVideoReferenceSlotInfoKHR*)(forUnmarshaling->pReferenceSlots + i)); } } + vkStream->read((uint32_t*)&forUnmarshaling->precedingExternallyEncodedBytes, sizeof(uint32_t)); } -void marshal_VkVideoEncodeRateControlInfoKHR(VulkanStream* vkStream, VkStructureType rootType, - const VkVideoEncodeRateControlInfoKHR* forMarshaling) { +void marshal_VkVideoEncodeCapabilitiesKHR(VulkanStream* vkStream, VkStructureType rootType, + const VkVideoEncodeCapabilitiesKHR* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkVideoEncodeRateControlFlagsKHR*)&forMarshaling->flags, - sizeof(VkVideoEncodeRateControlFlagsKHR)); - vkStream->write((VkVideoEncodeRateControlModeFlagBitsKHR*)&forMarshaling->rateControlMode, - sizeof(VkVideoEncodeRateControlModeFlagBitsKHR)); - vkStream->write((uint32_t*)&forMarshaling->averageBitrate, sizeof(uint32_t)); - vkStream->write((uint16_t*)&forMarshaling->peakToAverageBitrateRatio, sizeof(uint16_t)); - vkStream->write((uint16_t*)&forMarshaling->frameRateNumerator, sizeof(uint16_t)); - vkStream->write((uint16_t*)&forMarshaling->frameRateDenominator, sizeof(uint16_t)); - vkStream->write((uint32_t*)&forMarshaling->virtualBufferSizeInMs, sizeof(uint32_t)); + vkStream->write((VkVideoEncodeCapabilityFlagsKHR*)&forMarshaling->flags, + sizeof(VkVideoEncodeCapabilityFlagsKHR)); + vkStream->write((VkVideoEncodeRateControlModeFlagsKHR*)&forMarshaling->rateControlModes, + sizeof(VkVideoEncodeRateControlModeFlagsKHR)); + vkStream->write((uint32_t*)&forMarshaling->maxRateControlLayers, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxQualityLevels, sizeof(uint32_t)); + marshal_VkExtent2D(vkStream, rootType, + (VkExtent2D*)(&forMarshaling->inputImageDataFillAlignment)); + vkStream->write((VkVideoEncodeFeedbackFlagsKHR*)&forMarshaling->supportedEncodeFeedbackFlags, + sizeof(VkVideoEncodeFeedbackFlagsKHR)); } -void unmarshal_VkVideoEncodeRateControlInfoKHR(VulkanStream* vkStream, VkStructureType rootType, - VkVideoEncodeRateControlInfoKHR* forUnmarshaling) { +void unmarshal_VkVideoEncodeCapabilitiesKHR(VulkanStream* vkStream, VkStructureType rootType, + VkVideoEncodeCapabilitiesKHR* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -15868,37 +19129,34 @@ void unmarshal_VkVideoEncodeRateControlInfoKHR(VulkanStream* vkStream, VkStructu *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((VkVideoEncodeRateControlFlagsKHR*)&forUnmarshaling->flags, - sizeof(VkVideoEncodeRateControlFlagsKHR)); - vkStream->read((VkVideoEncodeRateControlModeFlagBitsKHR*)&forUnmarshaling->rateControlMode, - sizeof(VkVideoEncodeRateControlModeFlagBitsKHR)); - vkStream->read((uint32_t*)&forUnmarshaling->averageBitrate, sizeof(uint32_t)); - vkStream->read((uint16_t*)&forUnmarshaling->peakToAverageBitrateRatio, sizeof(uint16_t)); - vkStream->read((uint16_t*)&forUnmarshaling->frameRateNumerator, sizeof(uint16_t)); - vkStream->read((uint16_t*)&forUnmarshaling->frameRateDenominator, sizeof(uint16_t)); - vkStream->read((uint32_t*)&forUnmarshaling->virtualBufferSizeInMs, sizeof(uint32_t)); + vkStream->read((VkVideoEncodeCapabilityFlagsKHR*)&forUnmarshaling->flags, + sizeof(VkVideoEncodeCapabilityFlagsKHR)); + vkStream->read((VkVideoEncodeRateControlModeFlagsKHR*)&forUnmarshaling->rateControlModes, + sizeof(VkVideoEncodeRateControlModeFlagsKHR)); + vkStream->read((uint32_t*)&forUnmarshaling->maxRateControlLayers, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxQualityLevels, sizeof(uint32_t)); + unmarshal_VkExtent2D(vkStream, rootType, + (VkExtent2D*)(&forUnmarshaling->inputImageDataFillAlignment)); + vkStream->read((VkVideoEncodeFeedbackFlagsKHR*)&forUnmarshaling->supportedEncodeFeedbackFlags, + sizeof(VkVideoEncodeFeedbackFlagsKHR)); } -#endif -#ifdef VK_KHR_synchronization2 -void marshal_VkMemoryBarrier2KHR(VulkanStream* vkStream, VkStructureType rootType, - const VkMemoryBarrier2KHR* forMarshaling) { +void marshal_VkQueryPoolVideoEncodeFeedbackCreateInfoKHR( + VulkanStream* vkStream, VkStructureType rootType, + const VkQueryPoolVideoEncodeFeedbackCreateInfoKHR* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkPipelineStageFlags2KHR*)&forMarshaling->srcStageMask, - sizeof(VkPipelineStageFlags2KHR)); - vkStream->write((VkAccessFlags2KHR*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags2KHR)); - vkStream->write((VkPipelineStageFlags2KHR*)&forMarshaling->dstStageMask, - sizeof(VkPipelineStageFlags2KHR)); - vkStream->write((VkAccessFlags2KHR*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags2KHR)); + vkStream->write((VkVideoEncodeFeedbackFlagsKHR*)&forMarshaling->encodeFeedbackFlags, + sizeof(VkVideoEncodeFeedbackFlagsKHR)); } -void unmarshal_VkMemoryBarrier2KHR(VulkanStream* vkStream, VkStructureType rootType, - VkMemoryBarrier2KHR* forUnmarshaling) { +void unmarshal_VkQueryPoolVideoEncodeFeedbackCreateInfoKHR( + VulkanStream* vkStream, VkStructureType rootType, + VkQueryPoolVideoEncodeFeedbackCreateInfoKHR* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -15917,39 +19175,28 @@ void unmarshal_VkMemoryBarrier2KHR(VulkanStream* vkStream, VkStructureType rootT *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((VkPipelineStageFlags2KHR*)&forUnmarshaling->srcStageMask, - sizeof(VkPipelineStageFlags2KHR)); - vkStream->read((VkAccessFlags2KHR*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags2KHR)); - vkStream->read((VkPipelineStageFlags2KHR*)&forUnmarshaling->dstStageMask, - sizeof(VkPipelineStageFlags2KHR)); - vkStream->read((VkAccessFlags2KHR*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags2KHR)); + vkStream->read((VkVideoEncodeFeedbackFlagsKHR*)&forUnmarshaling->encodeFeedbackFlags, + sizeof(VkVideoEncodeFeedbackFlagsKHR)); } -void marshal_VkBufferMemoryBarrier2KHR(VulkanStream* vkStream, VkStructureType rootType, - const VkBufferMemoryBarrier2KHR* forMarshaling) { +void marshal_VkVideoEncodeUsageInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + const VkVideoEncodeUsageInfoKHR* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkPipelineStageFlags2KHR*)&forMarshaling->srcStageMask, - sizeof(VkPipelineStageFlags2KHR)); - vkStream->write((VkAccessFlags2KHR*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags2KHR)); - vkStream->write((VkPipelineStageFlags2KHR*)&forMarshaling->dstStageMask, - sizeof(VkPipelineStageFlags2KHR)); - vkStream->write((VkAccessFlags2KHR*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags2KHR)); - vkStream->write((uint32_t*)&forMarshaling->srcQueueFamilyIndex, sizeof(uint32_t)); - vkStream->write((uint32_t*)&forMarshaling->dstQueueFamilyIndex, sizeof(uint32_t)); - uint64_t cgen_var_0; - vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_0, 1); - vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); - vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize)); - vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize)); + vkStream->write((VkVideoEncodeUsageFlagsKHR*)&forMarshaling->videoUsageHints, + sizeof(VkVideoEncodeUsageFlagsKHR)); + vkStream->write((VkVideoEncodeContentFlagsKHR*)&forMarshaling->videoContentHints, + sizeof(VkVideoEncodeContentFlagsKHR)); + vkStream->write((VkVideoEncodeTuningModeKHR*)&forMarshaling->tuningMode, + sizeof(VkVideoEncodeTuningModeKHR)); } -void unmarshal_VkBufferMemoryBarrier2KHR(VulkanStream* vkStream, VkStructureType rootType, - VkBufferMemoryBarrier2KHR* forUnmarshaling) { +void unmarshal_VkVideoEncodeUsageInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + VkVideoEncodeUsageInfoKHR* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -15968,49 +19215,34 @@ void unmarshal_VkBufferMemoryBarrier2KHR(VulkanStream* vkStream, VkStructureType *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((VkPipelineStageFlags2KHR*)&forUnmarshaling->srcStageMask, - sizeof(VkPipelineStageFlags2KHR)); - vkStream->read((VkAccessFlags2KHR*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags2KHR)); - vkStream->read((VkPipelineStageFlags2KHR*)&forUnmarshaling->dstStageMask, - sizeof(VkPipelineStageFlags2KHR)); - vkStream->read((VkAccessFlags2KHR*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags2KHR)); - vkStream->read((uint32_t*)&forUnmarshaling->srcQueueFamilyIndex, sizeof(uint32_t)); - vkStream->read((uint32_t*)&forUnmarshaling->dstQueueFamilyIndex, sizeof(uint32_t)); - uint64_t cgen_var_0; - vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); - vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0, - (VkBuffer*)&forUnmarshaling->buffer, 1); - vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize)); - vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize)); + vkStream->read((VkVideoEncodeUsageFlagsKHR*)&forUnmarshaling->videoUsageHints, + sizeof(VkVideoEncodeUsageFlagsKHR)); + vkStream->read((VkVideoEncodeContentFlagsKHR*)&forUnmarshaling->videoContentHints, + sizeof(VkVideoEncodeContentFlagsKHR)); + vkStream->read((VkVideoEncodeTuningModeKHR*)&forUnmarshaling->tuningMode, + sizeof(VkVideoEncodeTuningModeKHR)); } -void marshal_VkImageMemoryBarrier2KHR(VulkanStream* vkStream, VkStructureType rootType, - const VkImageMemoryBarrier2KHR* forMarshaling) { +void marshal_VkVideoEncodeRateControlLayerInfoKHR( + VulkanStream* vkStream, VkStructureType rootType, + const VkVideoEncodeRateControlLayerInfoKHR* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkPipelineStageFlags2KHR*)&forMarshaling->srcStageMask, - sizeof(VkPipelineStageFlags2KHR)); - vkStream->write((VkAccessFlags2KHR*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags2KHR)); - vkStream->write((VkPipelineStageFlags2KHR*)&forMarshaling->dstStageMask, - sizeof(VkPipelineStageFlags2KHR)); - vkStream->write((VkAccessFlags2KHR*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags2KHR)); - vkStream->write((VkImageLayout*)&forMarshaling->oldLayout, sizeof(VkImageLayout)); - vkStream->write((VkImageLayout*)&forMarshaling->newLayout, sizeof(VkImageLayout)); - vkStream->write((uint32_t*)&forMarshaling->srcQueueFamilyIndex, sizeof(uint32_t)); - vkStream->write((uint32_t*)&forMarshaling->dstQueueFamilyIndex, sizeof(uint32_t)); - uint64_t cgen_var_0; - vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_0, 1); - vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); - marshal_VkImageSubresourceRange(vkStream, rootType, - (VkImageSubresourceRange*)(&forMarshaling->subresourceRange)); + vkStream->write((uint64_t*)&forMarshaling->averageBitrate, sizeof(uint64_t)); + vkStream->write((uint64_t*)&forMarshaling->maxBitrate, sizeof(uint64_t)); + vkStream->write((uint32_t*)&forMarshaling->frameRateNumerator, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->frameRateDenominator, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->virtualBufferSizeInMs, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->initialVirtualBufferSizeInMs, sizeof(uint32_t)); } -void unmarshal_VkImageMemoryBarrier2KHR(VulkanStream* vkStream, VkStructureType rootType, - VkImageMemoryBarrier2KHR* forUnmarshaling) { +void unmarshal_VkVideoEncodeRateControlLayerInfoKHR( + VulkanStream* vkStream, VkStructureType rootType, + VkVideoEncodeRateControlLayerInfoKHR* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -16029,61 +19261,38 @@ void unmarshal_VkImageMemoryBarrier2KHR(VulkanStream* vkStream, VkStructureType *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((VkPipelineStageFlags2KHR*)&forUnmarshaling->srcStageMask, - sizeof(VkPipelineStageFlags2KHR)); - vkStream->read((VkAccessFlags2KHR*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags2KHR)); - vkStream->read((VkPipelineStageFlags2KHR*)&forUnmarshaling->dstStageMask, - sizeof(VkPipelineStageFlags2KHR)); - vkStream->read((VkAccessFlags2KHR*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags2KHR)); - vkStream->read((VkImageLayout*)&forUnmarshaling->oldLayout, sizeof(VkImageLayout)); - vkStream->read((VkImageLayout*)&forUnmarshaling->newLayout, sizeof(VkImageLayout)); - vkStream->read((uint32_t*)&forUnmarshaling->srcQueueFamilyIndex, sizeof(uint32_t)); - vkStream->read((uint32_t*)&forUnmarshaling->dstQueueFamilyIndex, sizeof(uint32_t)); - uint64_t cgen_var_0; - vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); - vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0, - (VkImage*)&forUnmarshaling->image, 1); - unmarshal_VkImageSubresourceRange( - vkStream, rootType, (VkImageSubresourceRange*)(&forUnmarshaling->subresourceRange)); + vkStream->read((uint64_t*)&forUnmarshaling->averageBitrate, sizeof(uint64_t)); + vkStream->read((uint64_t*)&forUnmarshaling->maxBitrate, sizeof(uint64_t)); + vkStream->read((uint32_t*)&forUnmarshaling->frameRateNumerator, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->frameRateDenominator, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->virtualBufferSizeInMs, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->initialVirtualBufferSizeInMs, sizeof(uint32_t)); } -void marshal_VkDependencyInfoKHR(VulkanStream* vkStream, VkStructureType rootType, - const VkDependencyInfoKHR* forMarshaling) { +void marshal_VkVideoEncodeRateControlInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + const VkVideoEncodeRateControlInfoKHR* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkDependencyFlags*)&forMarshaling->dependencyFlags, sizeof(VkDependencyFlags)); - vkStream->write((uint32_t*)&forMarshaling->memoryBarrierCount, sizeof(uint32_t)); - if (forMarshaling) { - for (uint32_t i = 0; i < (uint32_t)forMarshaling->memoryBarrierCount; ++i) { - marshal_VkMemoryBarrier2KHR( - vkStream, rootType, - (const VkMemoryBarrier2KHR*)(forMarshaling->pMemoryBarriers + i)); - } - } - vkStream->write((uint32_t*)&forMarshaling->bufferMemoryBarrierCount, sizeof(uint32_t)); - if (forMarshaling) { - for (uint32_t i = 0; i < (uint32_t)forMarshaling->bufferMemoryBarrierCount; ++i) { - marshal_VkBufferMemoryBarrier2KHR( - vkStream, rootType, - (const VkBufferMemoryBarrier2KHR*)(forMarshaling->pBufferMemoryBarriers + i)); - } - } - vkStream->write((uint32_t*)&forMarshaling->imageMemoryBarrierCount, sizeof(uint32_t)); + vkStream->write((VkVideoEncodeRateControlFlagsKHR*)&forMarshaling->flags, + sizeof(VkVideoEncodeRateControlFlagsKHR)); + vkStream->write((VkVideoEncodeRateControlModeFlagBitsKHR*)&forMarshaling->rateControlMode, + sizeof(VkVideoEncodeRateControlModeFlagBitsKHR)); + vkStream->write((uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t)); if (forMarshaling) { - for (uint32_t i = 0; i < (uint32_t)forMarshaling->imageMemoryBarrierCount; ++i) { - marshal_VkImageMemoryBarrier2KHR( + for (uint32_t i = 0; i < (uint32_t)forMarshaling->layerCount; ++i) { + marshal_VkVideoEncodeRateControlLayerInfoKHR( vkStream, rootType, - (const VkImageMemoryBarrier2KHR*)(forMarshaling->pImageMemoryBarriers + i)); + (const VkVideoEncodeRateControlLayerInfoKHR*)(forMarshaling->pLayers + i)); } } } -void unmarshal_VkDependencyInfoKHR(VulkanStream* vkStream, VkStructureType rootType, - VkDependencyInfoKHR* forUnmarshaling) { +void unmarshal_VkVideoEncodeRateControlInfoKHR(VulkanStream* vkStream, VkStructureType rootType, + VkVideoEncodeRateControlInfoKHR* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -16102,106 +19311,41 @@ void unmarshal_VkDependencyInfoKHR(VulkanStream* vkStream, VkStructureType rootT *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((VkDependencyFlags*)&forUnmarshaling->dependencyFlags, - sizeof(VkDependencyFlags)); - vkStream->read((uint32_t*)&forUnmarshaling->memoryBarrierCount, sizeof(uint32_t)); - vkStream->alloc((void**)&forUnmarshaling->pMemoryBarriers, - forUnmarshaling->memoryBarrierCount * sizeof(const VkMemoryBarrier2KHR)); - if (forUnmarshaling) { - for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->memoryBarrierCount; ++i) { - unmarshal_VkMemoryBarrier2KHR( - vkStream, rootType, (VkMemoryBarrier2KHR*)(forUnmarshaling->pMemoryBarriers + i)); - } - } - vkStream->read((uint32_t*)&forUnmarshaling->bufferMemoryBarrierCount, sizeof(uint32_t)); - vkStream->alloc( - (void**)&forUnmarshaling->pBufferMemoryBarriers, - forUnmarshaling->bufferMemoryBarrierCount * sizeof(const VkBufferMemoryBarrier2KHR)); - if (forUnmarshaling) { - for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bufferMemoryBarrierCount; ++i) { - unmarshal_VkBufferMemoryBarrier2KHR( - vkStream, rootType, - (VkBufferMemoryBarrier2KHR*)(forUnmarshaling->pBufferMemoryBarriers + i)); - } - } - vkStream->read((uint32_t*)&forUnmarshaling->imageMemoryBarrierCount, sizeof(uint32_t)); + vkStream->read((VkVideoEncodeRateControlFlagsKHR*)&forUnmarshaling->flags, + sizeof(VkVideoEncodeRateControlFlagsKHR)); + vkStream->read((VkVideoEncodeRateControlModeFlagBitsKHR*)&forUnmarshaling->rateControlMode, + sizeof(VkVideoEncodeRateControlModeFlagBitsKHR)); + vkStream->read((uint32_t*)&forUnmarshaling->layerCount, sizeof(uint32_t)); vkStream->alloc( - (void**)&forUnmarshaling->pImageMemoryBarriers, - forUnmarshaling->imageMemoryBarrierCount * sizeof(const VkImageMemoryBarrier2KHR)); + (void**)&forUnmarshaling->pLayers, + forUnmarshaling->layerCount * sizeof(const VkVideoEncodeRateControlLayerInfoKHR)); if (forUnmarshaling) { - for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->imageMemoryBarrierCount; ++i) { - unmarshal_VkImageMemoryBarrier2KHR( + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->layerCount; ++i) { + unmarshal_VkVideoEncodeRateControlLayerInfoKHR( vkStream, rootType, - (VkImageMemoryBarrier2KHR*)(forUnmarshaling->pImageMemoryBarriers + i)); + (VkVideoEncodeRateControlLayerInfoKHR*)(forUnmarshaling->pLayers + i)); } } } -void marshal_VkSemaphoreSubmitInfoKHR(VulkanStream* vkStream, VkStructureType rootType, - const VkSemaphoreSubmitInfoKHR* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - uint64_t cgen_var_0; - vkStream->handleMapping()->mapHandles_VkSemaphore_u64(&forMarshaling->semaphore, &cgen_var_0, - 1); - vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); - vkStream->write((uint64_t*)&forMarshaling->value, sizeof(uint64_t)); - vkStream->write((VkPipelineStageFlags2KHR*)&forMarshaling->stageMask, - sizeof(VkPipelineStageFlags2KHR)); - vkStream->write((uint32_t*)&forMarshaling->deviceIndex, sizeof(uint32_t)); -} - -void unmarshal_VkSemaphoreSubmitInfoKHR(VulkanStream* vkStream, VkStructureType rootType, - VkSemaphoreSubmitInfoKHR* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - uint64_t cgen_var_0; - vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); - vkStream->handleMapping()->mapHandles_u64_VkSemaphore( - &cgen_var_0, (VkSemaphore*)&forUnmarshaling->semaphore, 1); - vkStream->read((uint64_t*)&forUnmarshaling->value, sizeof(uint64_t)); - vkStream->read((VkPipelineStageFlags2KHR*)&forUnmarshaling->stageMask, - sizeof(VkPipelineStageFlags2KHR)); - vkStream->read((uint32_t*)&forUnmarshaling->deviceIndex, sizeof(uint32_t)); -} - -void marshal_VkCommandBufferSubmitInfoKHR(VulkanStream* vkStream, VkStructureType rootType, - const VkCommandBufferSubmitInfoKHR* forMarshaling) { +#endif +#ifdef VK_KHR_synchronization2 +void marshal_VkQueueFamilyCheckpointProperties2NV( + VulkanStream* vkStream, VkStructureType rootType, + const VkQueueFamilyCheckpointProperties2NV* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - uint64_t cgen_var_0; - vkStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&forMarshaling->commandBuffer, - &cgen_var_0, 1); - vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); - vkStream->write((uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t)); + vkStream->write((VkPipelineStageFlags2*)&forMarshaling->checkpointExecutionStageMask, + sizeof(VkPipelineStageFlags2)); } -void unmarshal_VkCommandBufferSubmitInfoKHR(VulkanStream* vkStream, VkStructureType rootType, - VkCommandBufferSubmitInfoKHR* forUnmarshaling) { +void unmarshal_VkQueueFamilyCheckpointProperties2NV( + VulkanStream* vkStream, VkStructureType rootType, + VkQueueFamilyCheckpointProperties2NV* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -16220,50 +19364,29 @@ void unmarshal_VkCommandBufferSubmitInfoKHR(VulkanStream* vkStream, VkStructureT *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - uint64_t cgen_var_0; - vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); - vkStream->handleMapping()->mapHandles_u64_VkCommandBuffer( - &cgen_var_0, (VkCommandBuffer*)&forUnmarshaling->commandBuffer, 1); - vkStream->read((uint32_t*)&forUnmarshaling->deviceMask, sizeof(uint32_t)); + vkStream->read((VkPipelineStageFlags2*)&forUnmarshaling->checkpointExecutionStageMask, + sizeof(VkPipelineStageFlags2)); } -void marshal_VkSubmitInfo2KHR(VulkanStream* vkStream, VkStructureType rootType, - const VkSubmitInfo2KHR* forMarshaling) { +void marshal_VkCheckpointData2NV(VulkanStream* vkStream, VkStructureType rootType, + const VkCheckpointData2NV* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkSubmitFlagsKHR*)&forMarshaling->flags, sizeof(VkSubmitFlagsKHR)); - vkStream->write((uint32_t*)&forMarshaling->waitSemaphoreInfoCount, sizeof(uint32_t)); - if (forMarshaling) { - for (uint32_t i = 0; i < (uint32_t)forMarshaling->waitSemaphoreInfoCount; ++i) { - marshal_VkSemaphoreSubmitInfoKHR( - vkStream, rootType, - (const VkSemaphoreSubmitInfoKHR*)(forMarshaling->pWaitSemaphoreInfos + i)); - } - } - vkStream->write((uint32_t*)&forMarshaling->commandBufferInfoCount, sizeof(uint32_t)); - if (forMarshaling) { - for (uint32_t i = 0; i < (uint32_t)forMarshaling->commandBufferInfoCount; ++i) { - marshal_VkCommandBufferSubmitInfoKHR( - vkStream, rootType, - (const VkCommandBufferSubmitInfoKHR*)(forMarshaling->pCommandBufferInfos + i)); - } - } - vkStream->write((uint32_t*)&forMarshaling->signalSemaphoreInfoCount, sizeof(uint32_t)); - if (forMarshaling) { - for (uint32_t i = 0; i < (uint32_t)forMarshaling->signalSemaphoreInfoCount; ++i) { - marshal_VkSemaphoreSubmitInfoKHR( - vkStream, rootType, - (const VkSemaphoreSubmitInfoKHR*)(forMarshaling->pSignalSemaphoreInfos + i)); - } + vkStream->write((VkPipelineStageFlags2*)&forMarshaling->stage, sizeof(VkPipelineStageFlags2)); + // WARNING PTR CHECK + uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pCheckpointMarker; + vkStream->putBe64(cgen_var_0); + if (forMarshaling->pCheckpointMarker) { + vkStream->write((void*)forMarshaling->pCheckpointMarker, sizeof(uint8_t)); } } -void unmarshal_VkSubmitInfo2KHR(VulkanStream* vkStream, VkStructureType rootType, - VkSubmitInfo2KHR* forUnmarshaling) { +void unmarshal_VkCheckpointData2NV(VulkanStream* vkStream, VkStructureType rootType, + VkCheckpointData2NV* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -16282,57 +19405,32 @@ void unmarshal_VkSubmitInfo2KHR(VulkanStream* vkStream, VkStructureType rootType *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((VkSubmitFlagsKHR*)&forUnmarshaling->flags, sizeof(VkSubmitFlagsKHR)); - vkStream->read((uint32_t*)&forUnmarshaling->waitSemaphoreInfoCount, sizeof(uint32_t)); - vkStream->alloc( - (void**)&forUnmarshaling->pWaitSemaphoreInfos, - forUnmarshaling->waitSemaphoreInfoCount * sizeof(const VkSemaphoreSubmitInfoKHR)); - if (forUnmarshaling) { - for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->waitSemaphoreInfoCount; ++i) { - unmarshal_VkSemaphoreSubmitInfoKHR( - vkStream, rootType, - (VkSemaphoreSubmitInfoKHR*)(forUnmarshaling->pWaitSemaphoreInfos + i)); - } - } - vkStream->read((uint32_t*)&forUnmarshaling->commandBufferInfoCount, sizeof(uint32_t)); - vkStream->alloc( - (void**)&forUnmarshaling->pCommandBufferInfos, - forUnmarshaling->commandBufferInfoCount * sizeof(const VkCommandBufferSubmitInfoKHR)); - if (forUnmarshaling) { - for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->commandBufferInfoCount; ++i) { - unmarshal_VkCommandBufferSubmitInfoKHR( - vkStream, rootType, - (VkCommandBufferSubmitInfoKHR*)(forUnmarshaling->pCommandBufferInfos + i)); - } - } - vkStream->read((uint32_t*)&forUnmarshaling->signalSemaphoreInfoCount, sizeof(uint32_t)); - vkStream->alloc( - (void**)&forUnmarshaling->pSignalSemaphoreInfos, - forUnmarshaling->signalSemaphoreInfoCount * sizeof(const VkSemaphoreSubmitInfoKHR)); - if (forUnmarshaling) { - for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->signalSemaphoreInfoCount; ++i) { - unmarshal_VkSemaphoreSubmitInfoKHR( - vkStream, rootType, - (VkSemaphoreSubmitInfoKHR*)(forUnmarshaling->pSignalSemaphoreInfos + i)); - } + vkStream->read((VkPipelineStageFlags2*)&forUnmarshaling->stage, sizeof(VkPipelineStageFlags2)); + // WARNING PTR CHECK + forUnmarshaling->pCheckpointMarker = (void*)(uintptr_t)vkStream->getBe64(); + if (forUnmarshaling->pCheckpointMarker) { + vkStream->alloc((void**)&forUnmarshaling->pCheckpointMarker, sizeof(uint8_t)); + vkStream->read((void*)forUnmarshaling->pCheckpointMarker, sizeof(uint8_t)); } } -void marshal_VkPhysicalDeviceSynchronization2FeaturesKHR( +#endif +#ifdef VK_KHR_fragment_shader_barycentric +void marshal_VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR( VulkanStream* vkStream, VkStructureType rootType, - const VkPhysicalDeviceSynchronization2FeaturesKHR* forMarshaling) { + const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkBool32*)&forMarshaling->synchronization2, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->fragmentShaderBarycentric, sizeof(VkBool32)); } -void unmarshal_VkPhysicalDeviceSynchronization2FeaturesKHR( +void unmarshal_VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR( VulkanStream* vkStream, VkStructureType rootType, - VkPhysicalDeviceSynchronization2FeaturesKHR* forUnmarshaling) { + VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -16351,25 +19449,25 @@ void unmarshal_VkPhysicalDeviceSynchronization2FeaturesKHR( *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((VkBool32*)&forUnmarshaling->synchronization2, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->fragmentShaderBarycentric, sizeof(VkBool32)); } -void marshal_VkQueueFamilyCheckpointProperties2NV( +void marshal_VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR( VulkanStream* vkStream, VkStructureType rootType, - const VkQueueFamilyCheckpointProperties2NV* forMarshaling) { + const VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkPipelineStageFlags2KHR*)&forMarshaling->checkpointExecutionStageMask, - sizeof(VkPipelineStageFlags2KHR)); + vkStream->write((VkBool32*)&forMarshaling->triStripVertexOrderIndependentOfProvokingVertex, + sizeof(VkBool32)); } -void unmarshal_VkQueueFamilyCheckpointProperties2NV( +void unmarshal_VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR( VulkanStream* vkStream, VkStructureType rootType, - VkQueueFamilyCheckpointProperties2NV* forUnmarshaling) { + VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -16388,56 +19486,8 @@ void unmarshal_VkQueueFamilyCheckpointProperties2NV( *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((VkPipelineStageFlags2KHR*)&forUnmarshaling->checkpointExecutionStageMask, - sizeof(VkPipelineStageFlags2KHR)); -} - -void marshal_VkCheckpointData2NV(VulkanStream* vkStream, VkStructureType rootType, - const VkCheckpointData2NV* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkPipelineStageFlags2KHR*)&forMarshaling->stage, - sizeof(VkPipelineStageFlags2KHR)); - // WARNING PTR CHECK - uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pCheckpointMarker; - vkStream->putBe64(cgen_var_0); - if (forMarshaling->pCheckpointMarker) { - vkStream->write((void*)forMarshaling->pCheckpointMarker, sizeof(uint8_t)); - } -} - -void unmarshal_VkCheckpointData2NV(VulkanStream* vkStream, VkStructureType rootType, - VkCheckpointData2NV* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->read((VkPipelineStageFlags2KHR*)&forUnmarshaling->stage, - sizeof(VkPipelineStageFlags2KHR)); - // WARNING PTR CHECK - forUnmarshaling->pCheckpointMarker = (void*)(uintptr_t)vkStream->getBe64(); - if (forUnmarshaling->pCheckpointMarker) { - vkStream->alloc((void**)&forUnmarshaling->pCheckpointMarker, sizeof(uint8_t)); - vkStream->read((void*)forUnmarshaling->pCheckpointMarker, sizeof(uint8_t)); - } + vkStream->read((VkBool32*)&forUnmarshaling->triStripVertexOrderIndependentOfProvokingVertex, + sizeof(VkBool32)); } #endif @@ -16480,44 +19530,6 @@ void unmarshal_VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR( #endif #ifdef VK_KHR_zero_initialize_workgroup_memory -void marshal_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR( - VulkanStream* vkStream, VkStructureType rootType, - const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkBool32*)&forMarshaling->shaderZeroInitializeWorkgroupMemory, - sizeof(VkBool32)); -} - -void unmarshal_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR( - VulkanStream* vkStream, VkStructureType rootType, - VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->read((VkBool32*)&forUnmarshaling->shaderZeroInitializeWorkgroupMemory, - sizeof(VkBool32)); -} - #endif #ifdef VK_KHR_workgroup_memory_explicit_layout void marshal_VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR( @@ -16570,531 +19582,27 @@ void unmarshal_VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR( #endif #ifdef VK_KHR_copy_commands2 -void marshal_VkBufferCopy2KHR(VulkanStream* vkStream, VkStructureType rootType, - const VkBufferCopy2KHR* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkDeviceSize*)&forMarshaling->srcOffset, sizeof(VkDeviceSize)); - vkStream->write((VkDeviceSize*)&forMarshaling->dstOffset, sizeof(VkDeviceSize)); - vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize)); -} - -void unmarshal_VkBufferCopy2KHR(VulkanStream* vkStream, VkStructureType rootType, - VkBufferCopy2KHR* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->read((VkDeviceSize*)&forUnmarshaling->srcOffset, sizeof(VkDeviceSize)); - vkStream->read((VkDeviceSize*)&forUnmarshaling->dstOffset, sizeof(VkDeviceSize)); - vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize)); -} - -void marshal_VkCopyBufferInfo2KHR(VulkanStream* vkStream, VkStructureType rootType, - const VkCopyBufferInfo2KHR* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - uint64_t cgen_var_0; - vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->srcBuffer, &cgen_var_0, 1); - vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); - uint64_t cgen_var_1; - vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->dstBuffer, &cgen_var_1, 1); - vkStream->write((uint64_t*)&cgen_var_1, 1 * 8); - vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t)); - if (forMarshaling) { - for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) { - marshal_VkBufferCopy2KHR(vkStream, rootType, - (const VkBufferCopy2KHR*)(forMarshaling->pRegions + i)); - } - } -} - -void unmarshal_VkCopyBufferInfo2KHR(VulkanStream* vkStream, VkStructureType rootType, - VkCopyBufferInfo2KHR* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - uint64_t cgen_var_0; - vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); - vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0, - (VkBuffer*)&forUnmarshaling->srcBuffer, 1); - uint64_t cgen_var_1; - vkStream->read((uint64_t*)&cgen_var_1, 1 * 8); - vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_1, - (VkBuffer*)&forUnmarshaling->dstBuffer, 1); - vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t)); - vkStream->alloc((void**)&forUnmarshaling->pRegions, - forUnmarshaling->regionCount * sizeof(const VkBufferCopy2KHR)); - if (forUnmarshaling) { - for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) { - unmarshal_VkBufferCopy2KHR(vkStream, rootType, - (VkBufferCopy2KHR*)(forUnmarshaling->pRegions + i)); - } - } -} - -void marshal_VkImageCopy2KHR(VulkanStream* vkStream, VkStructureType rootType, - const VkImageCopy2KHR* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - marshal_VkImageSubresourceLayers(vkStream, rootType, - (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource)); - marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->srcOffset)); - marshal_VkImageSubresourceLayers(vkStream, rootType, - (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource)); - marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->dstOffset)); - marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent)); -} - -void unmarshal_VkImageCopy2KHR(VulkanStream* vkStream, VkStructureType rootType, - VkImageCopy2KHR* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - unmarshal_VkImageSubresourceLayers( - vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource)); - unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->srcOffset)); - unmarshal_VkImageSubresourceLayers( - vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource)); - unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->dstOffset)); - unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->extent)); -} - -void marshal_VkCopyImageInfo2KHR(VulkanStream* vkStream, VkStructureType rootType, - const VkCopyImageInfo2KHR* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - uint64_t cgen_var_0; - vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->srcImage, &cgen_var_0, 1); - vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); - vkStream->write((VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout)); - uint64_t cgen_var_1; - vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->dstImage, &cgen_var_1, 1); - vkStream->write((uint64_t*)&cgen_var_1, 1 * 8); - vkStream->write((VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout)); - vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t)); - if (forMarshaling) { - for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) { - marshal_VkImageCopy2KHR(vkStream, rootType, - (const VkImageCopy2KHR*)(forMarshaling->pRegions + i)); - } - } -} - -void unmarshal_VkCopyImageInfo2KHR(VulkanStream* vkStream, VkStructureType rootType, - VkCopyImageInfo2KHR* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - uint64_t cgen_var_0; - vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); - vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0, - (VkImage*)&forUnmarshaling->srcImage, 1); - vkStream->read((VkImageLayout*)&forUnmarshaling->srcImageLayout, sizeof(VkImageLayout)); - uint64_t cgen_var_1; - vkStream->read((uint64_t*)&cgen_var_1, 1 * 8); - vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_1, - (VkImage*)&forUnmarshaling->dstImage, 1); - vkStream->read((VkImageLayout*)&forUnmarshaling->dstImageLayout, sizeof(VkImageLayout)); - vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t)); - vkStream->alloc((void**)&forUnmarshaling->pRegions, - forUnmarshaling->regionCount * sizeof(const VkImageCopy2KHR)); - if (forUnmarshaling) { - for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) { - unmarshal_VkImageCopy2KHR(vkStream, rootType, - (VkImageCopy2KHR*)(forUnmarshaling->pRegions + i)); - } - } -} - -void marshal_VkBufferImageCopy2KHR(VulkanStream* vkStream, VkStructureType rootType, - const VkBufferImageCopy2KHR* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkDeviceSize*)&forMarshaling->bufferOffset, sizeof(VkDeviceSize)); - vkStream->write((uint32_t*)&forMarshaling->bufferRowLength, sizeof(uint32_t)); - vkStream->write((uint32_t*)&forMarshaling->bufferImageHeight, sizeof(uint32_t)); - marshal_VkImageSubresourceLayers(vkStream, rootType, - (VkImageSubresourceLayers*)(&forMarshaling->imageSubresource)); - marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->imageOffset)); - marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->imageExtent)); -} - -void unmarshal_VkBufferImageCopy2KHR(VulkanStream* vkStream, VkStructureType rootType, - VkBufferImageCopy2KHR* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->read((VkDeviceSize*)&forUnmarshaling->bufferOffset, sizeof(VkDeviceSize)); - vkStream->read((uint32_t*)&forUnmarshaling->bufferRowLength, sizeof(uint32_t)); - vkStream->read((uint32_t*)&forUnmarshaling->bufferImageHeight, sizeof(uint32_t)); - unmarshal_VkImageSubresourceLayers( - vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->imageSubresource)); - unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->imageOffset)); - unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->imageExtent)); -} - -void marshal_VkCopyBufferToImageInfo2KHR(VulkanStream* vkStream, VkStructureType rootType, - const VkCopyBufferToImageInfo2KHR* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - uint64_t cgen_var_0; - vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->srcBuffer, &cgen_var_0, 1); - vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); - uint64_t cgen_var_1; - vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->dstImage, &cgen_var_1, 1); - vkStream->write((uint64_t*)&cgen_var_1, 1 * 8); - vkStream->write((VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout)); - vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t)); - if (forMarshaling) { - for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) { - marshal_VkBufferImageCopy2KHR( - vkStream, rootType, (const VkBufferImageCopy2KHR*)(forMarshaling->pRegions + i)); - } - } -} - -void unmarshal_VkCopyBufferToImageInfo2KHR(VulkanStream* vkStream, VkStructureType rootType, - VkCopyBufferToImageInfo2KHR* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - uint64_t cgen_var_0; - vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); - vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0, - (VkBuffer*)&forUnmarshaling->srcBuffer, 1); - uint64_t cgen_var_1; - vkStream->read((uint64_t*)&cgen_var_1, 1 * 8); - vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_1, - (VkImage*)&forUnmarshaling->dstImage, 1); - vkStream->read((VkImageLayout*)&forUnmarshaling->dstImageLayout, sizeof(VkImageLayout)); - vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t)); - vkStream->alloc((void**)&forUnmarshaling->pRegions, - forUnmarshaling->regionCount * sizeof(const VkBufferImageCopy2KHR)); - if (forUnmarshaling) { - for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) { - unmarshal_VkBufferImageCopy2KHR( - vkStream, rootType, (VkBufferImageCopy2KHR*)(forUnmarshaling->pRegions + i)); - } - } -} - -void marshal_VkCopyImageToBufferInfo2KHR(VulkanStream* vkStream, VkStructureType rootType, - const VkCopyImageToBufferInfo2KHR* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - uint64_t cgen_var_0; - vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->srcImage, &cgen_var_0, 1); - vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); - vkStream->write((VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout)); - uint64_t cgen_var_1; - vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->dstBuffer, &cgen_var_1, 1); - vkStream->write((uint64_t*)&cgen_var_1, 1 * 8); - vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t)); - if (forMarshaling) { - for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) { - marshal_VkBufferImageCopy2KHR( - vkStream, rootType, (const VkBufferImageCopy2KHR*)(forMarshaling->pRegions + i)); - } - } -} - -void unmarshal_VkCopyImageToBufferInfo2KHR(VulkanStream* vkStream, VkStructureType rootType, - VkCopyImageToBufferInfo2KHR* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - uint64_t cgen_var_0; - vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); - vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0, - (VkImage*)&forUnmarshaling->srcImage, 1); - vkStream->read((VkImageLayout*)&forUnmarshaling->srcImageLayout, sizeof(VkImageLayout)); - uint64_t cgen_var_1; - vkStream->read((uint64_t*)&cgen_var_1, 1 * 8); - vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_1, - (VkBuffer*)&forUnmarshaling->dstBuffer, 1); - vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t)); - vkStream->alloc((void**)&forUnmarshaling->pRegions, - forUnmarshaling->regionCount * sizeof(const VkBufferImageCopy2KHR)); - if (forUnmarshaling) { - for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) { - unmarshal_VkBufferImageCopy2KHR( - vkStream, rootType, (VkBufferImageCopy2KHR*)(forUnmarshaling->pRegions + i)); - } - } -} - -void marshal_VkImageBlit2KHR(VulkanStream* vkStream, VkStructureType rootType, - const VkImageBlit2KHR* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - marshal_VkImageSubresourceLayers(vkStream, rootType, - (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource)); - for (uint32_t i = 0; i < (uint32_t)2; ++i) { - marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forMarshaling->srcOffsets + i)); - } - marshal_VkImageSubresourceLayers(vkStream, rootType, - (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource)); - for (uint32_t i = 0; i < (uint32_t)2; ++i) { - marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forMarshaling->dstOffsets + i)); - } -} - -void unmarshal_VkImageBlit2KHR(VulkanStream* vkStream, VkStructureType rootType, - VkImageBlit2KHR* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - unmarshal_VkImageSubresourceLayers( - vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource)); - for (uint32_t i = 0; i < (uint32_t)2; ++i) { - unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forUnmarshaling->srcOffsets + i)); - } - unmarshal_VkImageSubresourceLayers( - vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource)); - for (uint32_t i = 0; i < (uint32_t)2; ++i) { - unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(forUnmarshaling->dstOffsets + i)); - } -} - -void marshal_VkBlitImageInfo2KHR(VulkanStream* vkStream, VkStructureType rootType, - const VkBlitImageInfo2KHR* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - uint64_t cgen_var_0; - vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->srcImage, &cgen_var_0, 1); - vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); - vkStream->write((VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout)); - uint64_t cgen_var_1; - vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->dstImage, &cgen_var_1, 1); - vkStream->write((uint64_t*)&cgen_var_1, 1 * 8); - vkStream->write((VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout)); - vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t)); - if (forMarshaling) { - for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) { - marshal_VkImageBlit2KHR(vkStream, rootType, - (const VkImageBlit2KHR*)(forMarshaling->pRegions + i)); - } - } - vkStream->write((VkFilter*)&forMarshaling->filter, sizeof(VkFilter)); -} - -void unmarshal_VkBlitImageInfo2KHR(VulkanStream* vkStream, VkStructureType rootType, - VkBlitImageInfo2KHR* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - uint64_t cgen_var_0; - vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); - vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0, - (VkImage*)&forUnmarshaling->srcImage, 1); - vkStream->read((VkImageLayout*)&forUnmarshaling->srcImageLayout, sizeof(VkImageLayout)); - uint64_t cgen_var_1; - vkStream->read((uint64_t*)&cgen_var_1, 1 * 8); - vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_1, - (VkImage*)&forUnmarshaling->dstImage, 1); - vkStream->read((VkImageLayout*)&forUnmarshaling->dstImageLayout, sizeof(VkImageLayout)); - vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t)); - vkStream->alloc((void**)&forUnmarshaling->pRegions, - forUnmarshaling->regionCount * sizeof(const VkImageBlit2KHR)); - if (forUnmarshaling) { - for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) { - unmarshal_VkImageBlit2KHR(vkStream, rootType, - (VkImageBlit2KHR*)(forUnmarshaling->pRegions + i)); - } - } - vkStream->read((VkFilter*)&forUnmarshaling->filter, sizeof(VkFilter)); -} - -void marshal_VkImageResolve2KHR(VulkanStream* vkStream, VkStructureType rootType, - const VkImageResolve2KHR* forMarshaling) { +#endif +#ifdef VK_KHR_format_feature_flags2 +#endif +#ifdef VK_KHR_ray_tracing_maintenance1 +void marshal_VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - marshal_VkImageSubresourceLayers(vkStream, rootType, - (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource)); - marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->srcOffset)); - marshal_VkImageSubresourceLayers(vkStream, rootType, - (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource)); - marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->dstOffset)); - marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent)); + vkStream->write((VkBool32*)&forMarshaling->rayTracingMaintenance1, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->rayTracingPipelineTraceRaysIndirect2, + sizeof(VkBool32)); } -void unmarshal_VkImageResolve2KHR(VulkanStream* vkStream, VkStructureType rootType, - VkImageResolve2KHR* forUnmarshaling) { +void unmarshal_VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -17113,144 +19621,89 @@ void unmarshal_VkImageResolve2KHR(VulkanStream* vkStream, VkStructureType rootTy *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - unmarshal_VkImageSubresourceLayers( - vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource)); - unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->srcOffset)); - unmarshal_VkImageSubresourceLayers( - vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource)); - unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->dstOffset)); - unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->extent)); + vkStream->read((VkBool32*)&forUnmarshaling->rayTracingMaintenance1, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->rayTracingPipelineTraceRaysIndirect2, + sizeof(VkBool32)); } -void marshal_VkResolveImageInfo2KHR(VulkanStream* vkStream, VkStructureType rootType, - const VkResolveImageInfo2KHR* forMarshaling) { +void marshal_VkTraceRaysIndirectCommand2KHR(VulkanStream* vkStream, VkStructureType rootType, + const VkTraceRaysIndirectCommand2KHR* forMarshaling) { (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - uint64_t cgen_var_0; - vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->srcImage, &cgen_var_0, 1); - vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); - vkStream->write((VkImageLayout*)&forMarshaling->srcImageLayout, sizeof(VkImageLayout)); - uint64_t cgen_var_1; - vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->dstImage, &cgen_var_1, 1); - vkStream->write((uint64_t*)&cgen_var_1, 1 * 8); - vkStream->write((VkImageLayout*)&forMarshaling->dstImageLayout, sizeof(VkImageLayout)); - vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t)); - if (forMarshaling) { - for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) { - marshal_VkImageResolve2KHR(vkStream, rootType, - (const VkImageResolve2KHR*)(forMarshaling->pRegions + i)); - } - } + vkStream->write((VkDeviceAddress*)&forMarshaling->raygenShaderRecordAddress, + sizeof(VkDeviceAddress)); + vkStream->write((VkDeviceSize*)&forMarshaling->raygenShaderRecordSize, sizeof(VkDeviceSize)); + vkStream->write((VkDeviceAddress*)&forMarshaling->missShaderBindingTableAddress, + sizeof(VkDeviceAddress)); + vkStream->write((VkDeviceSize*)&forMarshaling->missShaderBindingTableSize, + sizeof(VkDeviceSize)); + vkStream->write((VkDeviceSize*)&forMarshaling->missShaderBindingTableStride, + sizeof(VkDeviceSize)); + vkStream->write((VkDeviceAddress*)&forMarshaling->hitShaderBindingTableAddress, + sizeof(VkDeviceAddress)); + vkStream->write((VkDeviceSize*)&forMarshaling->hitShaderBindingTableSize, sizeof(VkDeviceSize)); + vkStream->write((VkDeviceSize*)&forMarshaling->hitShaderBindingTableStride, + sizeof(VkDeviceSize)); + vkStream->write((VkDeviceAddress*)&forMarshaling->callableShaderBindingTableAddress, + sizeof(VkDeviceAddress)); + vkStream->write((VkDeviceSize*)&forMarshaling->callableShaderBindingTableSize, + sizeof(VkDeviceSize)); + vkStream->write((VkDeviceSize*)&forMarshaling->callableShaderBindingTableStride, + sizeof(VkDeviceSize)); + vkStream->write((uint32_t*)&forMarshaling->width, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->height, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->depth, sizeof(uint32_t)); } -void unmarshal_VkResolveImageInfo2KHR(VulkanStream* vkStream, VkStructureType rootType, - VkResolveImageInfo2KHR* forUnmarshaling) { +void unmarshal_VkTraceRaysIndirectCommand2KHR(VulkanStream* vkStream, VkStructureType rootType, + VkTraceRaysIndirectCommand2KHR* forUnmarshaling) { (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - uint64_t cgen_var_0; - vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); - vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0, - (VkImage*)&forUnmarshaling->srcImage, 1); - vkStream->read((VkImageLayout*)&forUnmarshaling->srcImageLayout, sizeof(VkImageLayout)); - uint64_t cgen_var_1; - vkStream->read((uint64_t*)&cgen_var_1, 1 * 8); - vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_1, - (VkImage*)&forUnmarshaling->dstImage, 1); - vkStream->read((VkImageLayout*)&forUnmarshaling->dstImageLayout, sizeof(VkImageLayout)); - vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t)); - vkStream->alloc((void**)&forUnmarshaling->pRegions, - forUnmarshaling->regionCount * sizeof(const VkImageResolve2KHR)); - if (forUnmarshaling) { - for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) { - unmarshal_VkImageResolve2KHR(vkStream, rootType, - (VkImageResolve2KHR*)(forUnmarshaling->pRegions + i)); - } - } + vkStream->read((VkDeviceAddress*)&forUnmarshaling->raygenShaderRecordAddress, + sizeof(VkDeviceAddress)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->raygenShaderRecordSize, sizeof(VkDeviceSize)); + vkStream->read((VkDeviceAddress*)&forUnmarshaling->missShaderBindingTableAddress, + sizeof(VkDeviceAddress)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->missShaderBindingTableSize, + sizeof(VkDeviceSize)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->missShaderBindingTableStride, + sizeof(VkDeviceSize)); + vkStream->read((VkDeviceAddress*)&forUnmarshaling->hitShaderBindingTableAddress, + sizeof(VkDeviceAddress)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->hitShaderBindingTableSize, + sizeof(VkDeviceSize)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->hitShaderBindingTableStride, + sizeof(VkDeviceSize)); + vkStream->read((VkDeviceAddress*)&forUnmarshaling->callableShaderBindingTableAddress, + sizeof(VkDeviceAddress)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->callableShaderBindingTableSize, + sizeof(VkDeviceSize)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->callableShaderBindingTableStride, + sizeof(VkDeviceSize)); + vkStream->read((uint32_t*)&forUnmarshaling->width, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->height, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->depth, sizeof(uint32_t)); } #endif -#ifdef VK_KHR_format_feature_flags2 -void marshal_VkFormatProperties3KHR(VulkanStream* vkStream, VkStructureType rootType, - const VkFormatProperties3KHR* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkFormatFeatureFlags2KHR*)&forMarshaling->linearTilingFeatures, - sizeof(VkFormatFeatureFlags2KHR)); - vkStream->write((VkFormatFeatureFlags2KHR*)&forMarshaling->optimalTilingFeatures, - sizeof(VkFormatFeatureFlags2KHR)); - vkStream->write((VkFormatFeatureFlags2KHR*)&forMarshaling->bufferFeatures, - sizeof(VkFormatFeatureFlags2KHR)); -} - -void unmarshal_VkFormatProperties3KHR(VulkanStream* vkStream, VkStructureType rootType, - VkFormatProperties3KHR* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->read((VkFormatFeatureFlags2KHR*)&forUnmarshaling->linearTilingFeatures, - sizeof(VkFormatFeatureFlags2KHR)); - vkStream->read((VkFormatFeatureFlags2KHR*)&forUnmarshaling->optimalTilingFeatures, - sizeof(VkFormatFeatureFlags2KHR)); - vkStream->read((VkFormatFeatureFlags2KHR*)&forUnmarshaling->bufferFeatures, - sizeof(VkFormatFeatureFlags2KHR)); -} - +#ifdef VK_KHR_portability_enumeration #endif #ifdef VK_KHR_maintenance4 -void marshal_VkPhysicalDeviceMaintenance4FeaturesKHR( +#endif +#ifdef VK_KHR_ray_tracing_position_fetch +void marshal_VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR( VulkanStream* vkStream, VkStructureType rootType, - const VkPhysicalDeviceMaintenance4FeaturesKHR* forMarshaling) { + const VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkBool32*)&forMarshaling->maintenance4, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->rayTracingPositionFetch, sizeof(VkBool32)); } -void unmarshal_VkPhysicalDeviceMaintenance4FeaturesKHR( +void unmarshal_VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR( VulkanStream* vkStream, VkStructureType rootType, - VkPhysicalDeviceMaintenance4FeaturesKHR* forUnmarshaling) { + VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -17269,61 +19722,48 @@ void unmarshal_VkPhysicalDeviceMaintenance4FeaturesKHR( *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((VkBool32*)&forUnmarshaling->maintenance4, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->rayTracingPositionFetch, sizeof(VkBool32)); } -void marshal_VkPhysicalDeviceMaintenance4PropertiesKHR( - VulkanStream* vkStream, VkStructureType rootType, - const VkPhysicalDeviceMaintenance4PropertiesKHR* forMarshaling) { +#endif +#ifdef VK_ANDROID_native_buffer +void marshal_VkNativeBufferUsage2ANDROID(VulkanStream* vkStream, VkStructureType rootType, + const VkNativeBufferUsage2ANDROID* forMarshaling) { (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkDeviceSize*)&forMarshaling->maxBufferSize, sizeof(VkDeviceSize)); + vkStream->write((uint64_t*)&forMarshaling->consumer, sizeof(uint64_t)); + vkStream->write((uint64_t*)&forMarshaling->producer, sizeof(uint64_t)); } -void unmarshal_VkPhysicalDeviceMaintenance4PropertiesKHR( - VulkanStream* vkStream, VkStructureType rootType, - VkPhysicalDeviceMaintenance4PropertiesKHR* forUnmarshaling) { +void unmarshal_VkNativeBufferUsage2ANDROID(VulkanStream* vkStream, VkStructureType rootType, + VkNativeBufferUsage2ANDROID* forUnmarshaling) { (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->read((VkDeviceSize*)&forUnmarshaling->maxBufferSize, sizeof(VkDeviceSize)); + vkStream->read((uint64_t*)&forUnmarshaling->consumer, sizeof(uint64_t)); + vkStream->read((uint64_t*)&forUnmarshaling->producer, sizeof(uint64_t)); } -void marshal_VkDeviceBufferMemoryRequirementsKHR( - VulkanStream* vkStream, VkStructureType rootType, - const VkDeviceBufferMemoryRequirementsKHR* forMarshaling) { +void marshal_VkNativeBufferANDROID(VulkanStream* vkStream, VkStructureType rootType, + const VkNativeBufferANDROID* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - marshal_VkBufferCreateInfo(vkStream, rootType, - (const VkBufferCreateInfo*)(forMarshaling->pCreateInfo)); + // WARNING PTR CHECK + uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->handle; + vkStream->putBe64(cgen_var_0); + if (forMarshaling->handle) { + vkStream->write((const uint32_t*)forMarshaling->handle, sizeof(const uint32_t)); + } + vkStream->write((int*)&forMarshaling->stride, sizeof(int)); + vkStream->write((int*)&forMarshaling->format, sizeof(int)); + vkStream->write((int*)&forMarshaling->usage, sizeof(int)); + marshal_VkNativeBufferUsage2ANDROID(vkStream, rootType, + (VkNativeBufferUsage2ANDROID*)(&forMarshaling->usage2)); } -void unmarshal_VkDeviceBufferMemoryRequirementsKHR( - VulkanStream* vkStream, VkStructureType rootType, - VkDeviceBufferMemoryRequirementsKHR* forUnmarshaling) { +void unmarshal_VkNativeBufferANDROID(VulkanStream* vkStream, VkStructureType rootType, + VkNativeBufferANDROID* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -17342,29 +19782,35 @@ void unmarshal_VkDeviceBufferMemoryRequirementsKHR( *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->alloc((void**)&forUnmarshaling->pCreateInfo, sizeof(const VkBufferCreateInfo)); - unmarshal_VkBufferCreateInfo(vkStream, rootType, - (VkBufferCreateInfo*)(forUnmarshaling->pCreateInfo)); + // WARNING PTR CHECK + forUnmarshaling->handle = (const uint32_t*)(uintptr_t)vkStream->getBe64(); + if (forUnmarshaling->handle) { + vkStream->alloc((void**)&forUnmarshaling->handle, sizeof(const uint32_t)); + vkStream->read((uint32_t*)forUnmarshaling->handle, sizeof(const uint32_t)); + } + vkStream->read((int*)&forUnmarshaling->stride, sizeof(int)); + vkStream->read((int*)&forUnmarshaling->format, sizeof(int)); + vkStream->read((int*)&forUnmarshaling->usage, sizeof(int)); + unmarshal_VkNativeBufferUsage2ANDROID(vkStream, rootType, + (VkNativeBufferUsage2ANDROID*)(&forUnmarshaling->usage2)); } -void marshal_VkDeviceImageMemoryRequirementsKHR( +void marshal_VkSwapchainImageCreateInfoANDROID( VulkanStream* vkStream, VkStructureType rootType, - const VkDeviceImageMemoryRequirementsKHR* forMarshaling) { + const VkSwapchainImageCreateInfoANDROID* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - marshal_VkImageCreateInfo(vkStream, rootType, - (const VkImageCreateInfo*)(forMarshaling->pCreateInfo)); - vkStream->write((VkImageAspectFlagBits*)&forMarshaling->planeAspect, - sizeof(VkImageAspectFlagBits)); + vkStream->write((VkSwapchainImageUsageFlagsANDROID*)&forMarshaling->usage, + sizeof(VkSwapchainImageUsageFlagsANDROID)); } -void unmarshal_VkDeviceImageMemoryRequirementsKHR( +void unmarshal_VkSwapchainImageCreateInfoANDROID( VulkanStream* vkStream, VkStructureType rootType, - VkDeviceImageMemoryRequirementsKHR* forUnmarshaling) { + VkSwapchainImageCreateInfoANDROID* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -17383,38 +19829,25 @@ void unmarshal_VkDeviceImageMemoryRequirementsKHR( *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->alloc((void**)&forUnmarshaling->pCreateInfo, sizeof(const VkImageCreateInfo)); - unmarshal_VkImageCreateInfo(vkStream, rootType, - (VkImageCreateInfo*)(forUnmarshaling->pCreateInfo)); - vkStream->read((VkImageAspectFlagBits*)&forUnmarshaling->planeAspect, - sizeof(VkImageAspectFlagBits)); + vkStream->read((VkSwapchainImageUsageFlagsANDROID*)&forUnmarshaling->usage, + sizeof(VkSwapchainImageUsageFlagsANDROID)); } -#endif -#ifdef VK_ANDROID_native_buffer -void marshal_VkNativeBufferANDROID(VulkanStream* vkStream, VkStructureType rootType, - const VkNativeBufferANDROID* forMarshaling) { +void marshal_VkPhysicalDevicePresentationPropertiesANDROID( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDevicePresentationPropertiesANDROID* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - // WARNING PTR CHECK - uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->handle; - vkStream->putBe64(cgen_var_0); - if (forMarshaling->handle) { - vkStream->write((const uint32_t*)forMarshaling->handle, sizeof(const uint32_t)); - } - vkStream->write((int*)&forMarshaling->stride, sizeof(int)); - vkStream->write((int*)&forMarshaling->format, sizeof(int)); - vkStream->write((int*)&forMarshaling->usage, sizeof(int)); - vkStream->write((uint64_t*)&forMarshaling->consumer, sizeof(uint64_t)); - vkStream->write((uint64_t*)&forMarshaling->producer, sizeof(uint64_t)); + vkStream->write((VkBool32*)&forMarshaling->sharedImage, sizeof(VkBool32)); } -void unmarshal_VkNativeBufferANDROID(VulkanStream* vkStream, VkStructureType rootType, - VkNativeBufferANDROID* forUnmarshaling) { +void unmarshal_VkPhysicalDevicePresentationPropertiesANDROID( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDevicePresentationPropertiesANDROID* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -17433,17 +19866,7 @@ void unmarshal_VkNativeBufferANDROID(VulkanStream* vkStream, VkStructureType roo *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - // WARNING PTR CHECK - forUnmarshaling->handle = (const uint32_t*)(uintptr_t)vkStream->getBe64(); - if (forUnmarshaling->handle) { - vkStream->alloc((void**)&forUnmarshaling->handle, sizeof(const uint32_t)); - vkStream->read((uint32_t*)forUnmarshaling->handle, sizeof(const uint32_t)); - } - vkStream->read((int*)&forUnmarshaling->stride, sizeof(int)); - vkStream->read((int*)&forUnmarshaling->format, sizeof(int)); - vkStream->read((int*)&forUnmarshaling->usage, sizeof(int)); - vkStream->read((uint64_t*)&forUnmarshaling->consumer, sizeof(uint64_t)); - vkStream->read((uint64_t*)&forUnmarshaling->producer, sizeof(uint64_t)); + vkStream->read((VkBool32*)&forUnmarshaling->sharedImage, sizeof(VkBool32)); } #endif @@ -18188,19 +20611,15 @@ void marshal_VkVideoEncodeH264CapabilitiesEXT( marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); vkStream->write((VkVideoEncodeH264CapabilityFlagsEXT*)&forMarshaling->flags, sizeof(VkVideoEncodeH264CapabilityFlagsEXT)); - vkStream->write((VkVideoEncodeH264InputModeFlagsEXT*)&forMarshaling->inputModeFlags, - sizeof(VkVideoEncodeH264InputModeFlagsEXT)); - vkStream->write((VkVideoEncodeH264OutputModeFlagsEXT*)&forMarshaling->outputModeFlags, - sizeof(VkVideoEncodeH264OutputModeFlagsEXT)); - marshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->minPictureSizeInMbs)); - marshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->maxPictureSizeInMbs)); - marshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->inputImageDataAlignment)); - vkStream->write((uint8_t*)&forMarshaling->maxNumL0ReferenceForP, sizeof(uint8_t)); - vkStream->write((uint8_t*)&forMarshaling->maxNumL0ReferenceForB, sizeof(uint8_t)); - vkStream->write((uint8_t*)&forMarshaling->maxNumL1Reference, sizeof(uint8_t)); - vkStream->write((uint8_t*)&forMarshaling->qualityLevelCount, sizeof(uint8_t)); - marshal_VkExtensionProperties(vkStream, rootType, - (VkExtensionProperties*)(&forMarshaling->stdExtensionVersion)); + vkStream->write((uint32_t*)&forMarshaling->maxPPictureL0ReferenceCount, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxBPictureL0ReferenceCount, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxL1ReferenceCount, sizeof(uint32_t)); + vkStream->write((VkBool32*)&forMarshaling->motionVectorsOverPicBoundariesFlag, + sizeof(VkBool32)); + vkStream->write((uint32_t*)&forMarshaling->maxBytesPerPicDenom, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxBitsPerMbDenom, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->log2MaxMvLengthHorizontal, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->log2MaxMvLengthVertical, sizeof(uint32_t)); } void unmarshal_VkVideoEncodeH264CapabilitiesEXT(VulkanStream* vkStream, VkStructureType rootType, @@ -18225,66 +20644,15 @@ void unmarshal_VkVideoEncodeH264CapabilitiesEXT(VulkanStream* vkStream, VkStruct } vkStream->read((VkVideoEncodeH264CapabilityFlagsEXT*)&forUnmarshaling->flags, sizeof(VkVideoEncodeH264CapabilityFlagsEXT)); - vkStream->read((VkVideoEncodeH264InputModeFlagsEXT*)&forUnmarshaling->inputModeFlags, - sizeof(VkVideoEncodeH264InputModeFlagsEXT)); - vkStream->read((VkVideoEncodeH264OutputModeFlagsEXT*)&forUnmarshaling->outputModeFlags, - sizeof(VkVideoEncodeH264OutputModeFlagsEXT)); - unmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forUnmarshaling->minPictureSizeInMbs)); - unmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forUnmarshaling->maxPictureSizeInMbs)); - unmarshal_VkExtent2D(vkStream, rootType, - (VkExtent2D*)(&forUnmarshaling->inputImageDataAlignment)); - vkStream->read((uint8_t*)&forUnmarshaling->maxNumL0ReferenceForP, sizeof(uint8_t)); - vkStream->read((uint8_t*)&forUnmarshaling->maxNumL0ReferenceForB, sizeof(uint8_t)); - vkStream->read((uint8_t*)&forUnmarshaling->maxNumL1Reference, sizeof(uint8_t)); - vkStream->read((uint8_t*)&forUnmarshaling->qualityLevelCount, sizeof(uint8_t)); - unmarshal_VkExtensionProperties( - vkStream, rootType, (VkExtensionProperties*)(&forUnmarshaling->stdExtensionVersion)); -} - -void marshal_VkVideoEncodeH264SessionCreateInfoEXT( - VulkanStream* vkStream, VkStructureType rootType, - const VkVideoEncodeH264SessionCreateInfoEXT* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkVideoEncodeH264CreateFlagsEXT*)&forMarshaling->flags, - sizeof(VkVideoEncodeH264CreateFlagsEXT)); - marshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->maxPictureSizeInMbs)); - marshal_VkExtensionProperties( - vkStream, rootType, (const VkExtensionProperties*)(forMarshaling->pStdExtensionVersion)); -} - -void unmarshal_VkVideoEncodeH264SessionCreateInfoEXT( - VulkanStream* vkStream, VkStructureType rootType, - VkVideoEncodeH264SessionCreateInfoEXT* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->read((VkVideoEncodeH264CreateFlagsEXT*)&forUnmarshaling->flags, - sizeof(VkVideoEncodeH264CreateFlagsEXT)); - unmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forUnmarshaling->maxPictureSizeInMbs)); - vkStream->alloc((void**)&forUnmarshaling->pStdExtensionVersion, - sizeof(const VkExtensionProperties)); - unmarshal_VkExtensionProperties( - vkStream, rootType, (VkExtensionProperties*)(forUnmarshaling->pStdExtensionVersion)); + vkStream->read((uint32_t*)&forUnmarshaling->maxPPictureL0ReferenceCount, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxBPictureL0ReferenceCount, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxL1ReferenceCount, sizeof(uint32_t)); + vkStream->read((VkBool32*)&forUnmarshaling->motionVectorsOverPicBoundariesFlag, + sizeof(VkBool32)); + vkStream->read((uint32_t*)&forUnmarshaling->maxBytesPerPicDenom, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxBitsPerMbDenom, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->log2MaxMvLengthHorizontal, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->log2MaxMvLengthVertical, sizeof(uint32_t)); } void marshal_VkVideoEncodeH264SessionParametersAddInfoEXT( @@ -18296,22 +20664,22 @@ void marshal_VkVideoEncodeH264SessionParametersAddInfoEXT( rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((uint32_t*)&forMarshaling->spsStdCount, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->stdSPSCount, sizeof(uint32_t)); // WARNING PTR CHECK - uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pSpsStd; + uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pStdSPSs; vkStream->putBe64(cgen_var_0); - if (forMarshaling->pSpsStd) { + if (forMarshaling->pStdSPSs) { vkStream->write( - (const StdVideoH264SequenceParameterSet*)forMarshaling->pSpsStd, - forMarshaling->spsStdCount * sizeof(const StdVideoH264SequenceParameterSet)); + (const StdVideoH264SequenceParameterSet*)forMarshaling->pStdSPSs, + forMarshaling->stdSPSCount * sizeof(const StdVideoH264SequenceParameterSet)); } - vkStream->write((uint32_t*)&forMarshaling->ppsStdCount, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->stdPPSCount, sizeof(uint32_t)); // WARNING PTR CHECK - uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pPpsStd; + uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pStdPPSs; vkStream->putBe64(cgen_var_1); - if (forMarshaling->pPpsStd) { - vkStream->write((const StdVideoH264PictureParameterSet*)forMarshaling->pPpsStd, - forMarshaling->ppsStdCount * sizeof(const StdVideoH264PictureParameterSet)); + if (forMarshaling->pStdPPSs) { + vkStream->write((const StdVideoH264PictureParameterSet*)forMarshaling->pStdPPSs, + forMarshaling->stdPPSCount * sizeof(const StdVideoH264PictureParameterSet)); } } @@ -18336,29 +20704,29 @@ void unmarshal_VkVideoEncodeH264SessionParametersAddInfoEXT( *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((uint32_t*)&forUnmarshaling->spsStdCount, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->stdSPSCount, sizeof(uint32_t)); // WARNING PTR CHECK - forUnmarshaling->pSpsStd = + forUnmarshaling->pStdSPSs = (const StdVideoH264SequenceParameterSet*)(uintptr_t)vkStream->getBe64(); - if (forUnmarshaling->pSpsStd) { + if (forUnmarshaling->pStdSPSs) { vkStream->alloc( - (void**)&forUnmarshaling->pSpsStd, - forUnmarshaling->spsStdCount * sizeof(const StdVideoH264SequenceParameterSet)); + (void**)&forUnmarshaling->pStdSPSs, + forUnmarshaling->stdSPSCount * sizeof(const StdVideoH264SequenceParameterSet)); vkStream->read( - (StdVideoH264SequenceParameterSet*)forUnmarshaling->pSpsStd, - forUnmarshaling->spsStdCount * sizeof(const StdVideoH264SequenceParameterSet)); + (StdVideoH264SequenceParameterSet*)forUnmarshaling->pStdSPSs, + forUnmarshaling->stdSPSCount * sizeof(const StdVideoH264SequenceParameterSet)); } - vkStream->read((uint32_t*)&forUnmarshaling->ppsStdCount, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->stdPPSCount, sizeof(uint32_t)); // WARNING PTR CHECK - forUnmarshaling->pPpsStd = + forUnmarshaling->pStdPPSs = (const StdVideoH264PictureParameterSet*)(uintptr_t)vkStream->getBe64(); - if (forUnmarshaling->pPpsStd) { + if (forUnmarshaling->pStdPPSs) { vkStream->alloc( - (void**)&forUnmarshaling->pPpsStd, - forUnmarshaling->ppsStdCount * sizeof(const StdVideoH264PictureParameterSet)); + (void**)&forUnmarshaling->pStdPPSs, + forUnmarshaling->stdPPSCount * sizeof(const StdVideoH264PictureParameterSet)); vkStream->read( - (StdVideoH264PictureParameterSet*)forUnmarshaling->pPpsStd, - forUnmarshaling->ppsStdCount * sizeof(const StdVideoH264PictureParameterSet)); + (StdVideoH264PictureParameterSet*)forUnmarshaling->pStdPPSs, + forUnmarshaling->stdPPSCount * sizeof(const StdVideoH264PictureParameterSet)); } } @@ -18371,8 +20739,8 @@ void marshal_VkVideoEncodeH264SessionParametersCreateInfoEXT( rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((uint32_t*)&forMarshaling->maxSpsStdCount, sizeof(uint32_t)); - vkStream->write((uint32_t*)&forMarshaling->maxPpsStdCount, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxStdSPSCount, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxStdPPSCount, sizeof(uint32_t)); // WARNING PTR CHECK uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pParametersAddInfo; vkStream->putBe64(cgen_var_0); @@ -18405,8 +20773,8 @@ void unmarshal_VkVideoEncodeH264SessionParametersCreateInfoEXT( *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((uint32_t*)&forUnmarshaling->maxSpsStdCount, sizeof(uint32_t)); - vkStream->read((uint32_t*)&forUnmarshaling->maxPpsStdCount, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxStdSPSCount, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxStdPPSCount, sizeof(uint32_t)); // WARNING PTR CHECK forUnmarshaling->pParametersAddInfo = (const VkVideoEncodeH264SessionParametersAddInfoEXT*)(uintptr_t)vkStream->getBe64(); @@ -18419,21 +20787,31 @@ void unmarshal_VkVideoEncodeH264SessionParametersCreateInfoEXT( } } -void marshal_VkVideoEncodeH264DpbSlotInfoEXT(VulkanStream* vkStream, VkStructureType rootType, - const VkVideoEncodeH264DpbSlotInfoEXT* forMarshaling) { +void marshal_VkVideoEncodeH264NaluSliceInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkVideoEncodeH264NaluSliceInfoEXT* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((int8_t*)&forMarshaling->slotIndex, sizeof(int8_t)); - vkStream->write((const StdVideoEncodeH264PictureInfo*)forMarshaling->pStdPictureInfo, - sizeof(const StdVideoEncodeH264PictureInfo)); + vkStream->write((uint32_t*)&forMarshaling->mbCount, sizeof(uint32_t)); + // WARNING PTR CHECK + uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pStdReferenceFinalLists; + vkStream->putBe64(cgen_var_0); + if (forMarshaling->pStdReferenceFinalLists) { + vkStream->write( + (const StdVideoEncodeH264ReferenceListsInfo*)forMarshaling->pStdReferenceFinalLists, + sizeof(const StdVideoEncodeH264ReferenceListsInfo)); + } + vkStream->write((const StdVideoEncodeH264SliceHeader*)forMarshaling->pStdSliceHeader, + sizeof(const StdVideoEncodeH264SliceHeader)); } -void unmarshal_VkVideoEncodeH264DpbSlotInfoEXT(VulkanStream* vkStream, VkStructureType rootType, - VkVideoEncodeH264DpbSlotInfoEXT* forUnmarshaling) { +void unmarshal_VkVideoEncodeH264NaluSliceInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkVideoEncodeH264NaluSliceInfoEXT* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -18452,47 +20830,54 @@ void unmarshal_VkVideoEncodeH264DpbSlotInfoEXT(VulkanStream* vkStream, VkStructu *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((int8_t*)&forUnmarshaling->slotIndex, sizeof(int8_t)); - vkStream->alloc((void**)&forUnmarshaling->pStdPictureInfo, - sizeof(const StdVideoEncodeH264PictureInfo)); - vkStream->read((StdVideoEncodeH264PictureInfo*)forUnmarshaling->pStdPictureInfo, - sizeof(const StdVideoEncodeH264PictureInfo)); + vkStream->read((uint32_t*)&forUnmarshaling->mbCount, sizeof(uint32_t)); + // WARNING PTR CHECK + forUnmarshaling->pStdReferenceFinalLists = + (const StdVideoEncodeH264ReferenceListsInfo*)(uintptr_t)vkStream->getBe64(); + if (forUnmarshaling->pStdReferenceFinalLists) { + vkStream->alloc((void**)&forUnmarshaling->pStdReferenceFinalLists, + sizeof(const StdVideoEncodeH264ReferenceListsInfo)); + vkStream->read( + (StdVideoEncodeH264ReferenceListsInfo*)forUnmarshaling->pStdReferenceFinalLists, + sizeof(const StdVideoEncodeH264ReferenceListsInfo)); + } + vkStream->alloc((void**)&forUnmarshaling->pStdSliceHeader, + sizeof(const StdVideoEncodeH264SliceHeader)); + vkStream->read((StdVideoEncodeH264SliceHeader*)forUnmarshaling->pStdSliceHeader, + sizeof(const StdVideoEncodeH264SliceHeader)); } -void marshal_VkVideoEncodeH264NaluSliceEXT(VulkanStream* vkStream, VkStructureType rootType, - const VkVideoEncodeH264NaluSliceEXT* forMarshaling) { +void marshal_VkVideoEncodeH264VclFrameInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkVideoEncodeH264VclFrameInfoEXT* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((const StdVideoEncodeH264SliceHeader*)forMarshaling->pSliceHeaderStd, - sizeof(const StdVideoEncodeH264SliceHeader)); - vkStream->write((uint32_t*)&forMarshaling->mbCount, sizeof(uint32_t)); - vkStream->write((uint8_t*)&forMarshaling->refFinalList0EntryCount, sizeof(uint8_t)); - if (forMarshaling) { - for (uint32_t i = 0; i < (uint32_t)forMarshaling->refFinalList0EntryCount; ++i) { - marshal_VkVideoEncodeH264DpbSlotInfoEXT( - vkStream, rootType, - (const VkVideoEncodeH264DpbSlotInfoEXT*)(forMarshaling->pRefFinalList0Entries + i)); - } + // WARNING PTR CHECK + uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pStdReferenceFinalLists; + vkStream->putBe64(cgen_var_0); + if (forMarshaling->pStdReferenceFinalLists) { + vkStream->write( + (const StdVideoEncodeH264ReferenceListsInfo*)forMarshaling->pStdReferenceFinalLists, + sizeof(const StdVideoEncodeH264ReferenceListsInfo)); } - vkStream->write((uint8_t*)&forMarshaling->refFinalList1EntryCount, sizeof(uint8_t)); + vkStream->write((uint32_t*)&forMarshaling->naluSliceEntryCount, sizeof(uint32_t)); if (forMarshaling) { - for (uint32_t i = 0; i < (uint32_t)forMarshaling->refFinalList1EntryCount; ++i) { - marshal_VkVideoEncodeH264DpbSlotInfoEXT( + for (uint32_t i = 0; i < (uint32_t)forMarshaling->naluSliceEntryCount; ++i) { + marshal_VkVideoEncodeH264NaluSliceInfoEXT( vkStream, rootType, - (const VkVideoEncodeH264DpbSlotInfoEXT*)(forMarshaling->pRefFinalList1Entries + i)); + (const VkVideoEncodeH264NaluSliceInfoEXT*)(forMarshaling->pNaluSliceEntries + i)); } } - vkStream->write((uint32_t*)&forMarshaling->precedingNaluBytes, sizeof(uint32_t)); - vkStream->write((uint8_t*)&forMarshaling->minQp, sizeof(uint8_t)); - vkStream->write((uint8_t*)&forMarshaling->maxQp, sizeof(uint8_t)); + vkStream->write((const StdVideoEncodeH264PictureInfo*)forMarshaling->pStdPictureInfo, + sizeof(const StdVideoEncodeH264PictureInfo)); } -void unmarshal_VkVideoEncodeH264NaluSliceEXT(VulkanStream* vkStream, VkStructureType rootType, - VkVideoEncodeH264NaluSliceEXT* forUnmarshaling) { +void unmarshal_VkVideoEncodeH264VclFrameInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkVideoEncodeH264VclFrameInfoEXT* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -18511,82 +20896,47 @@ void unmarshal_VkVideoEncodeH264NaluSliceEXT(VulkanStream* vkStream, VkStructure *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->alloc((void**)&forUnmarshaling->pSliceHeaderStd, - sizeof(const StdVideoEncodeH264SliceHeader)); - vkStream->read((StdVideoEncodeH264SliceHeader*)forUnmarshaling->pSliceHeaderStd, - sizeof(const StdVideoEncodeH264SliceHeader)); - vkStream->read((uint32_t*)&forUnmarshaling->mbCount, sizeof(uint32_t)); - vkStream->read((uint8_t*)&forUnmarshaling->refFinalList0EntryCount, sizeof(uint8_t)); - vkStream->alloc( - (void**)&forUnmarshaling->pRefFinalList0Entries, - forUnmarshaling->refFinalList0EntryCount * sizeof(const VkVideoEncodeH264DpbSlotInfoEXT)); - if (forUnmarshaling) { - for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->refFinalList0EntryCount; ++i) { - unmarshal_VkVideoEncodeH264DpbSlotInfoEXT( - vkStream, rootType, - (VkVideoEncodeH264DpbSlotInfoEXT*)(forUnmarshaling->pRefFinalList0Entries + i)); - } + // WARNING PTR CHECK + forUnmarshaling->pStdReferenceFinalLists = + (const StdVideoEncodeH264ReferenceListsInfo*)(uintptr_t)vkStream->getBe64(); + if (forUnmarshaling->pStdReferenceFinalLists) { + vkStream->alloc((void**)&forUnmarshaling->pStdReferenceFinalLists, + sizeof(const StdVideoEncodeH264ReferenceListsInfo)); + vkStream->read( + (StdVideoEncodeH264ReferenceListsInfo*)forUnmarshaling->pStdReferenceFinalLists, + sizeof(const StdVideoEncodeH264ReferenceListsInfo)); } - vkStream->read((uint8_t*)&forUnmarshaling->refFinalList1EntryCount, sizeof(uint8_t)); + vkStream->read((uint32_t*)&forUnmarshaling->naluSliceEntryCount, sizeof(uint32_t)); vkStream->alloc( - (void**)&forUnmarshaling->pRefFinalList1Entries, - forUnmarshaling->refFinalList1EntryCount * sizeof(const VkVideoEncodeH264DpbSlotInfoEXT)); + (void**)&forUnmarshaling->pNaluSliceEntries, + forUnmarshaling->naluSliceEntryCount * sizeof(const VkVideoEncodeH264NaluSliceInfoEXT)); if (forUnmarshaling) { - for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->refFinalList1EntryCount; ++i) { - unmarshal_VkVideoEncodeH264DpbSlotInfoEXT( + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->naluSliceEntryCount; ++i) { + unmarshal_VkVideoEncodeH264NaluSliceInfoEXT( vkStream, rootType, - (VkVideoEncodeH264DpbSlotInfoEXT*)(forUnmarshaling->pRefFinalList1Entries + i)); + (VkVideoEncodeH264NaluSliceInfoEXT*)(forUnmarshaling->pNaluSliceEntries + i)); } } - vkStream->read((uint32_t*)&forUnmarshaling->precedingNaluBytes, sizeof(uint32_t)); - vkStream->read((uint8_t*)&forUnmarshaling->minQp, sizeof(uint8_t)); - vkStream->read((uint8_t*)&forUnmarshaling->maxQp, sizeof(uint8_t)); + vkStream->alloc((void**)&forUnmarshaling->pStdPictureInfo, + sizeof(const StdVideoEncodeH264PictureInfo)); + vkStream->read((StdVideoEncodeH264PictureInfo*)forUnmarshaling->pStdPictureInfo, + sizeof(const StdVideoEncodeH264PictureInfo)); } -void marshal_VkVideoEncodeH264VclFrameInfoEXT( - VulkanStream* vkStream, VkStructureType rootType, - const VkVideoEncodeH264VclFrameInfoEXT* forMarshaling) { +void marshal_VkVideoEncodeH264DpbSlotInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkVideoEncodeH264DpbSlotInfoEXT* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((uint8_t*)&forMarshaling->refDefaultFinalList0EntryCount, sizeof(uint8_t)); - if (forMarshaling) { - for (uint32_t i = 0; i < (uint32_t)forMarshaling->refDefaultFinalList0EntryCount; ++i) { - marshal_VkVideoEncodeH264DpbSlotInfoEXT( - vkStream, rootType, - (const VkVideoEncodeH264DpbSlotInfoEXT*)(forMarshaling - ->pRefDefaultFinalList0Entries + - i)); - } - } - vkStream->write((uint8_t*)&forMarshaling->refDefaultFinalList1EntryCount, sizeof(uint8_t)); - if (forMarshaling) { - for (uint32_t i = 0; i < (uint32_t)forMarshaling->refDefaultFinalList1EntryCount; ++i) { - marshal_VkVideoEncodeH264DpbSlotInfoEXT( - vkStream, rootType, - (const VkVideoEncodeH264DpbSlotInfoEXT*)(forMarshaling - ->pRefDefaultFinalList1Entries + - i)); - } - } - vkStream->write((uint32_t*)&forMarshaling->naluSliceEntryCount, sizeof(uint32_t)); - if (forMarshaling) { - for (uint32_t i = 0; i < (uint32_t)forMarshaling->naluSliceEntryCount; ++i) { - marshal_VkVideoEncodeH264NaluSliceEXT( - vkStream, rootType, - (const VkVideoEncodeH264NaluSliceEXT*)(forMarshaling->pNaluSliceEntries + i)); - } - } - marshal_VkVideoEncodeH264DpbSlotInfoEXT( - vkStream, rootType, - (const VkVideoEncodeH264DpbSlotInfoEXT*)(forMarshaling->pCurrentPictureInfo)); + vkStream->write((const StdVideoEncodeH264ReferenceInfo*)forMarshaling->pStdReferenceInfo, + sizeof(const StdVideoEncodeH264ReferenceInfo)); } -void unmarshal_VkVideoEncodeH264VclFrameInfoEXT(VulkanStream* vkStream, VkStructureType rootType, - VkVideoEncodeH264VclFrameInfoEXT* forUnmarshaling) { +void unmarshal_VkVideoEncodeH264DpbSlotInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkVideoEncodeH264DpbSlotInfoEXT* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -18605,67 +20955,26 @@ void unmarshal_VkVideoEncodeH264VclFrameInfoEXT(VulkanStream* vkStream, VkStruct *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((uint8_t*)&forUnmarshaling->refDefaultFinalList0EntryCount, sizeof(uint8_t)); - vkStream->alloc((void**)&forUnmarshaling->pRefDefaultFinalList0Entries, - forUnmarshaling->refDefaultFinalList0EntryCount * - sizeof(const VkVideoEncodeH264DpbSlotInfoEXT)); - if (forUnmarshaling) { - for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->refDefaultFinalList0EntryCount; ++i) { - unmarshal_VkVideoEncodeH264DpbSlotInfoEXT( - vkStream, rootType, - (VkVideoEncodeH264DpbSlotInfoEXT*)(forUnmarshaling->pRefDefaultFinalList0Entries + - i)); - } - } - vkStream->read((uint8_t*)&forUnmarshaling->refDefaultFinalList1EntryCount, sizeof(uint8_t)); - vkStream->alloc((void**)&forUnmarshaling->pRefDefaultFinalList1Entries, - forUnmarshaling->refDefaultFinalList1EntryCount * - sizeof(const VkVideoEncodeH264DpbSlotInfoEXT)); - if (forUnmarshaling) { - for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->refDefaultFinalList1EntryCount; ++i) { - unmarshal_VkVideoEncodeH264DpbSlotInfoEXT( - vkStream, rootType, - (VkVideoEncodeH264DpbSlotInfoEXT*)(forUnmarshaling->pRefDefaultFinalList1Entries + - i)); - } - } - vkStream->read((uint32_t*)&forUnmarshaling->naluSliceEntryCount, sizeof(uint32_t)); - vkStream->alloc( - (void**)&forUnmarshaling->pNaluSliceEntries, - forUnmarshaling->naluSliceEntryCount * sizeof(const VkVideoEncodeH264NaluSliceEXT)); - if (forUnmarshaling) { - for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->naluSliceEntryCount; ++i) { - unmarshal_VkVideoEncodeH264NaluSliceEXT( - vkStream, rootType, - (VkVideoEncodeH264NaluSliceEXT*)(forUnmarshaling->pNaluSliceEntries + i)); - } - } - vkStream->alloc((void**)&forUnmarshaling->pCurrentPictureInfo, - sizeof(const VkVideoEncodeH264DpbSlotInfoEXT)); - unmarshal_VkVideoEncodeH264DpbSlotInfoEXT( - vkStream, rootType, - (VkVideoEncodeH264DpbSlotInfoEXT*)(forUnmarshaling->pCurrentPictureInfo)); + vkStream->alloc((void**)&forUnmarshaling->pStdReferenceInfo, + sizeof(const StdVideoEncodeH264ReferenceInfo)); + vkStream->read((StdVideoEncodeH264ReferenceInfo*)forUnmarshaling->pStdReferenceInfo, + sizeof(const StdVideoEncodeH264ReferenceInfo)); } -void marshal_VkVideoEncodeH264EmitPictureParametersEXT( - VulkanStream* vkStream, VkStructureType rootType, - const VkVideoEncodeH264EmitPictureParametersEXT* forMarshaling) { +void marshal_VkVideoEncodeH264ProfileInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkVideoEncodeH264ProfileInfoEXT* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((uint8_t*)&forMarshaling->spsId, sizeof(uint8_t)); - vkStream->write((VkBool32*)&forMarshaling->emitSpsEnable, sizeof(VkBool32)); - vkStream->write((uint32_t*)&forMarshaling->ppsIdEntryCount, sizeof(uint32_t)); - vkStream->write((const uint8_t*)forMarshaling->ppsIdEntries, - forMarshaling->ppsIdEntryCount * sizeof(const uint8_t)); + vkStream->write((StdVideoH264ProfileIdc*)&forMarshaling->stdProfileIdc, + sizeof(StdVideoH264ProfileIdc)); } -void unmarshal_VkVideoEncodeH264EmitPictureParametersEXT( - VulkanStream* vkStream, VkStructureType rootType, - VkVideoEncodeH264EmitPictureParametersEXT* forUnmarshaling) { +void unmarshal_VkVideoEncodeH264ProfileInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkVideoEncodeH264ProfileInfoEXT* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -18684,29 +20993,30 @@ void unmarshal_VkVideoEncodeH264EmitPictureParametersEXT( *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((uint8_t*)&forUnmarshaling->spsId, sizeof(uint8_t)); - vkStream->read((VkBool32*)&forUnmarshaling->emitSpsEnable, sizeof(VkBool32)); - vkStream->read((uint32_t*)&forUnmarshaling->ppsIdEntryCount, sizeof(uint32_t)); - vkStream->alloc((void**)&forUnmarshaling->ppsIdEntries, - forUnmarshaling->ppsIdEntryCount * sizeof(const uint8_t)); - vkStream->read((uint8_t*)forUnmarshaling->ppsIdEntries, - forUnmarshaling->ppsIdEntryCount * sizeof(const uint8_t)); + vkStream->read((StdVideoH264ProfileIdc*)&forUnmarshaling->stdProfileIdc, + sizeof(StdVideoH264ProfileIdc)); } -void marshal_VkVideoEncodeH264ProfileEXT(VulkanStream* vkStream, VkStructureType rootType, - const VkVideoEncodeH264ProfileEXT* forMarshaling) { +void marshal_VkVideoEncodeH264RateControlInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkVideoEncodeH264RateControlInfoEXT* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((StdVideoH264ProfileIdc*)&forMarshaling->stdProfileIdc, - sizeof(StdVideoH264ProfileIdc)); + vkStream->write((uint32_t*)&forMarshaling->gopFrameCount, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->idrPeriod, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->consecutiveBFrameCount, sizeof(uint32_t)); + vkStream->write((VkVideoEncodeH264RateControlStructureEXT*)&forMarshaling->rateControlStructure, + sizeof(VkVideoEncodeH264RateControlStructureEXT)); + vkStream->write((uint32_t*)&forMarshaling->temporalLayerCount, sizeof(uint32_t)); } -void unmarshal_VkVideoEncodeH264ProfileEXT(VulkanStream* vkStream, VkStructureType rootType, - VkVideoEncodeH264ProfileEXT* forUnmarshaling) { +void unmarshal_VkVideoEncodeH264RateControlInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkVideoEncodeH264RateControlInfoEXT* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -18725,41 +21035,74 @@ void unmarshal_VkVideoEncodeH264ProfileEXT(VulkanStream* vkStream, VkStructureTy *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((StdVideoH264ProfileIdc*)&forUnmarshaling->stdProfileIdc, - sizeof(StdVideoH264ProfileIdc)); + vkStream->read((uint32_t*)&forUnmarshaling->gopFrameCount, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->idrPeriod, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->consecutiveBFrameCount, sizeof(uint32_t)); + vkStream->read( + (VkVideoEncodeH264RateControlStructureEXT*)&forUnmarshaling->rateControlStructure, + sizeof(VkVideoEncodeH264RateControlStructureEXT)); + vkStream->read((uint32_t*)&forUnmarshaling->temporalLayerCount, sizeof(uint32_t)); } -#endif -#ifdef VK_EXT_video_encode_h265 -void marshal_VkVideoEncodeH265CapabilitiesEXT( +void marshal_VkVideoEncodeH264QpEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkVideoEncodeH264QpEXT* forMarshaling) { + (void)rootType; + vkStream->write((int32_t*)&forMarshaling->qpI, sizeof(int32_t)); + vkStream->write((int32_t*)&forMarshaling->qpP, sizeof(int32_t)); + vkStream->write((int32_t*)&forMarshaling->qpB, sizeof(int32_t)); +} + +void unmarshal_VkVideoEncodeH264QpEXT(VulkanStream* vkStream, VkStructureType rootType, + VkVideoEncodeH264QpEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((int32_t*)&forUnmarshaling->qpI, sizeof(int32_t)); + vkStream->read((int32_t*)&forUnmarshaling->qpP, sizeof(int32_t)); + vkStream->read((int32_t*)&forUnmarshaling->qpB, sizeof(int32_t)); +} + +void marshal_VkVideoEncodeH264FrameSizeEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkVideoEncodeH264FrameSizeEXT* forMarshaling) { + (void)rootType; + vkStream->write((uint32_t*)&forMarshaling->frameISize, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->framePSize, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->frameBSize, sizeof(uint32_t)); +} + +void unmarshal_VkVideoEncodeH264FrameSizeEXT(VulkanStream* vkStream, VkStructureType rootType, + VkVideoEncodeH264FrameSizeEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((uint32_t*)&forUnmarshaling->frameISize, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->framePSize, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->frameBSize, sizeof(uint32_t)); +} + +void marshal_VkVideoEncodeH264RateControlLayerInfoEXT( VulkanStream* vkStream, VkStructureType rootType, - const VkVideoEncodeH265CapabilitiesEXT* forMarshaling) { + const VkVideoEncodeH264RateControlLayerInfoEXT* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkVideoEncodeH265CapabilityFlagsEXT*)&forMarshaling->flags, - sizeof(VkVideoEncodeH265CapabilityFlagsEXT)); - vkStream->write((VkVideoEncodeH265InputModeFlagsEXT*)&forMarshaling->inputModeFlags, - sizeof(VkVideoEncodeH265InputModeFlagsEXT)); - vkStream->write((VkVideoEncodeH265OutputModeFlagsEXT*)&forMarshaling->outputModeFlags, - sizeof(VkVideoEncodeH265OutputModeFlagsEXT)); - vkStream->write((VkVideoEncodeH265CtbSizeFlagsEXT*)&forMarshaling->ctbSizes, - sizeof(VkVideoEncodeH265CtbSizeFlagsEXT)); - marshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->inputImageDataAlignment)); - vkStream->write((uint8_t*)&forMarshaling->maxNumL0ReferenceForP, sizeof(uint8_t)); - vkStream->write((uint8_t*)&forMarshaling->maxNumL0ReferenceForB, sizeof(uint8_t)); - vkStream->write((uint8_t*)&forMarshaling->maxNumL1Reference, sizeof(uint8_t)); - vkStream->write((uint8_t*)&forMarshaling->maxNumSubLayers, sizeof(uint8_t)); - vkStream->write((uint8_t*)&forMarshaling->qualityLevelCount, sizeof(uint8_t)); - marshal_VkExtensionProperties(vkStream, rootType, - (VkExtensionProperties*)(&forMarshaling->stdExtensionVersion)); + vkStream->write((uint32_t*)&forMarshaling->temporalLayerId, sizeof(uint32_t)); + vkStream->write((VkBool32*)&forMarshaling->useInitialRcQp, sizeof(VkBool32)); + marshal_VkVideoEncodeH264QpEXT(vkStream, rootType, + (VkVideoEncodeH264QpEXT*)(&forMarshaling->initialRcQp)); + vkStream->write((VkBool32*)&forMarshaling->useMinQp, sizeof(VkBool32)); + marshal_VkVideoEncodeH264QpEXT(vkStream, rootType, + (VkVideoEncodeH264QpEXT*)(&forMarshaling->minQp)); + vkStream->write((VkBool32*)&forMarshaling->useMaxQp, sizeof(VkBool32)); + marshal_VkVideoEncodeH264QpEXT(vkStream, rootType, + (VkVideoEncodeH264QpEXT*)(&forMarshaling->maxQp)); + vkStream->write((VkBool32*)&forMarshaling->useMaxFrameSize, sizeof(VkBool32)); + marshal_VkVideoEncodeH264FrameSizeEXT( + vkStream, rootType, (VkVideoEncodeH264FrameSizeEXT*)(&forMarshaling->maxFrameSize)); } -void unmarshal_VkVideoEncodeH265CapabilitiesEXT(VulkanStream* vkStream, VkStructureType rootType, - VkVideoEncodeH265CapabilitiesEXT* forUnmarshaling) { +void unmarshal_VkVideoEncodeH264RateControlLayerInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkVideoEncodeH264RateControlLayerInfoEXT* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -18778,43 +21121,66 @@ void unmarshal_VkVideoEncodeH265CapabilitiesEXT(VulkanStream* vkStream, VkStruct *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((VkVideoEncodeH265CapabilityFlagsEXT*)&forUnmarshaling->flags, - sizeof(VkVideoEncodeH265CapabilityFlagsEXT)); - vkStream->read((VkVideoEncodeH265InputModeFlagsEXT*)&forUnmarshaling->inputModeFlags, - sizeof(VkVideoEncodeH265InputModeFlagsEXT)); - vkStream->read((VkVideoEncodeH265OutputModeFlagsEXT*)&forUnmarshaling->outputModeFlags, - sizeof(VkVideoEncodeH265OutputModeFlagsEXT)); - vkStream->read((VkVideoEncodeH265CtbSizeFlagsEXT*)&forUnmarshaling->ctbSizes, - sizeof(VkVideoEncodeH265CtbSizeFlagsEXT)); - unmarshal_VkExtent2D(vkStream, rootType, - (VkExtent2D*)(&forUnmarshaling->inputImageDataAlignment)); - vkStream->read((uint8_t*)&forUnmarshaling->maxNumL0ReferenceForP, sizeof(uint8_t)); - vkStream->read((uint8_t*)&forUnmarshaling->maxNumL0ReferenceForB, sizeof(uint8_t)); - vkStream->read((uint8_t*)&forUnmarshaling->maxNumL1Reference, sizeof(uint8_t)); - vkStream->read((uint8_t*)&forUnmarshaling->maxNumSubLayers, sizeof(uint8_t)); - vkStream->read((uint8_t*)&forUnmarshaling->qualityLevelCount, sizeof(uint8_t)); - unmarshal_VkExtensionProperties( - vkStream, rootType, (VkExtensionProperties*)(&forUnmarshaling->stdExtensionVersion)); + vkStream->read((uint32_t*)&forUnmarshaling->temporalLayerId, sizeof(uint32_t)); + vkStream->read((VkBool32*)&forUnmarshaling->useInitialRcQp, sizeof(VkBool32)); + unmarshal_VkVideoEncodeH264QpEXT(vkStream, rootType, + (VkVideoEncodeH264QpEXT*)(&forUnmarshaling->initialRcQp)); + vkStream->read((VkBool32*)&forUnmarshaling->useMinQp, sizeof(VkBool32)); + unmarshal_VkVideoEncodeH264QpEXT(vkStream, rootType, + (VkVideoEncodeH264QpEXT*)(&forUnmarshaling->minQp)); + vkStream->read((VkBool32*)&forUnmarshaling->useMaxQp, sizeof(VkBool32)); + unmarshal_VkVideoEncodeH264QpEXT(vkStream, rootType, + (VkVideoEncodeH264QpEXT*)(&forUnmarshaling->maxQp)); + vkStream->read((VkBool32*)&forUnmarshaling->useMaxFrameSize, sizeof(VkBool32)); + unmarshal_VkVideoEncodeH264FrameSizeEXT( + vkStream, rootType, (VkVideoEncodeH264FrameSizeEXT*)(&forUnmarshaling->maxFrameSize)); } -void marshal_VkVideoEncodeH265SessionCreateInfoEXT( +#endif +#ifdef VK_EXT_video_encode_h265 +void marshal_VkVideoEncodeH265CapabilitiesEXT( VulkanStream* vkStream, VkStructureType rootType, - const VkVideoEncodeH265SessionCreateInfoEXT* forMarshaling) { + const VkVideoEncodeH265CapabilitiesEXT* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkVideoEncodeH265CreateFlagsEXT*)&forMarshaling->flags, - sizeof(VkVideoEncodeH265CreateFlagsEXT)); - marshal_VkExtensionProperties( - vkStream, rootType, (const VkExtensionProperties*)(forMarshaling->pStdExtensionVersion)); + vkStream->write((VkVideoEncodeH265CapabilityFlagsEXT*)&forMarshaling->flags, + sizeof(VkVideoEncodeH265CapabilityFlagsEXT)); + vkStream->write((VkVideoEncodeH265CtbSizeFlagsEXT*)&forMarshaling->ctbSizes, + sizeof(VkVideoEncodeH265CtbSizeFlagsEXT)); + vkStream->write( + (VkVideoEncodeH265TransformBlockSizeFlagsEXT*)&forMarshaling->transformBlockSizes, + sizeof(VkVideoEncodeH265TransformBlockSizeFlagsEXT)); + vkStream->write((uint32_t*)&forMarshaling->maxPPictureL0ReferenceCount, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxBPictureL0ReferenceCount, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxL1ReferenceCount, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxSubLayersCount, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->minLog2MinLumaCodingBlockSizeMinus3, + sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxLog2MinLumaCodingBlockSizeMinus3, + sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->minLog2MinLumaTransformBlockSizeMinus2, + sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxLog2MinLumaTransformBlockSizeMinus2, + sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->minMaxTransformHierarchyDepthInter, + sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxMaxTransformHierarchyDepthInter, + sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->minMaxTransformHierarchyDepthIntra, + sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxMaxTransformHierarchyDepthIntra, + sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxDiffCuQpDeltaDepth, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->minMaxNumMergeCand, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxMaxNumMergeCand, sizeof(uint32_t)); } -void unmarshal_VkVideoEncodeH265SessionCreateInfoEXT( - VulkanStream* vkStream, VkStructureType rootType, - VkVideoEncodeH265SessionCreateInfoEXT* forUnmarshaling) { +void unmarshal_VkVideoEncodeH265CapabilitiesEXT(VulkanStream* vkStream, VkStructureType rootType, + VkVideoEncodeH265CapabilitiesEXT* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -18833,12 +21199,36 @@ void unmarshal_VkVideoEncodeH265SessionCreateInfoEXT( *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((VkVideoEncodeH265CreateFlagsEXT*)&forUnmarshaling->flags, - sizeof(VkVideoEncodeH265CreateFlagsEXT)); - vkStream->alloc((void**)&forUnmarshaling->pStdExtensionVersion, - sizeof(const VkExtensionProperties)); - unmarshal_VkExtensionProperties( - vkStream, rootType, (VkExtensionProperties*)(forUnmarshaling->pStdExtensionVersion)); + vkStream->read((VkVideoEncodeH265CapabilityFlagsEXT*)&forUnmarshaling->flags, + sizeof(VkVideoEncodeH265CapabilityFlagsEXT)); + vkStream->read((VkVideoEncodeH265CtbSizeFlagsEXT*)&forUnmarshaling->ctbSizes, + sizeof(VkVideoEncodeH265CtbSizeFlagsEXT)); + vkStream->read( + (VkVideoEncodeH265TransformBlockSizeFlagsEXT*)&forUnmarshaling->transformBlockSizes, + sizeof(VkVideoEncodeH265TransformBlockSizeFlagsEXT)); + vkStream->read((uint32_t*)&forUnmarshaling->maxPPictureL0ReferenceCount, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxBPictureL0ReferenceCount, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxL1ReferenceCount, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxSubLayersCount, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->minLog2MinLumaCodingBlockSizeMinus3, + sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxLog2MinLumaCodingBlockSizeMinus3, + sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->minLog2MinLumaTransformBlockSizeMinus2, + sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxLog2MinLumaTransformBlockSizeMinus2, + sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->minMaxTransformHierarchyDepthInter, + sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxMaxTransformHierarchyDepthInter, + sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->minMaxTransformHierarchyDepthIntra, + sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxMaxTransformHierarchyDepthIntra, + sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxDiffCuQpDeltaDepth, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->minMaxNumMergeCand, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxMaxNumMergeCand, sizeof(uint32_t)); } void marshal_VkVideoEncodeH265SessionParametersAddInfoEXT( @@ -18850,30 +21240,30 @@ void marshal_VkVideoEncodeH265SessionParametersAddInfoEXT( rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((uint32_t*)&forMarshaling->vpsStdCount, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->stdVPSCount, sizeof(uint32_t)); // WARNING PTR CHECK - uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pVpsStd; + uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pStdVPSs; vkStream->putBe64(cgen_var_0); - if (forMarshaling->pVpsStd) { - vkStream->write((const StdVideoH265VideoParameterSet*)forMarshaling->pVpsStd, - forMarshaling->vpsStdCount * sizeof(const StdVideoH265VideoParameterSet)); + if (forMarshaling->pStdVPSs) { + vkStream->write((const StdVideoH265VideoParameterSet*)forMarshaling->pStdVPSs, + forMarshaling->stdVPSCount * sizeof(const StdVideoH265VideoParameterSet)); } - vkStream->write((uint32_t*)&forMarshaling->spsStdCount, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->stdSPSCount, sizeof(uint32_t)); // WARNING PTR CHECK - uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pSpsStd; + uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pStdSPSs; vkStream->putBe64(cgen_var_1); - if (forMarshaling->pSpsStd) { + if (forMarshaling->pStdSPSs) { vkStream->write( - (const StdVideoH265SequenceParameterSet*)forMarshaling->pSpsStd, - forMarshaling->spsStdCount * sizeof(const StdVideoH265SequenceParameterSet)); + (const StdVideoH265SequenceParameterSet*)forMarshaling->pStdSPSs, + forMarshaling->stdSPSCount * sizeof(const StdVideoH265SequenceParameterSet)); } - vkStream->write((uint32_t*)&forMarshaling->ppsStdCount, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->stdPPSCount, sizeof(uint32_t)); // WARNING PTR CHECK - uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pPpsStd; + uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pStdPPSs; vkStream->putBe64(cgen_var_2); - if (forMarshaling->pPpsStd) { - vkStream->write((const StdVideoH265PictureParameterSet*)forMarshaling->pPpsStd, - forMarshaling->ppsStdCount * sizeof(const StdVideoH265PictureParameterSet)); + if (forMarshaling->pStdPPSs) { + vkStream->write((const StdVideoH265PictureParameterSet*)forMarshaling->pStdPPSs, + forMarshaling->stdPPSCount * sizeof(const StdVideoH265PictureParameterSet)); } } @@ -18898,38 +21288,39 @@ void unmarshal_VkVideoEncodeH265SessionParametersAddInfoEXT( *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((uint32_t*)&forUnmarshaling->vpsStdCount, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->stdVPSCount, sizeof(uint32_t)); // WARNING PTR CHECK - forUnmarshaling->pVpsStd = (const StdVideoH265VideoParameterSet*)(uintptr_t)vkStream->getBe64(); - if (forUnmarshaling->pVpsStd) { - vkStream->alloc((void**)&forUnmarshaling->pVpsStd, - forUnmarshaling->vpsStdCount * sizeof(const StdVideoH265VideoParameterSet)); - vkStream->read((StdVideoH265VideoParameterSet*)forUnmarshaling->pVpsStd, - forUnmarshaling->vpsStdCount * sizeof(const StdVideoH265VideoParameterSet)); - } - vkStream->read((uint32_t*)&forUnmarshaling->spsStdCount, sizeof(uint32_t)); + forUnmarshaling->pStdVPSs = + (const StdVideoH265VideoParameterSet*)(uintptr_t)vkStream->getBe64(); + if (forUnmarshaling->pStdVPSs) { + vkStream->alloc((void**)&forUnmarshaling->pStdVPSs, + forUnmarshaling->stdVPSCount * sizeof(const StdVideoH265VideoParameterSet)); + vkStream->read((StdVideoH265VideoParameterSet*)forUnmarshaling->pStdVPSs, + forUnmarshaling->stdVPSCount * sizeof(const StdVideoH265VideoParameterSet)); + } + vkStream->read((uint32_t*)&forUnmarshaling->stdSPSCount, sizeof(uint32_t)); // WARNING PTR CHECK - forUnmarshaling->pSpsStd = + forUnmarshaling->pStdSPSs = (const StdVideoH265SequenceParameterSet*)(uintptr_t)vkStream->getBe64(); - if (forUnmarshaling->pSpsStd) { + if (forUnmarshaling->pStdSPSs) { vkStream->alloc( - (void**)&forUnmarshaling->pSpsStd, - forUnmarshaling->spsStdCount * sizeof(const StdVideoH265SequenceParameterSet)); + (void**)&forUnmarshaling->pStdSPSs, + forUnmarshaling->stdSPSCount * sizeof(const StdVideoH265SequenceParameterSet)); vkStream->read( - (StdVideoH265SequenceParameterSet*)forUnmarshaling->pSpsStd, - forUnmarshaling->spsStdCount * sizeof(const StdVideoH265SequenceParameterSet)); + (StdVideoH265SequenceParameterSet*)forUnmarshaling->pStdSPSs, + forUnmarshaling->stdSPSCount * sizeof(const StdVideoH265SequenceParameterSet)); } - vkStream->read((uint32_t*)&forUnmarshaling->ppsStdCount, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->stdPPSCount, sizeof(uint32_t)); // WARNING PTR CHECK - forUnmarshaling->pPpsStd = + forUnmarshaling->pStdPPSs = (const StdVideoH265PictureParameterSet*)(uintptr_t)vkStream->getBe64(); - if (forUnmarshaling->pPpsStd) { + if (forUnmarshaling->pStdPPSs) { vkStream->alloc( - (void**)&forUnmarshaling->pPpsStd, - forUnmarshaling->ppsStdCount * sizeof(const StdVideoH265PictureParameterSet)); + (void**)&forUnmarshaling->pStdPPSs, + forUnmarshaling->stdPPSCount * sizeof(const StdVideoH265PictureParameterSet)); vkStream->read( - (StdVideoH265PictureParameterSet*)forUnmarshaling->pPpsStd, - forUnmarshaling->ppsStdCount * sizeof(const StdVideoH265PictureParameterSet)); + (StdVideoH265PictureParameterSet*)forUnmarshaling->pStdPPSs, + forUnmarshaling->stdPPSCount * sizeof(const StdVideoH265PictureParameterSet)); } } @@ -18942,9 +21333,9 @@ void marshal_VkVideoEncodeH265SessionParametersCreateInfoEXT( rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((uint32_t*)&forMarshaling->maxVpsStdCount, sizeof(uint32_t)); - vkStream->write((uint32_t*)&forMarshaling->maxSpsStdCount, sizeof(uint32_t)); - vkStream->write((uint32_t*)&forMarshaling->maxPpsStdCount, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxStdVPSCount, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxStdSPSCount, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxStdPPSCount, sizeof(uint32_t)); // WARNING PTR CHECK uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pParametersAddInfo; vkStream->putBe64(cgen_var_0); @@ -18977,9 +21368,9 @@ void unmarshal_VkVideoEncodeH265SessionParametersCreateInfoEXT( *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((uint32_t*)&forUnmarshaling->maxVpsStdCount, sizeof(uint32_t)); - vkStream->read((uint32_t*)&forUnmarshaling->maxSpsStdCount, sizeof(uint32_t)); - vkStream->read((uint32_t*)&forUnmarshaling->maxPpsStdCount, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxStdVPSCount, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxStdSPSCount, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxStdPPSCount, sizeof(uint32_t)); // WARNING PTR CHECK forUnmarshaling->pParametersAddInfo = (const VkVideoEncodeH265SessionParametersAddInfoEXT*)(uintptr_t)vkStream->getBe64(); @@ -18992,130 +21383,9 @@ void unmarshal_VkVideoEncodeH265SessionParametersCreateInfoEXT( } } -void marshal_VkVideoEncodeH265DpbSlotInfoEXT(VulkanStream* vkStream, VkStructureType rootType, - const VkVideoEncodeH265DpbSlotInfoEXT* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((int8_t*)&forMarshaling->slotIndex, sizeof(int8_t)); - vkStream->write((const StdVideoEncodeH265ReferenceInfo*)forMarshaling->pStdReferenceInfo, - sizeof(const StdVideoEncodeH265ReferenceInfo)); -} - -void unmarshal_VkVideoEncodeH265DpbSlotInfoEXT(VulkanStream* vkStream, VkStructureType rootType, - VkVideoEncodeH265DpbSlotInfoEXT* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->read((int8_t*)&forUnmarshaling->slotIndex, sizeof(int8_t)); - vkStream->alloc((void**)&forUnmarshaling->pStdReferenceInfo, - sizeof(const StdVideoEncodeH265ReferenceInfo)); - vkStream->read((StdVideoEncodeH265ReferenceInfo*)forUnmarshaling->pStdReferenceInfo, - sizeof(const StdVideoEncodeH265ReferenceInfo)); -} - -void marshal_VkVideoEncodeH265ReferenceListsEXT( +void marshal_VkVideoEncodeH265NaluSliceSegmentInfoEXT( VulkanStream* vkStream, VkStructureType rootType, - const VkVideoEncodeH265ReferenceListsEXT* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((uint8_t*)&forMarshaling->referenceList0EntryCount, sizeof(uint8_t)); - if (forMarshaling) { - for (uint32_t i = 0; i < (uint32_t)forMarshaling->referenceList0EntryCount; ++i) { - marshal_VkVideoEncodeH265DpbSlotInfoEXT( - vkStream, rootType, - (const VkVideoEncodeH265DpbSlotInfoEXT*)(forMarshaling->pReferenceList0Entries + - i)); - } - } - vkStream->write((uint8_t*)&forMarshaling->referenceList1EntryCount, sizeof(uint8_t)); - if (forMarshaling) { - for (uint32_t i = 0; i < (uint32_t)forMarshaling->referenceList1EntryCount; ++i) { - marshal_VkVideoEncodeH265DpbSlotInfoEXT( - vkStream, rootType, - (const VkVideoEncodeH265DpbSlotInfoEXT*)(forMarshaling->pReferenceList1Entries + - i)); - } - } - vkStream->write( - (const StdVideoEncodeH265ReferenceModifications*)forMarshaling->pReferenceModifications, - sizeof(const StdVideoEncodeH265ReferenceModifications)); -} - -void unmarshal_VkVideoEncodeH265ReferenceListsEXT( - VulkanStream* vkStream, VkStructureType rootType, - VkVideoEncodeH265ReferenceListsEXT* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->read((uint8_t*)&forUnmarshaling->referenceList0EntryCount, sizeof(uint8_t)); - vkStream->alloc( - (void**)&forUnmarshaling->pReferenceList0Entries, - forUnmarshaling->referenceList0EntryCount * sizeof(const VkVideoEncodeH265DpbSlotInfoEXT)); - if (forUnmarshaling) { - for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->referenceList0EntryCount; ++i) { - unmarshal_VkVideoEncodeH265DpbSlotInfoEXT( - vkStream, rootType, - (VkVideoEncodeH265DpbSlotInfoEXT*)(forUnmarshaling->pReferenceList0Entries + i)); - } - } - vkStream->read((uint8_t*)&forUnmarshaling->referenceList1EntryCount, sizeof(uint8_t)); - vkStream->alloc( - (void**)&forUnmarshaling->pReferenceList1Entries, - forUnmarshaling->referenceList1EntryCount * sizeof(const VkVideoEncodeH265DpbSlotInfoEXT)); - if (forUnmarshaling) { - for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->referenceList1EntryCount; ++i) { - unmarshal_VkVideoEncodeH265DpbSlotInfoEXT( - vkStream, rootType, - (VkVideoEncodeH265DpbSlotInfoEXT*)(forUnmarshaling->pReferenceList1Entries + i)); - } - } - vkStream->alloc((void**)&forUnmarshaling->pReferenceModifications, - sizeof(const StdVideoEncodeH265ReferenceModifications)); - vkStream->read( - (StdVideoEncodeH265ReferenceModifications*)forUnmarshaling->pReferenceModifications, - sizeof(const StdVideoEncodeH265ReferenceModifications)); -} - -void marshal_VkVideoEncodeH265NaluSliceEXT(VulkanStream* vkStream, VkStructureType rootType, - const VkVideoEncodeH265NaluSliceEXT* forMarshaling) { + const VkVideoEncodeH265NaluSliceSegmentInfoEXT* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -19124,19 +21394,21 @@ void marshal_VkVideoEncodeH265NaluSliceEXT(VulkanStream* vkStream, VkStructureTy marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); vkStream->write((uint32_t*)&forMarshaling->ctbCount, sizeof(uint32_t)); // WARNING PTR CHECK - uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pReferenceFinalLists; + uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pStdReferenceFinalLists; vkStream->putBe64(cgen_var_0); - if (forMarshaling->pReferenceFinalLists) { - marshal_VkVideoEncodeH265ReferenceListsEXT( - vkStream, rootType, - (const VkVideoEncodeH265ReferenceListsEXT*)(forMarshaling->pReferenceFinalLists)); + if (forMarshaling->pStdReferenceFinalLists) { + vkStream->write( + (const StdVideoEncodeH265ReferenceListsInfo*)forMarshaling->pStdReferenceFinalLists, + sizeof(const StdVideoEncodeH265ReferenceListsInfo)); } - vkStream->write((const StdVideoEncodeH265SliceHeader*)forMarshaling->pSliceHeaderStd, - sizeof(const StdVideoEncodeH265SliceHeader)); + vkStream->write( + (const StdVideoEncodeH265SliceSegmentHeader*)forMarshaling->pStdSliceSegmentHeader, + sizeof(const StdVideoEncodeH265SliceSegmentHeader)); } -void unmarshal_VkVideoEncodeH265NaluSliceEXT(VulkanStream* vkStream, VkStructureType rootType, - VkVideoEncodeH265NaluSliceEXT* forUnmarshaling) { +void unmarshal_VkVideoEncodeH265NaluSliceSegmentInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkVideoEncodeH265NaluSliceSegmentInfoEXT* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -19157,19 +21429,19 @@ void unmarshal_VkVideoEncodeH265NaluSliceEXT(VulkanStream* vkStream, VkStructure } vkStream->read((uint32_t*)&forUnmarshaling->ctbCount, sizeof(uint32_t)); // WARNING PTR CHECK - forUnmarshaling->pReferenceFinalLists = - (const VkVideoEncodeH265ReferenceListsEXT*)(uintptr_t)vkStream->getBe64(); - if (forUnmarshaling->pReferenceFinalLists) { - vkStream->alloc((void**)&forUnmarshaling->pReferenceFinalLists, - sizeof(const VkVideoEncodeH265ReferenceListsEXT)); - unmarshal_VkVideoEncodeH265ReferenceListsEXT( - vkStream, rootType, - (VkVideoEncodeH265ReferenceListsEXT*)(forUnmarshaling->pReferenceFinalLists)); + forUnmarshaling->pStdReferenceFinalLists = + (const StdVideoEncodeH265ReferenceListsInfo*)(uintptr_t)vkStream->getBe64(); + if (forUnmarshaling->pStdReferenceFinalLists) { + vkStream->alloc((void**)&forUnmarshaling->pStdReferenceFinalLists, + sizeof(const StdVideoEncodeH265ReferenceListsInfo)); + vkStream->read( + (StdVideoEncodeH265ReferenceListsInfo*)forUnmarshaling->pStdReferenceFinalLists, + sizeof(const StdVideoEncodeH265ReferenceListsInfo)); } - vkStream->alloc((void**)&forUnmarshaling->pSliceHeaderStd, - sizeof(const StdVideoEncodeH265SliceHeader)); - vkStream->read((StdVideoEncodeH265SliceHeader*)forUnmarshaling->pSliceHeaderStd, - sizeof(const StdVideoEncodeH265SliceHeader)); + vkStream->alloc((void**)&forUnmarshaling->pStdSliceSegmentHeader, + sizeof(const StdVideoEncodeH265SliceSegmentHeader)); + vkStream->read((StdVideoEncodeH265SliceSegmentHeader*)forUnmarshaling->pStdSliceSegmentHeader, + sizeof(const StdVideoEncodeH265SliceSegmentHeader)); } void marshal_VkVideoEncodeH265VclFrameInfoEXT( @@ -19182,22 +21454,24 @@ void marshal_VkVideoEncodeH265VclFrameInfoEXT( } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); // WARNING PTR CHECK - uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pReferenceFinalLists; + uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pStdReferenceFinalLists; vkStream->putBe64(cgen_var_0); - if (forMarshaling->pReferenceFinalLists) { - marshal_VkVideoEncodeH265ReferenceListsEXT( - vkStream, rootType, - (const VkVideoEncodeH265ReferenceListsEXT*)(forMarshaling->pReferenceFinalLists)); + if (forMarshaling->pStdReferenceFinalLists) { + vkStream->write( + (const StdVideoEncodeH265ReferenceListsInfo*)forMarshaling->pStdReferenceFinalLists, + sizeof(const StdVideoEncodeH265ReferenceListsInfo)); } - vkStream->write((uint32_t*)&forMarshaling->naluSliceEntryCount, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->naluSliceSegmentEntryCount, sizeof(uint32_t)); if (forMarshaling) { - for (uint32_t i = 0; i < (uint32_t)forMarshaling->naluSliceEntryCount; ++i) { - marshal_VkVideoEncodeH265NaluSliceEXT( + for (uint32_t i = 0; i < (uint32_t)forMarshaling->naluSliceSegmentEntryCount; ++i) { + marshal_VkVideoEncodeH265NaluSliceSegmentInfoEXT( vkStream, rootType, - (const VkVideoEncodeH265NaluSliceEXT*)(forMarshaling->pNaluSliceEntries + i)); + (const VkVideoEncodeH265NaluSliceSegmentInfoEXT*)(forMarshaling + ->pNaluSliceSegmentEntries + + i)); } } - vkStream->write((const StdVideoEncodeH265PictureInfo*)forMarshaling->pCurrentPictureInfo, + vkStream->write((const StdVideoEncodeH265PictureInfo*)forMarshaling->pStdPictureInfo, sizeof(const StdVideoEncodeH265PictureInfo)); } @@ -19222,53 +21496,48 @@ void unmarshal_VkVideoEncodeH265VclFrameInfoEXT(VulkanStream* vkStream, VkStruct unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } // WARNING PTR CHECK - forUnmarshaling->pReferenceFinalLists = - (const VkVideoEncodeH265ReferenceListsEXT*)(uintptr_t)vkStream->getBe64(); - if (forUnmarshaling->pReferenceFinalLists) { - vkStream->alloc((void**)&forUnmarshaling->pReferenceFinalLists, - sizeof(const VkVideoEncodeH265ReferenceListsEXT)); - unmarshal_VkVideoEncodeH265ReferenceListsEXT( - vkStream, rootType, - (VkVideoEncodeH265ReferenceListsEXT*)(forUnmarshaling->pReferenceFinalLists)); + forUnmarshaling->pStdReferenceFinalLists = + (const StdVideoEncodeH265ReferenceListsInfo*)(uintptr_t)vkStream->getBe64(); + if (forUnmarshaling->pStdReferenceFinalLists) { + vkStream->alloc((void**)&forUnmarshaling->pStdReferenceFinalLists, + sizeof(const StdVideoEncodeH265ReferenceListsInfo)); + vkStream->read( + (StdVideoEncodeH265ReferenceListsInfo*)forUnmarshaling->pStdReferenceFinalLists, + sizeof(const StdVideoEncodeH265ReferenceListsInfo)); } - vkStream->read((uint32_t*)&forUnmarshaling->naluSliceEntryCount, sizeof(uint32_t)); - vkStream->alloc( - (void**)&forUnmarshaling->pNaluSliceEntries, - forUnmarshaling->naluSliceEntryCount * sizeof(const VkVideoEncodeH265NaluSliceEXT)); + vkStream->read((uint32_t*)&forUnmarshaling->naluSliceSegmentEntryCount, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pNaluSliceSegmentEntries, + forUnmarshaling->naluSliceSegmentEntryCount * + sizeof(const VkVideoEncodeH265NaluSliceSegmentInfoEXT)); if (forUnmarshaling) { - for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->naluSliceEntryCount; ++i) { - unmarshal_VkVideoEncodeH265NaluSliceEXT( + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->naluSliceSegmentEntryCount; ++i) { + unmarshal_VkVideoEncodeH265NaluSliceSegmentInfoEXT( vkStream, rootType, - (VkVideoEncodeH265NaluSliceEXT*)(forUnmarshaling->pNaluSliceEntries + i)); + (VkVideoEncodeH265NaluSliceSegmentInfoEXT*)(forUnmarshaling + ->pNaluSliceSegmentEntries + + i)); } } - vkStream->alloc((void**)&forUnmarshaling->pCurrentPictureInfo, + vkStream->alloc((void**)&forUnmarshaling->pStdPictureInfo, sizeof(const StdVideoEncodeH265PictureInfo)); - vkStream->read((StdVideoEncodeH265PictureInfo*)forUnmarshaling->pCurrentPictureInfo, + vkStream->read((StdVideoEncodeH265PictureInfo*)forUnmarshaling->pStdPictureInfo, sizeof(const StdVideoEncodeH265PictureInfo)); } -void marshal_VkVideoEncodeH265EmitPictureParametersEXT( - VulkanStream* vkStream, VkStructureType rootType, - const VkVideoEncodeH265EmitPictureParametersEXT* forMarshaling) { +void marshal_VkVideoEncodeH265DpbSlotInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkVideoEncodeH265DpbSlotInfoEXT* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((uint8_t*)&forMarshaling->vpsId, sizeof(uint8_t)); - vkStream->write((uint8_t*)&forMarshaling->spsId, sizeof(uint8_t)); - vkStream->write((VkBool32*)&forMarshaling->emitVpsEnable, sizeof(VkBool32)); - vkStream->write((VkBool32*)&forMarshaling->emitSpsEnable, sizeof(VkBool32)); - vkStream->write((uint32_t*)&forMarshaling->ppsIdEntryCount, sizeof(uint32_t)); - vkStream->write((const uint8_t*)forMarshaling->ppsIdEntries, - forMarshaling->ppsIdEntryCount * sizeof(const uint8_t)); + vkStream->write((const StdVideoEncodeH265ReferenceInfo*)forMarshaling->pStdReferenceInfo, + sizeof(const StdVideoEncodeH265ReferenceInfo)); } -void unmarshal_VkVideoEncodeH265EmitPictureParametersEXT( - VulkanStream* vkStream, VkStructureType rootType, - VkVideoEncodeH265EmitPictureParametersEXT* forUnmarshaling) { +void unmarshal_VkVideoEncodeH265DpbSlotInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkVideoEncodeH265DpbSlotInfoEXT* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -19287,19 +21556,14 @@ void unmarshal_VkVideoEncodeH265EmitPictureParametersEXT( *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((uint8_t*)&forUnmarshaling->vpsId, sizeof(uint8_t)); - vkStream->read((uint8_t*)&forUnmarshaling->spsId, sizeof(uint8_t)); - vkStream->read((VkBool32*)&forUnmarshaling->emitVpsEnable, sizeof(VkBool32)); - vkStream->read((VkBool32*)&forUnmarshaling->emitSpsEnable, sizeof(VkBool32)); - vkStream->read((uint32_t*)&forUnmarshaling->ppsIdEntryCount, sizeof(uint32_t)); - vkStream->alloc((void**)&forUnmarshaling->ppsIdEntries, - forUnmarshaling->ppsIdEntryCount * sizeof(const uint8_t)); - vkStream->read((uint8_t*)forUnmarshaling->ppsIdEntries, - forUnmarshaling->ppsIdEntryCount * sizeof(const uint8_t)); + vkStream->alloc((void**)&forUnmarshaling->pStdReferenceInfo, + sizeof(const StdVideoEncodeH265ReferenceInfo)); + vkStream->read((StdVideoEncodeH265ReferenceInfo*)forUnmarshaling->pStdReferenceInfo, + sizeof(const StdVideoEncodeH265ReferenceInfo)); } -void marshal_VkVideoEncodeH265ProfileEXT(VulkanStream* vkStream, VkStructureType rootType, - const VkVideoEncodeH265ProfileEXT* forMarshaling) { +void marshal_VkVideoEncodeH265ProfileInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkVideoEncodeH265ProfileInfoEXT* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -19310,8 +21574,8 @@ void marshal_VkVideoEncodeH265ProfileEXT(VulkanStream* vkStream, VkStructureType sizeof(StdVideoH265ProfileIdc)); } -void unmarshal_VkVideoEncodeH265ProfileEXT(VulkanStream* vkStream, VkStructureType rootType, - VkVideoEncodeH265ProfileEXT* forUnmarshaling) { +void unmarshal_VkVideoEncodeH265ProfileInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkVideoEncodeH265ProfileInfoEXT* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -19334,65 +21598,26 @@ void unmarshal_VkVideoEncodeH265ProfileEXT(VulkanStream* vkStream, VkStructureTy sizeof(StdVideoH265ProfileIdc)); } -#endif -#ifdef VK_EXT_video_decode_h264 -void marshal_VkVideoDecodeH264ProfileEXT(VulkanStream* vkStream, VkStructureType rootType, - const VkVideoDecodeH264ProfileEXT* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((StdVideoH264ProfileIdc*)&forMarshaling->stdProfileIdc, - sizeof(StdVideoH264ProfileIdc)); - vkStream->write((VkVideoDecodeH264PictureLayoutFlagsEXT*)&forMarshaling->pictureLayout, - sizeof(VkVideoDecodeH264PictureLayoutFlagsEXT)); -} - -void unmarshal_VkVideoDecodeH264ProfileEXT(VulkanStream* vkStream, VkStructureType rootType, - VkVideoDecodeH264ProfileEXT* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->read((StdVideoH264ProfileIdc*)&forUnmarshaling->stdProfileIdc, - sizeof(StdVideoH264ProfileIdc)); - vkStream->read((VkVideoDecodeH264PictureLayoutFlagsEXT*)&forUnmarshaling->pictureLayout, - sizeof(VkVideoDecodeH264PictureLayoutFlagsEXT)); -} - -void marshal_VkVideoDecodeH264CapabilitiesEXT( +void marshal_VkVideoEncodeH265RateControlInfoEXT( VulkanStream* vkStream, VkStructureType rootType, - const VkVideoDecodeH264CapabilitiesEXT* forMarshaling) { + const VkVideoEncodeH265RateControlInfoEXT* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((uint32_t*)&forMarshaling->maxLevel, sizeof(uint32_t)); - marshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forMarshaling->fieldOffsetGranularity)); - marshal_VkExtensionProperties(vkStream, rootType, - (VkExtensionProperties*)(&forMarshaling->stdExtensionVersion)); + vkStream->write((uint32_t*)&forMarshaling->gopFrameCount, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->idrPeriod, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->consecutiveBFrameCount, sizeof(uint32_t)); + vkStream->write((VkVideoEncodeH265RateControlStructureEXT*)&forMarshaling->rateControlStructure, + sizeof(VkVideoEncodeH265RateControlStructureEXT)); + vkStream->write((uint32_t*)&forMarshaling->subLayerCount, sizeof(uint32_t)); } -void unmarshal_VkVideoDecodeH264CapabilitiesEXT(VulkanStream* vkStream, VkStructureType rootType, - VkVideoDecodeH264CapabilitiesEXT* forUnmarshaling) { +void unmarshal_VkVideoEncodeH265RateControlInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkVideoEncodeH265RateControlInfoEXT* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -19411,286 +21636,74 @@ void unmarshal_VkVideoDecodeH264CapabilitiesEXT(VulkanStream* vkStream, VkStruct *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((uint32_t*)&forUnmarshaling->maxLevel, sizeof(uint32_t)); - unmarshal_VkOffset2D(vkStream, rootType, - (VkOffset2D*)(&forUnmarshaling->fieldOffsetGranularity)); - unmarshal_VkExtensionProperties( - vkStream, rootType, (VkExtensionProperties*)(&forUnmarshaling->stdExtensionVersion)); + vkStream->read((uint32_t*)&forUnmarshaling->gopFrameCount, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->idrPeriod, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->consecutiveBFrameCount, sizeof(uint32_t)); + vkStream->read( + (VkVideoEncodeH265RateControlStructureEXT*)&forUnmarshaling->rateControlStructure, + sizeof(VkVideoEncodeH265RateControlStructureEXT)); + vkStream->read((uint32_t*)&forUnmarshaling->subLayerCount, sizeof(uint32_t)); } -void marshal_VkVideoDecodeH264SessionCreateInfoEXT( - VulkanStream* vkStream, VkStructureType rootType, - const VkVideoDecodeH264SessionCreateInfoEXT* forMarshaling) { +void marshal_VkVideoEncodeH265QpEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkVideoEncodeH265QpEXT* forMarshaling) { (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkVideoDecodeH264CreateFlagsEXT*)&forMarshaling->flags, - sizeof(VkVideoDecodeH264CreateFlagsEXT)); - marshal_VkExtensionProperties( - vkStream, rootType, (const VkExtensionProperties*)(forMarshaling->pStdExtensionVersion)); + vkStream->write((int32_t*)&forMarshaling->qpI, sizeof(int32_t)); + vkStream->write((int32_t*)&forMarshaling->qpP, sizeof(int32_t)); + vkStream->write((int32_t*)&forMarshaling->qpB, sizeof(int32_t)); } -void unmarshal_VkVideoDecodeH264SessionCreateInfoEXT( - VulkanStream* vkStream, VkStructureType rootType, - VkVideoDecodeH264SessionCreateInfoEXT* forUnmarshaling) { +void unmarshal_VkVideoEncodeH265QpEXT(VulkanStream* vkStream, VkStructureType rootType, + VkVideoEncodeH265QpEXT* forUnmarshaling) { (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->read((VkVideoDecodeH264CreateFlagsEXT*)&forUnmarshaling->flags, - sizeof(VkVideoDecodeH264CreateFlagsEXT)); - vkStream->alloc((void**)&forUnmarshaling->pStdExtensionVersion, - sizeof(const VkExtensionProperties)); - unmarshal_VkExtensionProperties( - vkStream, rootType, (VkExtensionProperties*)(forUnmarshaling->pStdExtensionVersion)); + vkStream->read((int32_t*)&forUnmarshaling->qpI, sizeof(int32_t)); + vkStream->read((int32_t*)&forUnmarshaling->qpP, sizeof(int32_t)); + vkStream->read((int32_t*)&forUnmarshaling->qpB, sizeof(int32_t)); } -void marshal_VkVideoDecodeH264SessionParametersAddInfoEXT( - VulkanStream* vkStream, VkStructureType rootType, - const VkVideoDecodeH264SessionParametersAddInfoEXT* forMarshaling) { +void marshal_VkVideoEncodeH265FrameSizeEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkVideoEncodeH265FrameSizeEXT* forMarshaling) { (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((uint32_t*)&forMarshaling->spsStdCount, sizeof(uint32_t)); - // WARNING PTR CHECK - uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pSpsStd; - vkStream->putBe64(cgen_var_0); - if (forMarshaling->pSpsStd) { - vkStream->write( - (const StdVideoH264SequenceParameterSet*)forMarshaling->pSpsStd, - forMarshaling->spsStdCount * sizeof(const StdVideoH264SequenceParameterSet)); - } - vkStream->write((uint32_t*)&forMarshaling->ppsStdCount, sizeof(uint32_t)); - // WARNING PTR CHECK - uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pPpsStd; - vkStream->putBe64(cgen_var_1); - if (forMarshaling->pPpsStd) { - vkStream->write((const StdVideoH264PictureParameterSet*)forMarshaling->pPpsStd, - forMarshaling->ppsStdCount * sizeof(const StdVideoH264PictureParameterSet)); - } + vkStream->write((uint32_t*)&forMarshaling->frameISize, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->framePSize, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->frameBSize, sizeof(uint32_t)); } -void unmarshal_VkVideoDecodeH264SessionParametersAddInfoEXT( - VulkanStream* vkStream, VkStructureType rootType, - VkVideoDecodeH264SessionParametersAddInfoEXT* forUnmarshaling) { +void unmarshal_VkVideoEncodeH265FrameSizeEXT(VulkanStream* vkStream, VkStructureType rootType, + VkVideoEncodeH265FrameSizeEXT* forUnmarshaling) { (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->read((uint32_t*)&forUnmarshaling->spsStdCount, sizeof(uint32_t)); - // WARNING PTR CHECK - forUnmarshaling->pSpsStd = - (const StdVideoH264SequenceParameterSet*)(uintptr_t)vkStream->getBe64(); - if (forUnmarshaling->pSpsStd) { - vkStream->alloc( - (void**)&forUnmarshaling->pSpsStd, - forUnmarshaling->spsStdCount * sizeof(const StdVideoH264SequenceParameterSet)); - vkStream->read( - (StdVideoH264SequenceParameterSet*)forUnmarshaling->pSpsStd, - forUnmarshaling->spsStdCount * sizeof(const StdVideoH264SequenceParameterSet)); - } - vkStream->read((uint32_t*)&forUnmarshaling->ppsStdCount, sizeof(uint32_t)); - // WARNING PTR CHECK - forUnmarshaling->pPpsStd = - (const StdVideoH264PictureParameterSet*)(uintptr_t)vkStream->getBe64(); - if (forUnmarshaling->pPpsStd) { - vkStream->alloc( - (void**)&forUnmarshaling->pPpsStd, - forUnmarshaling->ppsStdCount * sizeof(const StdVideoH264PictureParameterSet)); - vkStream->read( - (StdVideoH264PictureParameterSet*)forUnmarshaling->pPpsStd, - forUnmarshaling->ppsStdCount * sizeof(const StdVideoH264PictureParameterSet)); - } + vkStream->read((uint32_t*)&forUnmarshaling->frameISize, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->framePSize, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->frameBSize, sizeof(uint32_t)); } -void marshal_VkVideoDecodeH264SessionParametersCreateInfoEXT( +void marshal_VkVideoEncodeH265RateControlLayerInfoEXT( VulkanStream* vkStream, VkStructureType rootType, - const VkVideoDecodeH264SessionParametersCreateInfoEXT* forMarshaling) { + const VkVideoEncodeH265RateControlLayerInfoEXT* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((uint32_t*)&forMarshaling->maxSpsStdCount, sizeof(uint32_t)); - vkStream->write((uint32_t*)&forMarshaling->maxPpsStdCount, sizeof(uint32_t)); - // WARNING PTR CHECK - uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pParametersAddInfo; - vkStream->putBe64(cgen_var_0); - if (forMarshaling->pParametersAddInfo) { - marshal_VkVideoDecodeH264SessionParametersAddInfoEXT( - vkStream, rootType, - (const VkVideoDecodeH264SessionParametersAddInfoEXT*)(forMarshaling - ->pParametersAddInfo)); - } + vkStream->write((uint32_t*)&forMarshaling->temporalId, sizeof(uint32_t)); + vkStream->write((VkBool32*)&forMarshaling->useInitialRcQp, sizeof(VkBool32)); + marshal_VkVideoEncodeH265QpEXT(vkStream, rootType, + (VkVideoEncodeH265QpEXT*)(&forMarshaling->initialRcQp)); + vkStream->write((VkBool32*)&forMarshaling->useMinQp, sizeof(VkBool32)); + marshal_VkVideoEncodeH265QpEXT(vkStream, rootType, + (VkVideoEncodeH265QpEXT*)(&forMarshaling->minQp)); + vkStream->write((VkBool32*)&forMarshaling->useMaxQp, sizeof(VkBool32)); + marshal_VkVideoEncodeH265QpEXT(vkStream, rootType, + (VkVideoEncodeH265QpEXT*)(&forMarshaling->maxQp)); + vkStream->write((VkBool32*)&forMarshaling->useMaxFrameSize, sizeof(VkBool32)); + marshal_VkVideoEncodeH265FrameSizeEXT( + vkStream, rootType, (VkVideoEncodeH265FrameSizeEXT*)(&forMarshaling->maxFrameSize)); } -void unmarshal_VkVideoDecodeH264SessionParametersCreateInfoEXT( +void unmarshal_VkVideoEncodeH265RateControlLayerInfoEXT( VulkanStream* vkStream, VkStructureType rootType, - VkVideoDecodeH264SessionParametersCreateInfoEXT* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->read((uint32_t*)&forUnmarshaling->maxSpsStdCount, sizeof(uint32_t)); - vkStream->read((uint32_t*)&forUnmarshaling->maxPpsStdCount, sizeof(uint32_t)); - // WARNING PTR CHECK - forUnmarshaling->pParametersAddInfo = - (const VkVideoDecodeH264SessionParametersAddInfoEXT*)(uintptr_t)vkStream->getBe64(); - if (forUnmarshaling->pParametersAddInfo) { - vkStream->alloc((void**)&forUnmarshaling->pParametersAddInfo, - sizeof(const VkVideoDecodeH264SessionParametersAddInfoEXT)); - unmarshal_VkVideoDecodeH264SessionParametersAddInfoEXT( - vkStream, rootType, - (VkVideoDecodeH264SessionParametersAddInfoEXT*)(forUnmarshaling->pParametersAddInfo)); - } -} - -void marshal_VkVideoDecodeH264PictureInfoEXT(VulkanStream* vkStream, VkStructureType rootType, - const VkVideoDecodeH264PictureInfoEXT* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((const StdVideoDecodeH264PictureInfo*)forMarshaling->pStdPictureInfo, - sizeof(const StdVideoDecodeH264PictureInfo)); - vkStream->write((uint32_t*)&forMarshaling->slicesCount, sizeof(uint32_t)); - vkStream->write((const uint32_t*)forMarshaling->pSlicesDataOffsets, - forMarshaling->slicesCount * sizeof(const uint32_t)); -} - -void unmarshal_VkVideoDecodeH264PictureInfoEXT(VulkanStream* vkStream, VkStructureType rootType, - VkVideoDecodeH264PictureInfoEXT* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->alloc((void**)&forUnmarshaling->pStdPictureInfo, - sizeof(const StdVideoDecodeH264PictureInfo)); - vkStream->read((StdVideoDecodeH264PictureInfo*)forUnmarshaling->pStdPictureInfo, - sizeof(const StdVideoDecodeH264PictureInfo)); - vkStream->read((uint32_t*)&forUnmarshaling->slicesCount, sizeof(uint32_t)); - vkStream->alloc((void**)&forUnmarshaling->pSlicesDataOffsets, - forUnmarshaling->slicesCount * sizeof(const uint32_t)); - vkStream->read((uint32_t*)forUnmarshaling->pSlicesDataOffsets, - forUnmarshaling->slicesCount * sizeof(const uint32_t)); -} - -void marshal_VkVideoDecodeH264MvcEXT(VulkanStream* vkStream, VkStructureType rootType, - const VkVideoDecodeH264MvcEXT* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((const StdVideoDecodeH264Mvc*)forMarshaling->pStdMvc, - sizeof(const StdVideoDecodeH264Mvc)); -} - -void unmarshal_VkVideoDecodeH264MvcEXT(VulkanStream* vkStream, VkStructureType rootType, - VkVideoDecodeH264MvcEXT* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->alloc((void**)&forUnmarshaling->pStdMvc, sizeof(const StdVideoDecodeH264Mvc)); - vkStream->read((StdVideoDecodeH264Mvc*)forUnmarshaling->pStdMvc, - sizeof(const StdVideoDecodeH264Mvc)); -} - -void marshal_VkVideoDecodeH264DpbSlotInfoEXT(VulkanStream* vkStream, VkStructureType rootType, - const VkVideoDecodeH264DpbSlotInfoEXT* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((const StdVideoDecodeH264ReferenceInfo*)forMarshaling->pStdReferenceInfo, - sizeof(const StdVideoDecodeH264ReferenceInfo)); -} - -void unmarshal_VkVideoDecodeH264DpbSlotInfoEXT(VulkanStream* vkStream, VkStructureType rootType, - VkVideoDecodeH264DpbSlotInfoEXT* forUnmarshaling) { + VkVideoEncodeH265RateControlLayerInfoEXT* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -19709,10 +21722,19 @@ void unmarshal_VkVideoDecodeH264DpbSlotInfoEXT(VulkanStream* vkStream, VkStructu *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->alloc((void**)&forUnmarshaling->pStdReferenceInfo, - sizeof(const StdVideoDecodeH264ReferenceInfo)); - vkStream->read((StdVideoDecodeH264ReferenceInfo*)forUnmarshaling->pStdReferenceInfo, - sizeof(const StdVideoDecodeH264ReferenceInfo)); + vkStream->read((uint32_t*)&forUnmarshaling->temporalId, sizeof(uint32_t)); + vkStream->read((VkBool32*)&forUnmarshaling->useInitialRcQp, sizeof(VkBool32)); + unmarshal_VkVideoEncodeH265QpEXT(vkStream, rootType, + (VkVideoEncodeH265QpEXT*)(&forUnmarshaling->initialRcQp)); + vkStream->read((VkBool32*)&forUnmarshaling->useMinQp, sizeof(VkBool32)); + unmarshal_VkVideoEncodeH265QpEXT(vkStream, rootType, + (VkVideoEncodeH265QpEXT*)(&forUnmarshaling->minQp)); + vkStream->read((VkBool32*)&forUnmarshaling->useMaxQp, sizeof(VkBool32)); + unmarshal_VkVideoEncodeH265QpEXT(vkStream, rootType, + (VkVideoEncodeH265QpEXT*)(&forUnmarshaling->maxQp)); + vkStream->read((VkBool32*)&forUnmarshaling->useMaxFrameSize, sizeof(VkBool32)); + unmarshal_VkVideoEncodeH265FrameSizeEXT( + vkStream, rootType, (VkVideoEncodeH265FrameSizeEXT*)(&forUnmarshaling->maxFrameSize)); } #endif @@ -20280,21 +22302,57 @@ void unmarshal_VkViSurfaceCreateInfoNN(VulkanStream* vkStream, VkStructureType r #ifdef VK_EXT_shader_subgroup_vote #endif #ifdef VK_EXT_texture_compression_astc_hdr -void marshal_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT( +#endif +#ifdef VK_EXT_astc_decode_mode +void marshal_VkImageViewASTCDecodeModeEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkImageViewASTCDecodeModeEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkFormat*)&forMarshaling->decodeMode, sizeof(VkFormat)); +} + +void unmarshal_VkImageViewASTCDecodeModeEXT(VulkanStream* vkStream, VkStructureType rootType, + VkImageViewASTCDecodeModeEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkFormat*)&forUnmarshaling->decodeMode, sizeof(VkFormat)); +} + +void marshal_VkPhysicalDeviceASTCDecodeFeaturesEXT( VulkanStream* vkStream, VkStructureType rootType, - const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT* forMarshaling) { + const VkPhysicalDeviceASTCDecodeFeaturesEXT* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkBool32*)&forMarshaling->textureCompressionASTC_HDR, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->decodeModeSharedExponent, sizeof(VkBool32)); } -void unmarshal_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT( +void unmarshal_VkPhysicalDeviceASTCDecodeFeaturesEXT( VulkanStream* vkStream, VkStructureType rootType, - VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT* forUnmarshaling) { + VkPhysicalDeviceASTCDecodeFeaturesEXT* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -20313,24 +22371,26 @@ void unmarshal_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT( *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((VkBool32*)&forUnmarshaling->textureCompressionASTC_HDR, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->decodeModeSharedExponent, sizeof(VkBool32)); } #endif -#ifdef VK_EXT_astc_decode_mode -void marshal_VkImageViewASTCDecodeModeEXT(VulkanStream* vkStream, VkStructureType rootType, - const VkImageViewASTCDecodeModeEXT* forMarshaling) { +#ifdef VK_EXT_pipeline_robustness +void marshal_VkPhysicalDevicePipelineRobustnessFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDevicePipelineRobustnessFeaturesEXT* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkFormat*)&forMarshaling->decodeMode, sizeof(VkFormat)); + vkStream->write((VkBool32*)&forMarshaling->pipelineRobustness, sizeof(VkBool32)); } -void unmarshal_VkImageViewASTCDecodeModeEXT(VulkanStream* vkStream, VkStructureType rootType, - VkImageViewASTCDecodeModeEXT* forUnmarshaling) { +void unmarshal_VkPhysicalDevicePipelineRobustnessFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDevicePipelineRobustnessFeaturesEXT* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -20349,24 +22409,34 @@ void unmarshal_VkImageViewASTCDecodeModeEXT(VulkanStream* vkStream, VkStructureT *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((VkFormat*)&forUnmarshaling->decodeMode, sizeof(VkFormat)); + vkStream->read((VkBool32*)&forUnmarshaling->pipelineRobustness, sizeof(VkBool32)); } -void marshal_VkPhysicalDeviceASTCDecodeFeaturesEXT( +void marshal_VkPhysicalDevicePipelineRobustnessPropertiesEXT( VulkanStream* vkStream, VkStructureType rootType, - const VkPhysicalDeviceASTCDecodeFeaturesEXT* forMarshaling) { + const VkPhysicalDevicePipelineRobustnessPropertiesEXT* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkBool32*)&forMarshaling->decodeModeSharedExponent, sizeof(VkBool32)); + vkStream->write( + (VkPipelineRobustnessBufferBehaviorEXT*)&forMarshaling->defaultRobustnessStorageBuffers, + sizeof(VkPipelineRobustnessBufferBehaviorEXT)); + vkStream->write( + (VkPipelineRobustnessBufferBehaviorEXT*)&forMarshaling->defaultRobustnessUniformBuffers, + sizeof(VkPipelineRobustnessBufferBehaviorEXT)); + vkStream->write( + (VkPipelineRobustnessBufferBehaviorEXT*)&forMarshaling->defaultRobustnessVertexInputs, + sizeof(VkPipelineRobustnessBufferBehaviorEXT)); + vkStream->write((VkPipelineRobustnessImageBehaviorEXT*)&forMarshaling->defaultRobustnessImages, + sizeof(VkPipelineRobustnessImageBehaviorEXT)); } -void unmarshal_VkPhysicalDeviceASTCDecodeFeaturesEXT( +void unmarshal_VkPhysicalDevicePipelineRobustnessPropertiesEXT( VulkanStream* vkStream, VkStructureType rootType, - VkPhysicalDeviceASTCDecodeFeaturesEXT* forUnmarshaling) { + VkPhysicalDevicePipelineRobustnessPropertiesEXT* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -20385,7 +22455,67 @@ void unmarshal_VkPhysicalDeviceASTCDecodeFeaturesEXT( *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((VkBool32*)&forUnmarshaling->decodeModeSharedExponent, sizeof(VkBool32)); + vkStream->read( + (VkPipelineRobustnessBufferBehaviorEXT*)&forUnmarshaling->defaultRobustnessStorageBuffers, + sizeof(VkPipelineRobustnessBufferBehaviorEXT)); + vkStream->read( + (VkPipelineRobustnessBufferBehaviorEXT*)&forUnmarshaling->defaultRobustnessUniformBuffers, + sizeof(VkPipelineRobustnessBufferBehaviorEXT)); + vkStream->read( + (VkPipelineRobustnessBufferBehaviorEXT*)&forUnmarshaling->defaultRobustnessVertexInputs, + sizeof(VkPipelineRobustnessBufferBehaviorEXT)); + vkStream->read((VkPipelineRobustnessImageBehaviorEXT*)&forUnmarshaling->defaultRobustnessImages, + sizeof(VkPipelineRobustnessImageBehaviorEXT)); +} + +void marshal_VkPipelineRobustnessCreateInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPipelineRobustnessCreateInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkPipelineRobustnessBufferBehaviorEXT*)&forMarshaling->storageBuffers, + sizeof(VkPipelineRobustnessBufferBehaviorEXT)); + vkStream->write((VkPipelineRobustnessBufferBehaviorEXT*)&forMarshaling->uniformBuffers, + sizeof(VkPipelineRobustnessBufferBehaviorEXT)); + vkStream->write((VkPipelineRobustnessBufferBehaviorEXT*)&forMarshaling->vertexInputs, + sizeof(VkPipelineRobustnessBufferBehaviorEXT)); + vkStream->write((VkPipelineRobustnessImageBehaviorEXT*)&forMarshaling->images, + sizeof(VkPipelineRobustnessImageBehaviorEXT)); +} + +void unmarshal_VkPipelineRobustnessCreateInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPipelineRobustnessCreateInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkPipelineRobustnessBufferBehaviorEXT*)&forUnmarshaling->storageBuffers, + sizeof(VkPipelineRobustnessBufferBehaviorEXT)); + vkStream->read((VkPipelineRobustnessBufferBehaviorEXT*)&forUnmarshaling->uniformBuffers, + sizeof(VkPipelineRobustnessBufferBehaviorEXT)); + vkStream->read((VkPipelineRobustnessBufferBehaviorEXT*)&forUnmarshaling->vertexInputs, + sizeof(VkPipelineRobustnessBufferBehaviorEXT)); + vkStream->read((VkPipelineRobustnessImageBehaviorEXT*)&forUnmarshaling->images, + sizeof(VkPipelineRobustnessImageBehaviorEXT)); } #endif @@ -20996,16 +23126,11 @@ void marshal_VkPipelineViewportSwizzleStateCreateInfoNV( vkStream->write((VkPipelineViewportSwizzleStateCreateFlagsNV*)&forMarshaling->flags, sizeof(VkPipelineViewportSwizzleStateCreateFlagsNV)); vkStream->write((uint32_t*)&forMarshaling->viewportCount, sizeof(uint32_t)); - // WARNING PTR CHECK - uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pViewportSwizzles; - vkStream->putBe64(cgen_var_0); - if (forMarshaling->pViewportSwizzles) { - if (forMarshaling) { - for (uint32_t i = 0; i < (uint32_t)forMarshaling->viewportCount; ++i) { - marshal_VkViewportSwizzleNV( - vkStream, rootType, - (const VkViewportSwizzleNV*)(forMarshaling->pViewportSwizzles + i)); - } + if (forMarshaling) { + for (uint32_t i = 0; i < (uint32_t)forMarshaling->viewportCount; ++i) { + marshal_VkViewportSwizzleNV( + vkStream, rootType, + (const VkViewportSwizzleNV*)(forMarshaling->pViewportSwizzles + i)); } } } @@ -21034,17 +23159,12 @@ void unmarshal_VkPipelineViewportSwizzleStateCreateInfoNV( vkStream->read((VkPipelineViewportSwizzleStateCreateFlagsNV*)&forUnmarshaling->flags, sizeof(VkPipelineViewportSwizzleStateCreateFlagsNV)); vkStream->read((uint32_t*)&forUnmarshaling->viewportCount, sizeof(uint32_t)); - // WARNING PTR CHECK - forUnmarshaling->pViewportSwizzles = (const VkViewportSwizzleNV*)(uintptr_t)vkStream->getBe64(); - if (forUnmarshaling->pViewportSwizzles) { - vkStream->alloc((void**)&forUnmarshaling->pViewportSwizzles, - forUnmarshaling->viewportCount * sizeof(const VkViewportSwizzleNV)); - if (forUnmarshaling) { - for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->viewportCount; ++i) { - unmarshal_VkViewportSwizzleNV( - vkStream, rootType, - (VkViewportSwizzleNV*)(forUnmarshaling->pViewportSwizzles + i)); - } + vkStream->alloc((void**)&forUnmarshaling->pViewportSwizzles, + forUnmarshaling->viewportCount * sizeof(const VkViewportSwizzleNV)); + if (forUnmarshaling) { + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->viewportCount; ++i) { + unmarshal_VkViewportSwizzleNV( + vkStream, rootType, (VkViewportSwizzleNV*)(forUnmarshaling->pViewportSwizzles + i)); } } } @@ -21510,8 +23630,6 @@ void unmarshal_VkMacOSSurfaceCreateInfoMVK(VulkanStream* vkStream, VkStructureTy } #endif -#ifdef VK_MVK_moltenvk -#endif #ifdef VK_EXT_external_memory_dma_buf #endif #ifdef VK_EXT_queue_family_foreign @@ -21632,40 +23750,26 @@ void marshal_VkDebugUtilsMessengerCallbackDataEXT( vkStream->write((int32_t*)&forMarshaling->messageIdNumber, sizeof(int32_t)); vkStream->putString(forMarshaling->pMessage); vkStream->write((uint32_t*)&forMarshaling->queueLabelCount, sizeof(uint32_t)); - // WARNING PTR CHECK - uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pQueueLabels; - vkStream->putBe64(cgen_var_0); - if (forMarshaling->pQueueLabels) { - if (forMarshaling) { - for (uint32_t i = 0; i < (uint32_t)forMarshaling->queueLabelCount; ++i) { - marshal_VkDebugUtilsLabelEXT( - vkStream, rootType, (VkDebugUtilsLabelEXT*)(forMarshaling->pQueueLabels + i)); - } + if (forMarshaling) { + for (uint32_t i = 0; i < (uint32_t)forMarshaling->queueLabelCount; ++i) { + marshal_VkDebugUtilsLabelEXT( + vkStream, rootType, (const VkDebugUtilsLabelEXT*)(forMarshaling->pQueueLabels + i)); } } vkStream->write((uint32_t*)&forMarshaling->cmdBufLabelCount, sizeof(uint32_t)); - // WARNING PTR CHECK - uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pCmdBufLabels; - vkStream->putBe64(cgen_var_1); - if (forMarshaling->pCmdBufLabels) { - if (forMarshaling) { - for (uint32_t i = 0; i < (uint32_t)forMarshaling->cmdBufLabelCount; ++i) { - marshal_VkDebugUtilsLabelEXT( - vkStream, rootType, (VkDebugUtilsLabelEXT*)(forMarshaling->pCmdBufLabels + i)); - } + if (forMarshaling) { + for (uint32_t i = 0; i < (uint32_t)forMarshaling->cmdBufLabelCount; ++i) { + marshal_VkDebugUtilsLabelEXT( + vkStream, rootType, + (const VkDebugUtilsLabelEXT*)(forMarshaling->pCmdBufLabels + i)); } } vkStream->write((uint32_t*)&forMarshaling->objectCount, sizeof(uint32_t)); - // WARNING PTR CHECK - uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pObjects; - vkStream->putBe64(cgen_var_2); - if (forMarshaling->pObjects) { - if (forMarshaling) { - for (uint32_t i = 0; i < (uint32_t)forMarshaling->objectCount; ++i) { - marshal_VkDebugUtilsObjectNameInfoEXT( - vkStream, rootType, - (VkDebugUtilsObjectNameInfoEXT*)(forMarshaling->pObjects + i)); - } + if (forMarshaling) { + for (uint32_t i = 0; i < (uint32_t)forMarshaling->objectCount; ++i) { + marshal_VkDebugUtilsObjectNameInfoEXT( + vkStream, rootType, + (const VkDebugUtilsObjectNameInfoEXT*)(forMarshaling->pObjects + i)); } } } @@ -21705,44 +23809,31 @@ void unmarshal_VkDebugUtilsMessengerCallbackDataEXT( vkStream->read((int32_t*)&forUnmarshaling->messageIdNumber, sizeof(int32_t)); vkStream->loadStringInPlace((char**)&forUnmarshaling->pMessage); vkStream->read((uint32_t*)&forUnmarshaling->queueLabelCount, sizeof(uint32_t)); - // WARNING PTR CHECK - forUnmarshaling->pQueueLabels = (VkDebugUtilsLabelEXT*)(uintptr_t)vkStream->getBe64(); - if (forUnmarshaling->pQueueLabels) { - vkStream->alloc((void**)&forUnmarshaling->pQueueLabels, - forUnmarshaling->queueLabelCount * sizeof(VkDebugUtilsLabelEXT)); - if (forUnmarshaling) { - for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->queueLabelCount; ++i) { - unmarshal_VkDebugUtilsLabelEXT( - vkStream, rootType, (VkDebugUtilsLabelEXT*)(forUnmarshaling->pQueueLabels + i)); - } + vkStream->alloc((void**)&forUnmarshaling->pQueueLabels, + forUnmarshaling->queueLabelCount * sizeof(const VkDebugUtilsLabelEXT)); + if (forUnmarshaling) { + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->queueLabelCount; ++i) { + unmarshal_VkDebugUtilsLabelEXT( + vkStream, rootType, (VkDebugUtilsLabelEXT*)(forUnmarshaling->pQueueLabels + i)); } } vkStream->read((uint32_t*)&forUnmarshaling->cmdBufLabelCount, sizeof(uint32_t)); - // WARNING PTR CHECK - forUnmarshaling->pCmdBufLabels = (VkDebugUtilsLabelEXT*)(uintptr_t)vkStream->getBe64(); - if (forUnmarshaling->pCmdBufLabels) { - vkStream->alloc((void**)&forUnmarshaling->pCmdBufLabels, - forUnmarshaling->cmdBufLabelCount * sizeof(VkDebugUtilsLabelEXT)); - if (forUnmarshaling) { - for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->cmdBufLabelCount; ++i) { - unmarshal_VkDebugUtilsLabelEXT( - vkStream, rootType, - (VkDebugUtilsLabelEXT*)(forUnmarshaling->pCmdBufLabels + i)); - } + vkStream->alloc((void**)&forUnmarshaling->pCmdBufLabels, + forUnmarshaling->cmdBufLabelCount * sizeof(const VkDebugUtilsLabelEXT)); + if (forUnmarshaling) { + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->cmdBufLabelCount; ++i) { + unmarshal_VkDebugUtilsLabelEXT( + vkStream, rootType, (VkDebugUtilsLabelEXT*)(forUnmarshaling->pCmdBufLabels + i)); } } vkStream->read((uint32_t*)&forUnmarshaling->objectCount, sizeof(uint32_t)); - // WARNING PTR CHECK - forUnmarshaling->pObjects = (VkDebugUtilsObjectNameInfoEXT*)(uintptr_t)vkStream->getBe64(); - if (forUnmarshaling->pObjects) { - vkStream->alloc((void**)&forUnmarshaling->pObjects, - forUnmarshaling->objectCount * sizeof(VkDebugUtilsObjectNameInfoEXT)); - if (forUnmarshaling) { - for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->objectCount; ++i) { - unmarshal_VkDebugUtilsObjectNameInfoEXT( - vkStream, rootType, - (VkDebugUtilsObjectNameInfoEXT*)(forUnmarshaling->pObjects + i)); - } + vkStream->alloc((void**)&forUnmarshaling->pObjects, + forUnmarshaling->objectCount * sizeof(const VkDebugUtilsObjectNameInfoEXT)); + if (forUnmarshaling) { + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->objectCount; ++i) { + unmarshal_VkDebugUtilsObjectNameInfoEXT( + vkStream, rootType, + (VkDebugUtilsObjectNameInfoEXT*)(forUnmarshaling->pObjects + i)); } } } @@ -22118,8 +24209,8 @@ void marshal_VkAndroidHardwareBufferFormatProperties2ANDROID( marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat)); vkStream->write((uint64_t*)&forMarshaling->externalFormat, sizeof(uint64_t)); - vkStream->write((VkFormatFeatureFlags2KHR*)&forMarshaling->formatFeatures, - sizeof(VkFormatFeatureFlags2KHR)); + vkStream->write((VkFormatFeatureFlags2*)&forMarshaling->formatFeatures, + sizeof(VkFormatFeatureFlags2)); marshal_VkComponentMapping( vkStream, rootType, (VkComponentMapping*)(&forMarshaling->samplerYcbcrConversionComponents)); @@ -22156,8 +24247,8 @@ void unmarshal_VkAndroidHardwareBufferFormatProperties2ANDROID( } vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat)); vkStream->read((uint64_t*)&forUnmarshaling->externalFormat, sizeof(uint64_t)); - vkStream->read((VkFormatFeatureFlags2KHR*)&forUnmarshaling->formatFeatures, - sizeof(VkFormatFeatureFlags2KHR)); + vkStream->read((VkFormatFeatureFlags2*)&forUnmarshaling->formatFeatures, + sizeof(VkFormatFeatureFlags2)); unmarshal_VkComponentMapping( vkStream, rootType, (VkComponentMapping*)(&forUnmarshaling->samplerYcbcrConversionComponents)); @@ -22181,178 +24272,6 @@ void unmarshal_VkAndroidHardwareBufferFormatProperties2ANDROID( #ifdef VK_AMD_shader_fragment_mask #endif #ifdef VK_EXT_inline_uniform_block -void marshal_VkPhysicalDeviceInlineUniformBlockFeaturesEXT( - VulkanStream* vkStream, VkStructureType rootType, - const VkPhysicalDeviceInlineUniformBlockFeaturesEXT* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkBool32*)&forMarshaling->inlineUniformBlock, sizeof(VkBool32)); - vkStream->write((VkBool32*)&forMarshaling->descriptorBindingInlineUniformBlockUpdateAfterBind, - sizeof(VkBool32)); -} - -void unmarshal_VkPhysicalDeviceInlineUniformBlockFeaturesEXT( - VulkanStream* vkStream, VkStructureType rootType, - VkPhysicalDeviceInlineUniformBlockFeaturesEXT* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->read((VkBool32*)&forUnmarshaling->inlineUniformBlock, sizeof(VkBool32)); - vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingInlineUniformBlockUpdateAfterBind, - sizeof(VkBool32)); -} - -void marshal_VkPhysicalDeviceInlineUniformBlockPropertiesEXT( - VulkanStream* vkStream, VkStructureType rootType, - const VkPhysicalDeviceInlineUniformBlockPropertiesEXT* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((uint32_t*)&forMarshaling->maxInlineUniformBlockSize, sizeof(uint32_t)); - vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorInlineUniformBlocks, - sizeof(uint32_t)); - vkStream->write( - (uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks, - sizeof(uint32_t)); - vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetInlineUniformBlocks, - sizeof(uint32_t)); - vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindInlineUniformBlocks, - sizeof(uint32_t)); -} - -void unmarshal_VkPhysicalDeviceInlineUniformBlockPropertiesEXT( - VulkanStream* vkStream, VkStructureType rootType, - VkPhysicalDeviceInlineUniformBlockPropertiesEXT* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->read((uint32_t*)&forUnmarshaling->maxInlineUniformBlockSize, sizeof(uint32_t)); - vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorInlineUniformBlocks, - sizeof(uint32_t)); - vkStream->read( - (uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks, - sizeof(uint32_t)); - vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetInlineUniformBlocks, - sizeof(uint32_t)); - vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindInlineUniformBlocks, - sizeof(uint32_t)); -} - -void marshal_VkWriteDescriptorSetInlineUniformBlockEXT( - VulkanStream* vkStream, VkStructureType rootType, - const VkWriteDescriptorSetInlineUniformBlockEXT* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((uint32_t*)&forMarshaling->dataSize, sizeof(uint32_t)); - vkStream->write((const void*)forMarshaling->pData, - forMarshaling->dataSize * sizeof(const uint8_t)); -} - -void unmarshal_VkWriteDescriptorSetInlineUniformBlockEXT( - VulkanStream* vkStream, VkStructureType rootType, - VkWriteDescriptorSetInlineUniformBlockEXT* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->read((uint32_t*)&forUnmarshaling->dataSize, sizeof(uint32_t)); - vkStream->alloc((void**)&forUnmarshaling->pData, - forUnmarshaling->dataSize * sizeof(const uint8_t)); - vkStream->read((void*)forUnmarshaling->pData, - forUnmarshaling->dataSize * sizeof(const uint8_t)); -} - -void marshal_VkDescriptorPoolInlineUniformBlockCreateInfoEXT( - VulkanStream* vkStream, VkStructureType rootType, - const VkDescriptorPoolInlineUniformBlockCreateInfoEXT* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((uint32_t*)&forMarshaling->maxInlineUniformBlockBindings, sizeof(uint32_t)); -} - -void unmarshal_VkDescriptorPoolInlineUniformBlockCreateInfoEXT( - VulkanStream* vkStream, VkStructureType rootType, - VkDescriptorPoolInlineUniformBlockCreateInfoEXT* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->read((uint32_t*)&forUnmarshaling->maxInlineUniformBlockBindings, sizeof(uint32_t)); -} - #endif #ifdef VK_EXT_shader_stencil_export #endif @@ -23259,8 +25178,8 @@ void marshal_VkDrmFormatModifierProperties2EXT( (void)rootType; vkStream->write((uint64_t*)&forMarshaling->drmFormatModifier, sizeof(uint64_t)); vkStream->write((uint32_t*)&forMarshaling->drmFormatModifierPlaneCount, sizeof(uint32_t)); - vkStream->write((VkFormatFeatureFlags2KHR*)&forMarshaling->drmFormatModifierTilingFeatures, - sizeof(VkFormatFeatureFlags2KHR)); + vkStream->write((VkFormatFeatureFlags2*)&forMarshaling->drmFormatModifierTilingFeatures, + sizeof(VkFormatFeatureFlags2)); } void unmarshal_VkDrmFormatModifierProperties2EXT( @@ -23269,8 +25188,8 @@ void unmarshal_VkDrmFormatModifierProperties2EXT( (void)rootType; vkStream->read((uint64_t*)&forUnmarshaling->drmFormatModifier, sizeof(uint64_t)); vkStream->read((uint32_t*)&forUnmarshaling->drmFormatModifierPlaneCount, sizeof(uint32_t)); - vkStream->read((VkFormatFeatureFlags2KHR*)&forUnmarshaling->drmFormatModifierTilingFeatures, - sizeof(VkFormatFeatureFlags2KHR)); + vkStream->read((VkFormatFeatureFlags2*)&forUnmarshaling->drmFormatModifierTilingFeatures, + sizeof(VkFormatFeatureFlags2)); } void marshal_VkDrmFormatModifierPropertiesList2EXT( @@ -24568,44 +26487,6 @@ void unmarshal_VkFilterCubicImageViewImageFormatPropertiesEXT( #ifdef VK_QCOM_render_pass_shader_resolve #endif #ifdef VK_EXT_global_priority -void marshal_VkDeviceQueueGlobalPriorityCreateInfoEXT( - VulkanStream* vkStream, VkStructureType rootType, - const VkDeviceQueueGlobalPriorityCreateInfoEXT* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkQueueGlobalPriorityEXT*)&forMarshaling->globalPriority, - sizeof(VkQueueGlobalPriorityEXT)); -} - -void unmarshal_VkDeviceQueueGlobalPriorityCreateInfoEXT( - VulkanStream* vkStream, VkStructureType rootType, - VkDeviceQueueGlobalPriorityCreateInfoEXT* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->read((VkQueueGlobalPriorityEXT*)&forUnmarshaling->globalPriority, - sizeof(VkQueueGlobalPriorityEXT)); -} - #endif #ifdef VK_EXT_external_memory_host void marshal_VkImportMemoryHostPointerInfoEXT( @@ -24873,343 +26754,6 @@ void unmarshal_VkPhysicalDeviceShaderCorePropertiesAMD( } #endif -#ifdef VK_EXT_video_decode_h265 -void marshal_VkVideoDecodeH265ProfileEXT(VulkanStream* vkStream, VkStructureType rootType, - const VkVideoDecodeH265ProfileEXT* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((StdVideoH265ProfileIdc*)&forMarshaling->stdProfileIdc, - sizeof(StdVideoH265ProfileIdc)); -} - -void unmarshal_VkVideoDecodeH265ProfileEXT(VulkanStream* vkStream, VkStructureType rootType, - VkVideoDecodeH265ProfileEXT* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->read((StdVideoH265ProfileIdc*)&forUnmarshaling->stdProfileIdc, - sizeof(StdVideoH265ProfileIdc)); -} - -void marshal_VkVideoDecodeH265CapabilitiesEXT( - VulkanStream* vkStream, VkStructureType rootType, - const VkVideoDecodeH265CapabilitiesEXT* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((uint32_t*)&forMarshaling->maxLevel, sizeof(uint32_t)); - marshal_VkExtensionProperties(vkStream, rootType, - (VkExtensionProperties*)(&forMarshaling->stdExtensionVersion)); -} - -void unmarshal_VkVideoDecodeH265CapabilitiesEXT(VulkanStream* vkStream, VkStructureType rootType, - VkVideoDecodeH265CapabilitiesEXT* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->read((uint32_t*)&forUnmarshaling->maxLevel, sizeof(uint32_t)); - unmarshal_VkExtensionProperties( - vkStream, rootType, (VkExtensionProperties*)(&forUnmarshaling->stdExtensionVersion)); -} - -void marshal_VkVideoDecodeH265SessionCreateInfoEXT( - VulkanStream* vkStream, VkStructureType rootType, - const VkVideoDecodeH265SessionCreateInfoEXT* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkVideoDecodeH265CreateFlagsEXT*)&forMarshaling->flags, - sizeof(VkVideoDecodeH265CreateFlagsEXT)); - marshal_VkExtensionProperties( - vkStream, rootType, (const VkExtensionProperties*)(forMarshaling->pStdExtensionVersion)); -} - -void unmarshal_VkVideoDecodeH265SessionCreateInfoEXT( - VulkanStream* vkStream, VkStructureType rootType, - VkVideoDecodeH265SessionCreateInfoEXT* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->read((VkVideoDecodeH265CreateFlagsEXT*)&forUnmarshaling->flags, - sizeof(VkVideoDecodeH265CreateFlagsEXT)); - vkStream->alloc((void**)&forUnmarshaling->pStdExtensionVersion, - sizeof(const VkExtensionProperties)); - unmarshal_VkExtensionProperties( - vkStream, rootType, (VkExtensionProperties*)(forUnmarshaling->pStdExtensionVersion)); -} - -void marshal_VkVideoDecodeH265SessionParametersAddInfoEXT( - VulkanStream* vkStream, VkStructureType rootType, - const VkVideoDecodeH265SessionParametersAddInfoEXT* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((uint32_t*)&forMarshaling->spsStdCount, sizeof(uint32_t)); - // WARNING PTR CHECK - uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pSpsStd; - vkStream->putBe64(cgen_var_0); - if (forMarshaling->pSpsStd) { - vkStream->write( - (const StdVideoH265SequenceParameterSet*)forMarshaling->pSpsStd, - forMarshaling->spsStdCount * sizeof(const StdVideoH265SequenceParameterSet)); - } - vkStream->write((uint32_t*)&forMarshaling->ppsStdCount, sizeof(uint32_t)); - // WARNING PTR CHECK - uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pPpsStd; - vkStream->putBe64(cgen_var_1); - if (forMarshaling->pPpsStd) { - vkStream->write((const StdVideoH265PictureParameterSet*)forMarshaling->pPpsStd, - forMarshaling->ppsStdCount * sizeof(const StdVideoH265PictureParameterSet)); - } -} - -void unmarshal_VkVideoDecodeH265SessionParametersAddInfoEXT( - VulkanStream* vkStream, VkStructureType rootType, - VkVideoDecodeH265SessionParametersAddInfoEXT* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->read((uint32_t*)&forUnmarshaling->spsStdCount, sizeof(uint32_t)); - // WARNING PTR CHECK - forUnmarshaling->pSpsStd = - (const StdVideoH265SequenceParameterSet*)(uintptr_t)vkStream->getBe64(); - if (forUnmarshaling->pSpsStd) { - vkStream->alloc( - (void**)&forUnmarshaling->pSpsStd, - forUnmarshaling->spsStdCount * sizeof(const StdVideoH265SequenceParameterSet)); - vkStream->read( - (StdVideoH265SequenceParameterSet*)forUnmarshaling->pSpsStd, - forUnmarshaling->spsStdCount * sizeof(const StdVideoH265SequenceParameterSet)); - } - vkStream->read((uint32_t*)&forUnmarshaling->ppsStdCount, sizeof(uint32_t)); - // WARNING PTR CHECK - forUnmarshaling->pPpsStd = - (const StdVideoH265PictureParameterSet*)(uintptr_t)vkStream->getBe64(); - if (forUnmarshaling->pPpsStd) { - vkStream->alloc( - (void**)&forUnmarshaling->pPpsStd, - forUnmarshaling->ppsStdCount * sizeof(const StdVideoH265PictureParameterSet)); - vkStream->read( - (StdVideoH265PictureParameterSet*)forUnmarshaling->pPpsStd, - forUnmarshaling->ppsStdCount * sizeof(const StdVideoH265PictureParameterSet)); - } -} - -void marshal_VkVideoDecodeH265SessionParametersCreateInfoEXT( - VulkanStream* vkStream, VkStructureType rootType, - const VkVideoDecodeH265SessionParametersCreateInfoEXT* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((uint32_t*)&forMarshaling->maxSpsStdCount, sizeof(uint32_t)); - vkStream->write((uint32_t*)&forMarshaling->maxPpsStdCount, sizeof(uint32_t)); - // WARNING PTR CHECK - uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pParametersAddInfo; - vkStream->putBe64(cgen_var_0); - if (forMarshaling->pParametersAddInfo) { - marshal_VkVideoDecodeH265SessionParametersAddInfoEXT( - vkStream, rootType, - (const VkVideoDecodeH265SessionParametersAddInfoEXT*)(forMarshaling - ->pParametersAddInfo)); - } -} - -void unmarshal_VkVideoDecodeH265SessionParametersCreateInfoEXT( - VulkanStream* vkStream, VkStructureType rootType, - VkVideoDecodeH265SessionParametersCreateInfoEXT* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->read((uint32_t*)&forUnmarshaling->maxSpsStdCount, sizeof(uint32_t)); - vkStream->read((uint32_t*)&forUnmarshaling->maxPpsStdCount, sizeof(uint32_t)); - // WARNING PTR CHECK - forUnmarshaling->pParametersAddInfo = - (const VkVideoDecodeH265SessionParametersAddInfoEXT*)(uintptr_t)vkStream->getBe64(); - if (forUnmarshaling->pParametersAddInfo) { - vkStream->alloc((void**)&forUnmarshaling->pParametersAddInfo, - sizeof(const VkVideoDecodeH265SessionParametersAddInfoEXT)); - unmarshal_VkVideoDecodeH265SessionParametersAddInfoEXT( - vkStream, rootType, - (VkVideoDecodeH265SessionParametersAddInfoEXT*)(forUnmarshaling->pParametersAddInfo)); - } -} - -void marshal_VkVideoDecodeH265PictureInfoEXT(VulkanStream* vkStream, VkStructureType rootType, - const VkVideoDecodeH265PictureInfoEXT* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((StdVideoDecodeH265PictureInfo*)forMarshaling->pStdPictureInfo, - sizeof(StdVideoDecodeH265PictureInfo)); - vkStream->write((uint32_t*)&forMarshaling->slicesCount, sizeof(uint32_t)); - vkStream->write((const uint32_t*)forMarshaling->pSlicesDataOffsets, - forMarshaling->slicesCount * sizeof(const uint32_t)); -} - -void unmarshal_VkVideoDecodeH265PictureInfoEXT(VulkanStream* vkStream, VkStructureType rootType, - VkVideoDecodeH265PictureInfoEXT* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->alloc((void**)&forUnmarshaling->pStdPictureInfo, - sizeof(StdVideoDecodeH265PictureInfo)); - vkStream->read((StdVideoDecodeH265PictureInfo*)forUnmarshaling->pStdPictureInfo, - sizeof(StdVideoDecodeH265PictureInfo)); - vkStream->read((uint32_t*)&forUnmarshaling->slicesCount, sizeof(uint32_t)); - vkStream->alloc((void**)&forUnmarshaling->pSlicesDataOffsets, - forUnmarshaling->slicesCount * sizeof(const uint32_t)); - vkStream->read((uint32_t*)forUnmarshaling->pSlicesDataOffsets, - forUnmarshaling->slicesCount * sizeof(const uint32_t)); -} - -void marshal_VkVideoDecodeH265DpbSlotInfoEXT(VulkanStream* vkStream, VkStructureType rootType, - const VkVideoDecodeH265DpbSlotInfoEXT* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((const StdVideoDecodeH265ReferenceInfo*)forMarshaling->pStdReferenceInfo, - sizeof(const StdVideoDecodeH265ReferenceInfo)); -} - -void unmarshal_VkVideoDecodeH265DpbSlotInfoEXT(VulkanStream* vkStream, VkStructureType rootType, - VkVideoDecodeH265DpbSlotInfoEXT* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->alloc((void**)&forUnmarshaling->pStdReferenceInfo, - sizeof(const StdVideoDecodeH265ReferenceInfo)); - vkStream->read((StdVideoDecodeH265ReferenceInfo*)forUnmarshaling->pStdReferenceInfo, - sizeof(const StdVideoDecodeH265ReferenceInfo)); -} - -#endif #ifdef VK_AMD_memory_overallocation_behavior void marshal_VkDeviceMemoryOverallocationCreateInfoAMD( VulkanStream* vkStream, VkStructureType rootType, @@ -25440,88 +26984,6 @@ void unmarshal_VkPresentFrameTokenGGP(VulkanStream* vkStream, VkStructureType ro #endif #ifdef VK_EXT_pipeline_creation_feedback -void marshal_VkPipelineCreationFeedbackEXT(VulkanStream* vkStream, VkStructureType rootType, - const VkPipelineCreationFeedbackEXT* forMarshaling) { - (void)rootType; - vkStream->write((VkPipelineCreationFeedbackFlagsEXT*)&forMarshaling->flags, - sizeof(VkPipelineCreationFeedbackFlagsEXT)); - vkStream->write((uint64_t*)&forMarshaling->duration, sizeof(uint64_t)); -} - -void unmarshal_VkPipelineCreationFeedbackEXT(VulkanStream* vkStream, VkStructureType rootType, - VkPipelineCreationFeedbackEXT* forUnmarshaling) { - (void)rootType; - vkStream->read((VkPipelineCreationFeedbackFlagsEXT*)&forUnmarshaling->flags, - sizeof(VkPipelineCreationFeedbackFlagsEXT)); - vkStream->read((uint64_t*)&forUnmarshaling->duration, sizeof(uint64_t)); -} - -void marshal_VkPipelineCreationFeedbackCreateInfoEXT( - VulkanStream* vkStream, VkStructureType rootType, - const VkPipelineCreationFeedbackCreateInfoEXT* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - marshal_VkPipelineCreationFeedbackEXT( - vkStream, rootType, - (VkPipelineCreationFeedbackEXT*)(forMarshaling->pPipelineCreationFeedback)); - vkStream->write((uint32_t*)&forMarshaling->pipelineStageCreationFeedbackCount, - sizeof(uint32_t)); - if (forMarshaling) { - for (uint32_t i = 0; i < (uint32_t)forMarshaling->pipelineStageCreationFeedbackCount; ++i) { - marshal_VkPipelineCreationFeedbackEXT( - vkStream, rootType, - (VkPipelineCreationFeedbackEXT*)(forMarshaling->pPipelineStageCreationFeedbacks + - i)); - } - } -} - -void unmarshal_VkPipelineCreationFeedbackCreateInfoEXT( - VulkanStream* vkStream, VkStructureType rootType, - VkPipelineCreationFeedbackCreateInfoEXT* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->alloc((void**)&forUnmarshaling->pPipelineCreationFeedback, - sizeof(VkPipelineCreationFeedbackEXT)); - unmarshal_VkPipelineCreationFeedbackEXT( - vkStream, rootType, - (VkPipelineCreationFeedbackEXT*)(forUnmarshaling->pPipelineCreationFeedback)); - vkStream->read((uint32_t*)&forUnmarshaling->pipelineStageCreationFeedbackCount, - sizeof(uint32_t)); - vkStream->alloc((void**)&forUnmarshaling->pPipelineStageCreationFeedbacks, - forUnmarshaling->pipelineStageCreationFeedbackCount * - sizeof(VkPipelineCreationFeedbackEXT)); - if (forUnmarshaling) { - for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->pipelineStageCreationFeedbackCount; - ++i) { - unmarshal_VkPipelineCreationFeedbackEXT( - vkStream, rootType, - (VkPipelineCreationFeedbackEXT*)(forUnmarshaling->pPipelineStageCreationFeedbacks + - i)); - } - } -} - #endif #ifdef VK_NV_shader_subgroup_partitioned #endif @@ -25682,42 +27144,6 @@ void unmarshal_VkDrawMeshTasksIndirectCommandNV(VulkanStream* vkStream, VkStruct #endif #ifdef VK_NV_fragment_shader_barycentric -void marshal_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV( - VulkanStream* vkStream, VkStructureType rootType, - const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkBool32*)&forMarshaling->fragmentShaderBarycentric, sizeof(VkBool32)); -} - -void unmarshal_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV( - VulkanStream* vkStream, VkStructureType rootType, - VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->read((VkBool32*)&forUnmarshaling->fragmentShaderBarycentric, sizeof(VkBool32)); -} - #endif #ifdef VK_NV_shader_image_footprint void marshal_VkPhysicalDeviceShaderImageFootprintFeaturesNV( @@ -26559,124 +27985,6 @@ void unmarshal_VkRenderPassFragmentDensityMapCreateInfoEXT( #ifdef VK_GOOGLE_decorate_string #endif #ifdef VK_EXT_subgroup_size_control -void marshal_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT( - VulkanStream* vkStream, VkStructureType rootType, - const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkBool32*)&forMarshaling->subgroupSizeControl, sizeof(VkBool32)); - vkStream->write((VkBool32*)&forMarshaling->computeFullSubgroups, sizeof(VkBool32)); -} - -void unmarshal_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT( - VulkanStream* vkStream, VkStructureType rootType, - VkPhysicalDeviceSubgroupSizeControlFeaturesEXT* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->read((VkBool32*)&forUnmarshaling->subgroupSizeControl, sizeof(VkBool32)); - vkStream->read((VkBool32*)&forUnmarshaling->computeFullSubgroups, sizeof(VkBool32)); -} - -void marshal_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT( - VulkanStream* vkStream, VkStructureType rootType, - const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((uint32_t*)&forMarshaling->minSubgroupSize, sizeof(uint32_t)); - vkStream->write((uint32_t*)&forMarshaling->maxSubgroupSize, sizeof(uint32_t)); - vkStream->write((uint32_t*)&forMarshaling->maxComputeWorkgroupSubgroups, sizeof(uint32_t)); - vkStream->write((VkShaderStageFlags*)&forMarshaling->requiredSubgroupSizeStages, - sizeof(VkShaderStageFlags)); -} - -void unmarshal_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT( - VulkanStream* vkStream, VkStructureType rootType, - VkPhysicalDeviceSubgroupSizeControlPropertiesEXT* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->read((uint32_t*)&forUnmarshaling->minSubgroupSize, sizeof(uint32_t)); - vkStream->read((uint32_t*)&forUnmarshaling->maxSubgroupSize, sizeof(uint32_t)); - vkStream->read((uint32_t*)&forUnmarshaling->maxComputeWorkgroupSubgroups, sizeof(uint32_t)); - vkStream->read((VkShaderStageFlags*)&forUnmarshaling->requiredSubgroupSizeStages, - sizeof(VkShaderStageFlags)); -} - -void marshal_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT( - VulkanStream* vkStream, VkStructureType rootType, - const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((uint32_t*)&forMarshaling->requiredSubgroupSize, sizeof(uint32_t)); -} - -void unmarshal_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT( - VulkanStream* vkStream, VkStructureType rootType, - VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->read((uint32_t*)&forUnmarshaling->requiredSubgroupSize, sizeof(uint32_t)); -} - #endif #ifdef VK_AMD_shader_core_properties2 void marshal_VkPhysicalDeviceShaderCoreProperties2AMD( @@ -27031,52 +28339,6 @@ void unmarshal_VkBufferDeviceAddressCreateInfoEXT( #endif #ifdef VK_EXT_tooling_info -void marshal_VkPhysicalDeviceToolPropertiesEXT( - VulkanStream* vkStream, VkStructureType rootType, - const VkPhysicalDeviceToolPropertiesEXT* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((char*)forMarshaling->name, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char)); - vkStream->write((char*)forMarshaling->version, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char)); - vkStream->write((VkToolPurposeFlagsEXT*)&forMarshaling->purposes, - sizeof(VkToolPurposeFlagsEXT)); - vkStream->write((char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char)); - vkStream->write((char*)forMarshaling->layer, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char)); -} - -void unmarshal_VkPhysicalDeviceToolPropertiesEXT( - VulkanStream* vkStream, VkStructureType rootType, - VkPhysicalDeviceToolPropertiesEXT* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->read((char*)forUnmarshaling->name, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char)); - vkStream->read((char*)forUnmarshaling->version, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char)); - vkStream->read((VkToolPurposeFlagsEXT*)&forUnmarshaling->purposes, - sizeof(VkToolPurposeFlagsEXT)); - vkStream->read((char*)forUnmarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char)); - vkStream->read((char*)forUnmarshaling->layer, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char)); -} - #endif #ifdef VK_EXT_separate_stencil_usage #endif @@ -28072,22 +29334,63 @@ void unmarshal_VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT( } #endif -#ifdef VK_EXT_shader_demote_to_helper_invocation -void marshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT( +#ifdef VK_EXT_surface_maintenance1 +void marshal_VkSurfacePresentModeEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkSurfacePresentModeEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkPresentModeKHR*)&forMarshaling->presentMode, sizeof(VkPresentModeKHR)); +} + +void unmarshal_VkSurfacePresentModeEXT(VulkanStream* vkStream, VkStructureType rootType, + VkSurfacePresentModeEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkPresentModeKHR*)&forUnmarshaling->presentMode, sizeof(VkPresentModeKHR)); +} + +void marshal_VkSurfacePresentScalingCapabilitiesEXT( VulkanStream* vkStream, VkStructureType rootType, - const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT* forMarshaling) { + const VkSurfacePresentScalingCapabilitiesEXT* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkBool32*)&forMarshaling->shaderDemoteToHelperInvocation, sizeof(VkBool32)); + vkStream->write((VkPresentScalingFlagsEXT*)&forMarshaling->supportedPresentScaling, + sizeof(VkPresentScalingFlagsEXT)); + vkStream->write((VkPresentGravityFlagsEXT*)&forMarshaling->supportedPresentGravityX, + sizeof(VkPresentGravityFlagsEXT)); + vkStream->write((VkPresentGravityFlagsEXT*)&forMarshaling->supportedPresentGravityY, + sizeof(VkPresentGravityFlagsEXT)); + marshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->minScaledImageExtent)); + marshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->maxScaledImageExtent)); } -void unmarshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT( +void unmarshal_VkSurfacePresentScalingCapabilitiesEXT( VulkanStream* vkStream, VkStructureType rootType, - VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT* forUnmarshaling) { + VkSurfacePresentScalingCapabilitiesEXT* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -28106,10 +29409,334 @@ void unmarshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT( *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((VkBool32*)&forUnmarshaling->shaderDemoteToHelperInvocation, sizeof(VkBool32)); + vkStream->read((VkPresentScalingFlagsEXT*)&forUnmarshaling->supportedPresentScaling, + sizeof(VkPresentScalingFlagsEXT)); + vkStream->read((VkPresentGravityFlagsEXT*)&forUnmarshaling->supportedPresentGravityX, + sizeof(VkPresentGravityFlagsEXT)); + vkStream->read((VkPresentGravityFlagsEXT*)&forUnmarshaling->supportedPresentGravityY, + sizeof(VkPresentGravityFlagsEXT)); + unmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forUnmarshaling->minScaledImageExtent)); + unmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forUnmarshaling->maxScaledImageExtent)); +} + +void marshal_VkSurfacePresentModeCompatibilityEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkSurfacePresentModeCompatibilityEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)&forMarshaling->presentModeCount, sizeof(uint32_t)); + // WARNING PTR CHECK + uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pPresentModes; + vkStream->putBe64(cgen_var_0); + if (forMarshaling->pPresentModes) { + vkStream->write((VkPresentModeKHR*)forMarshaling->pPresentModes, + forMarshaling->presentModeCount * sizeof(VkPresentModeKHR)); + } +} + +void unmarshal_VkSurfacePresentModeCompatibilityEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkSurfacePresentModeCompatibilityEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint32_t*)&forUnmarshaling->presentModeCount, sizeof(uint32_t)); + // WARNING PTR CHECK + forUnmarshaling->pPresentModes = (VkPresentModeKHR*)(uintptr_t)vkStream->getBe64(); + if (forUnmarshaling->pPresentModes) { + vkStream->alloc((void**)&forUnmarshaling->pPresentModes, + forUnmarshaling->presentModeCount * sizeof(VkPresentModeKHR)); + vkStream->read((VkPresentModeKHR*)forUnmarshaling->pPresentModes, + forUnmarshaling->presentModeCount * sizeof(VkPresentModeKHR)); + } } #endif +#ifdef VK_EXT_swapchain_maintenance1 +void marshal_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->swapchainMaintenance1, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->swapchainMaintenance1, sizeof(VkBool32)); +} + +void marshal_VkSwapchainPresentFenceInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkSwapchainPresentFenceInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)&forMarshaling->swapchainCount, sizeof(uint32_t)); + if (forMarshaling->swapchainCount) { + uint64_t* cgen_var_0; + vkStream->alloc((void**)&cgen_var_0, forMarshaling->swapchainCount * 8); + vkStream->handleMapping()->mapHandles_VkFence_u64(forMarshaling->pFences, cgen_var_0, + forMarshaling->swapchainCount); + vkStream->write((uint64_t*)cgen_var_0, forMarshaling->swapchainCount * 8); + } +} + +void unmarshal_VkSwapchainPresentFenceInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkSwapchainPresentFenceInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint32_t*)&forUnmarshaling->swapchainCount, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pFences, + forUnmarshaling->swapchainCount * sizeof(const VkFence)); + if (forUnmarshaling->swapchainCount) { + uint64_t* cgen_var_0; + vkStream->alloc((void**)&cgen_var_0, forUnmarshaling->swapchainCount * 8); + vkStream->read((uint64_t*)cgen_var_0, forUnmarshaling->swapchainCount * 8); + vkStream->handleMapping()->mapHandles_u64_VkFence( + cgen_var_0, (VkFence*)forUnmarshaling->pFences, forUnmarshaling->swapchainCount); + } +} + +void marshal_VkSwapchainPresentModesCreateInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkSwapchainPresentModesCreateInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)&forMarshaling->presentModeCount, sizeof(uint32_t)); + vkStream->write((const VkPresentModeKHR*)forMarshaling->pPresentModes, + forMarshaling->presentModeCount * sizeof(const VkPresentModeKHR)); +} + +void unmarshal_VkSwapchainPresentModesCreateInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkSwapchainPresentModesCreateInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint32_t*)&forUnmarshaling->presentModeCount, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pPresentModes, + forUnmarshaling->presentModeCount * sizeof(const VkPresentModeKHR)); + vkStream->read((VkPresentModeKHR*)forUnmarshaling->pPresentModes, + forUnmarshaling->presentModeCount * sizeof(const VkPresentModeKHR)); +} + +void marshal_VkSwapchainPresentModeInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkSwapchainPresentModeInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)&forMarshaling->swapchainCount, sizeof(uint32_t)); + vkStream->write((const VkPresentModeKHR*)forMarshaling->pPresentModes, + forMarshaling->swapchainCount * sizeof(const VkPresentModeKHR)); +} + +void unmarshal_VkSwapchainPresentModeInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkSwapchainPresentModeInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint32_t*)&forUnmarshaling->swapchainCount, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pPresentModes, + forUnmarshaling->swapchainCount * sizeof(const VkPresentModeKHR)); + vkStream->read((VkPresentModeKHR*)forUnmarshaling->pPresentModes, + forUnmarshaling->swapchainCount * sizeof(const VkPresentModeKHR)); +} + +void marshal_VkSwapchainPresentScalingCreateInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkSwapchainPresentScalingCreateInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkPresentScalingFlagsEXT*)&forMarshaling->scalingBehavior, + sizeof(VkPresentScalingFlagsEXT)); + vkStream->write((VkPresentGravityFlagsEXT*)&forMarshaling->presentGravityX, + sizeof(VkPresentGravityFlagsEXT)); + vkStream->write((VkPresentGravityFlagsEXT*)&forMarshaling->presentGravityY, + sizeof(VkPresentGravityFlagsEXT)); +} + +void unmarshal_VkSwapchainPresentScalingCreateInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkSwapchainPresentScalingCreateInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkPresentScalingFlagsEXT*)&forUnmarshaling->scalingBehavior, + sizeof(VkPresentScalingFlagsEXT)); + vkStream->read((VkPresentGravityFlagsEXT*)&forUnmarshaling->presentGravityX, + sizeof(VkPresentGravityFlagsEXT)); + vkStream->read((VkPresentGravityFlagsEXT*)&forUnmarshaling->presentGravityY, + sizeof(VkPresentGravityFlagsEXT)); +} + +void marshal_VkReleaseSwapchainImagesInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkReleaseSwapchainImagesInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + uint64_t cgen_var_0; + vkStream->handleMapping()->mapHandles_VkSwapchainKHR_u64(&forMarshaling->swapchain, &cgen_var_0, + 1); + vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->write((uint32_t*)&forMarshaling->imageIndexCount, sizeof(uint32_t)); + vkStream->write((const uint32_t*)forMarshaling->pImageIndices, + forMarshaling->imageIndexCount * sizeof(const uint32_t)); +} + +void unmarshal_VkReleaseSwapchainImagesInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkReleaseSwapchainImagesInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + uint64_t cgen_var_0; + vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkSwapchainKHR( + &cgen_var_0, (VkSwapchainKHR*)&forUnmarshaling->swapchain, 1); + vkStream->read((uint32_t*)&forUnmarshaling->imageIndexCount, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pImageIndices, + forUnmarshaling->imageIndexCount * sizeof(const uint32_t)); + vkStream->read((uint32_t*)forUnmarshaling->pImageIndices, + forUnmarshaling->imageIndexCount * sizeof(const uint32_t)); +} + +#endif +#ifdef VK_EXT_shader_demote_to_helper_invocation +#endif #ifdef VK_NV_device_generated_commands void marshal_VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV( VulkanStream* vkStream, VkStructureType rootType, @@ -28874,56 +30501,6 @@ void unmarshal_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT( vkStream->read((VkBool32*)&forUnmarshaling->texelBufferAlignment, sizeof(VkBool32)); } -void marshal_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT( - VulkanStream* vkStream, VkStructureType rootType, - const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT* forMarshaling) { - (void)rootType; - vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forMarshaling->sType; - } - marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkDeviceSize*)&forMarshaling->storageTexelBufferOffsetAlignmentBytes, - sizeof(VkDeviceSize)); - vkStream->write((VkBool32*)&forMarshaling->storageTexelBufferOffsetSingleTexelAlignment, - sizeof(VkBool32)); - vkStream->write((VkDeviceSize*)&forMarshaling->uniformTexelBufferOffsetAlignmentBytes, - sizeof(VkDeviceSize)); - vkStream->write((VkBool32*)&forMarshaling->uniformTexelBufferOffsetSingleTexelAlignment, - sizeof(VkBool32)); -} - -void unmarshal_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT( - VulkanStream* vkStream, VkStructureType rootType, - VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT* forUnmarshaling) { - (void)rootType; - vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); - if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { - rootType = forUnmarshaling->sType; - } - size_t pNext_size; - pNext_size = vkStream->getBe32(); - forUnmarshaling->pNext = nullptr; - if (pNext_size) { - vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); - vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); - VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); - vkStream->alloc((void**)&forUnmarshaling->pNext, - goldfish_vk_extension_struct_size_with_stream_features( - vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); - *(VkStructureType*)forUnmarshaling->pNext = extType; - unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); - } - vkStream->read((VkDeviceSize*)&forUnmarshaling->storageTexelBufferOffsetAlignmentBytes, - sizeof(VkDeviceSize)); - vkStream->read((VkBool32*)&forUnmarshaling->storageTexelBufferOffsetSingleTexelAlignment, - sizeof(VkBool32)); - vkStream->read((VkDeviceSize*)&forUnmarshaling->uniformTexelBufferOffsetAlignmentBytes, - sizeof(VkDeviceSize)); - vkStream->read((VkBool32*)&forUnmarshaling->uniformTexelBufferOffsetSingleTexelAlignment, - sizeof(VkBool32)); -} - #endif #ifdef VK_QCOM_render_pass_transform void marshal_VkRenderPassTransformBeginInfoQCOM( @@ -29343,22 +30920,22 @@ void unmarshal_VkPhysicalDeviceCustomBorderColorFeaturesEXT( #endif #ifdef VK_GOOGLE_user_type #endif -#ifdef VK_EXT_private_data -void marshal_VkPhysicalDevicePrivateDataFeaturesEXT( +#ifdef VK_NV_present_barrier +void marshal_VkPhysicalDevicePresentBarrierFeaturesNV( VulkanStream* vkStream, VkStructureType rootType, - const VkPhysicalDevicePrivateDataFeaturesEXT* forMarshaling) { + const VkPhysicalDevicePresentBarrierFeaturesNV* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkBool32*)&forMarshaling->privateData, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->presentBarrier, sizeof(VkBool32)); } -void unmarshal_VkPhysicalDevicePrivateDataFeaturesEXT( +void unmarshal_VkPhysicalDevicePresentBarrierFeaturesNV( VulkanStream* vkStream, VkStructureType rootType, - VkPhysicalDevicePrivateDataFeaturesEXT* forUnmarshaling) { + VkPhysicalDevicePresentBarrierFeaturesNV* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -29377,23 +30954,24 @@ void unmarshal_VkPhysicalDevicePrivateDataFeaturesEXT( *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((VkBool32*)&forUnmarshaling->privateData, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->presentBarrier, sizeof(VkBool32)); } -void marshal_VkDevicePrivateDataCreateInfoEXT( +void marshal_VkSurfaceCapabilitiesPresentBarrierNV( VulkanStream* vkStream, VkStructureType rootType, - const VkDevicePrivateDataCreateInfoEXT* forMarshaling) { + const VkSurfaceCapabilitiesPresentBarrierNV* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((uint32_t*)&forMarshaling->privateDataSlotRequestCount, sizeof(uint32_t)); + vkStream->write((VkBool32*)&forMarshaling->presentBarrierSupported, sizeof(VkBool32)); } -void unmarshal_VkDevicePrivateDataCreateInfoEXT(VulkanStream* vkStream, VkStructureType rootType, - VkDevicePrivateDataCreateInfoEXT* forUnmarshaling) { +void unmarshal_VkSurfaceCapabilitiesPresentBarrierNV( + VulkanStream* vkStream, VkStructureType rootType, + VkSurfaceCapabilitiesPresentBarrierNV* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -29412,23 +30990,24 @@ void unmarshal_VkDevicePrivateDataCreateInfoEXT(VulkanStream* vkStream, VkStruct *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((uint32_t*)&forUnmarshaling->privateDataSlotRequestCount, sizeof(uint32_t)); + vkStream->read((VkBool32*)&forUnmarshaling->presentBarrierSupported, sizeof(VkBool32)); } -void marshal_VkPrivateDataSlotCreateInfoEXT(VulkanStream* vkStream, VkStructureType rootType, - const VkPrivateDataSlotCreateInfoEXT* forMarshaling) { +void marshal_VkSwapchainPresentBarrierCreateInfoNV( + VulkanStream* vkStream, VkStructureType rootType, + const VkSwapchainPresentBarrierCreateInfoNV* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkPrivateDataSlotCreateFlagsEXT*)&forMarshaling->flags, - sizeof(VkPrivateDataSlotCreateFlagsEXT)); + vkStream->write((VkBool32*)&forMarshaling->presentBarrierEnable, sizeof(VkBool32)); } -void unmarshal_VkPrivateDataSlotCreateInfoEXT(VulkanStream* vkStream, VkStructureType rootType, - VkPrivateDataSlotCreateInfoEXT* forUnmarshaling) { +void unmarshal_VkSwapchainPresentBarrierCreateInfoNV( + VulkanStream* vkStream, VkStructureType rootType, + VkSwapchainPresentBarrierCreateInfoNV* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -29447,27 +31026,30 @@ void unmarshal_VkPrivateDataSlotCreateInfoEXT(VulkanStream* vkStream, VkStructur *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((VkPrivateDataSlotCreateFlagsEXT*)&forUnmarshaling->flags, - sizeof(VkPrivateDataSlotCreateFlagsEXT)); + vkStream->read((VkBool32*)&forUnmarshaling->presentBarrierEnable, sizeof(VkBool32)); } #endif +#ifdef VK_EXT_private_data +#endif #ifdef VK_EXT_pipeline_creation_cache_control -void marshal_VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT( +#endif +#ifdef VK_NV_device_diagnostics_config +void marshal_VkPhysicalDeviceDiagnosticsConfigFeaturesNV( VulkanStream* vkStream, VkStructureType rootType, - const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT* forMarshaling) { + const VkPhysicalDeviceDiagnosticsConfigFeaturesNV* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkBool32*)&forMarshaling->pipelineCreationCacheControl, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->diagnosticsConfig, sizeof(VkBool32)); } -void unmarshal_VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT( +void unmarshal_VkPhysicalDeviceDiagnosticsConfigFeaturesNV( VulkanStream* vkStream, VkStructureType rootType, - VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT* forUnmarshaling) { + VkPhysicalDeviceDiagnosticsConfigFeaturesNV* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -29486,26 +31068,209 @@ void unmarshal_VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT( *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((VkBool32*)&forUnmarshaling->pipelineCreationCacheControl, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->diagnosticsConfig, sizeof(VkBool32)); +} + +void marshal_VkDeviceDiagnosticsConfigCreateInfoNV( + VulkanStream* vkStream, VkStructureType rootType, + const VkDeviceDiagnosticsConfigCreateInfoNV* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkDeviceDiagnosticsConfigFlagsNV*)&forMarshaling->flags, + sizeof(VkDeviceDiagnosticsConfigFlagsNV)); +} + +void unmarshal_VkDeviceDiagnosticsConfigCreateInfoNV( + VulkanStream* vkStream, VkStructureType rootType, + VkDeviceDiagnosticsConfigCreateInfoNV* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkDeviceDiagnosticsConfigFlagsNV*)&forUnmarshaling->flags, + sizeof(VkDeviceDiagnosticsConfigFlagsNV)); } #endif -#ifdef VK_NV_device_diagnostics_config -void marshal_VkPhysicalDeviceDiagnosticsConfigFeaturesNV( +#ifdef VK_QCOM_render_pass_store_ops +#endif +#ifdef VK_NV_low_latency +void marshal_VkQueryLowLatencySupportNV(VulkanStream* vkStream, VkStructureType rootType, + const VkQueryLowLatencySupportNV* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((void*)forMarshaling->pQueriedLowLatencyData, sizeof(uint8_t)); +} + +void unmarshal_VkQueryLowLatencySupportNV(VulkanStream* vkStream, VkStructureType rootType, + VkQueryLowLatencySupportNV* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->alloc((void**)&forUnmarshaling->pQueriedLowLatencyData, sizeof(uint8_t)); + vkStream->read((void*)forUnmarshaling->pQueriedLowLatencyData, sizeof(uint8_t)); +} + +#endif +#ifdef VK_EXT_metal_objects +void marshal_VkExportMetalObjectCreateInfoEXT( VulkanStream* vkStream, VkStructureType rootType, - const VkPhysicalDeviceDiagnosticsConfigFeaturesNV* forMarshaling) { + const VkExportMetalObjectCreateInfoEXT* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkBool32*)&forMarshaling->diagnosticsConfig, sizeof(VkBool32)); + vkStream->write((VkExportMetalObjectTypeFlagBitsEXT*)&forMarshaling->exportObjectType, + sizeof(VkExportMetalObjectTypeFlagBitsEXT)); } -void unmarshal_VkPhysicalDeviceDiagnosticsConfigFeaturesNV( +void unmarshal_VkExportMetalObjectCreateInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkExportMetalObjectCreateInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkExportMetalObjectTypeFlagBitsEXT*)&forUnmarshaling->exportObjectType, + sizeof(VkExportMetalObjectTypeFlagBitsEXT)); +} + +void marshal_VkExportMetalObjectsInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkExportMetalObjectsInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); +} + +void unmarshal_VkExportMetalObjectsInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkExportMetalObjectsInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } +} + +void marshal_VkExportMetalDeviceInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkExportMetalDeviceInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((MTLDevice_id*)&forMarshaling->mtlDevice, sizeof(MTLDevice_id)); +} + +void unmarshal_VkExportMetalDeviceInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkExportMetalDeviceInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((MTLDevice_id*)&forUnmarshaling->mtlDevice, sizeof(MTLDevice_id)); +} + +void marshal_VkExportMetalCommandQueueInfoEXT( VulkanStream* vkStream, VkStructureType rootType, - VkPhysicalDeviceDiagnosticsConfigFeaturesNV* forUnmarshaling) { + const VkExportMetalCommandQueueInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + uint64_t cgen_var_0; + vkStream->handleMapping()->mapHandles_VkQueue_u64(&forMarshaling->queue, &cgen_var_0, 1); + vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->write((MTLCommandQueue_id*)&forMarshaling->mtlCommandQueue, + sizeof(MTLCommandQueue_id)); +} + +void unmarshal_VkExportMetalCommandQueueInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkExportMetalCommandQueueInfoEXT* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -29524,25 +31289,423 @@ void unmarshal_VkPhysicalDeviceDiagnosticsConfigFeaturesNV( *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((VkBool32*)&forUnmarshaling->diagnosticsConfig, sizeof(VkBool32)); + uint64_t cgen_var_0; + vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkQueue(&cgen_var_0, + (VkQueue*)&forUnmarshaling->queue, 1); + vkStream->read((MTLCommandQueue_id*)&forUnmarshaling->mtlCommandQueue, + sizeof(MTLCommandQueue_id)); } -void marshal_VkDeviceDiagnosticsConfigCreateInfoNV( +void marshal_VkExportMetalBufferInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkExportMetalBufferInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + uint64_t cgen_var_0; + vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_0, + 1); + vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->write((MTLBuffer_id*)&forMarshaling->mtlBuffer, sizeof(MTLBuffer_id)); +} + +void unmarshal_VkExportMetalBufferInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkExportMetalBufferInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + uint64_t cgen_var_0; + vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory( + &cgen_var_0, (VkDeviceMemory*)&forUnmarshaling->memory, 1); + vkStream->read((MTLBuffer_id*)&forUnmarshaling->mtlBuffer, sizeof(MTLBuffer_id)); +} + +void marshal_VkImportMetalBufferInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkImportMetalBufferInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((MTLBuffer_id*)&forMarshaling->mtlBuffer, sizeof(MTLBuffer_id)); +} + +void unmarshal_VkImportMetalBufferInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkImportMetalBufferInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((MTLBuffer_id*)&forUnmarshaling->mtlBuffer, sizeof(MTLBuffer_id)); +} + +void marshal_VkExportMetalTextureInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkExportMetalTextureInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + uint64_t cgen_var_0; + vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_0, 1); + vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); + uint64_t cgen_var_1; + vkStream->handleMapping()->mapHandles_VkImageView_u64(&forMarshaling->imageView, &cgen_var_1, + 1); + vkStream->write((uint64_t*)&cgen_var_1, 1 * 8); + uint64_t cgen_var_2; + vkStream->handleMapping()->mapHandles_VkBufferView_u64(&forMarshaling->bufferView, &cgen_var_2, + 1); + vkStream->write((uint64_t*)&cgen_var_2, 1 * 8); + vkStream->write((VkImageAspectFlagBits*)&forMarshaling->plane, sizeof(VkImageAspectFlagBits)); + vkStream->write((MTLTexture_id*)&forMarshaling->mtlTexture, sizeof(MTLTexture_id)); +} + +void unmarshal_VkExportMetalTextureInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkExportMetalTextureInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + uint64_t cgen_var_0; + vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0, + (VkImage*)&forUnmarshaling->image, 1); + uint64_t cgen_var_1; + vkStream->read((uint64_t*)&cgen_var_1, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkImageView( + &cgen_var_1, (VkImageView*)&forUnmarshaling->imageView, 1); + uint64_t cgen_var_2; + vkStream->read((uint64_t*)&cgen_var_2, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkBufferView( + &cgen_var_2, (VkBufferView*)&forUnmarshaling->bufferView, 1); + vkStream->read((VkImageAspectFlagBits*)&forUnmarshaling->plane, sizeof(VkImageAspectFlagBits)); + vkStream->read((MTLTexture_id*)&forUnmarshaling->mtlTexture, sizeof(MTLTexture_id)); +} + +void marshal_VkImportMetalTextureInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkImportMetalTextureInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkImageAspectFlagBits*)&forMarshaling->plane, sizeof(VkImageAspectFlagBits)); + vkStream->write((MTLTexture_id*)&forMarshaling->mtlTexture, sizeof(MTLTexture_id)); +} + +void unmarshal_VkImportMetalTextureInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkImportMetalTextureInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkImageAspectFlagBits*)&forUnmarshaling->plane, sizeof(VkImageAspectFlagBits)); + vkStream->read((MTLTexture_id*)&forUnmarshaling->mtlTexture, sizeof(MTLTexture_id)); +} + +void marshal_VkExportMetalIOSurfaceInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkExportMetalIOSurfaceInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + uint64_t cgen_var_0; + vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_0, 1); + vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->write((IOSurfaceRef*)&forMarshaling->ioSurface, sizeof(IOSurfaceRef)); +} + +void unmarshal_VkExportMetalIOSurfaceInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkExportMetalIOSurfaceInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + uint64_t cgen_var_0; + vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0, + (VkImage*)&forUnmarshaling->image, 1); + vkStream->read((IOSurfaceRef*)&forUnmarshaling->ioSurface, sizeof(IOSurfaceRef)); +} + +void marshal_VkImportMetalIOSurfaceInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkImportMetalIOSurfaceInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((IOSurfaceRef*)&forMarshaling->ioSurface, sizeof(IOSurfaceRef)); +} + +void unmarshal_VkImportMetalIOSurfaceInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkImportMetalIOSurfaceInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((IOSurfaceRef*)&forUnmarshaling->ioSurface, sizeof(IOSurfaceRef)); +} + +void marshal_VkExportMetalSharedEventInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkExportMetalSharedEventInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + uint64_t cgen_var_0; + vkStream->handleMapping()->mapHandles_VkSemaphore_u64(&forMarshaling->semaphore, &cgen_var_0, + 1); + vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); + uint64_t cgen_var_1; + vkStream->handleMapping()->mapHandles_VkEvent_u64(&forMarshaling->event, &cgen_var_1, 1); + vkStream->write((uint64_t*)&cgen_var_1, 1 * 8); + vkStream->write((MTLSharedEvent_id*)&forMarshaling->mtlSharedEvent, sizeof(MTLSharedEvent_id)); +} + +void unmarshal_VkExportMetalSharedEventInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkExportMetalSharedEventInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + uint64_t cgen_var_0; + vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkSemaphore( + &cgen_var_0, (VkSemaphore*)&forUnmarshaling->semaphore, 1); + uint64_t cgen_var_1; + vkStream->read((uint64_t*)&cgen_var_1, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkEvent(&cgen_var_1, + (VkEvent*)&forUnmarshaling->event, 1); + vkStream->read((MTLSharedEvent_id*)&forUnmarshaling->mtlSharedEvent, sizeof(MTLSharedEvent_id)); +} + +void marshal_VkImportMetalSharedEventInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkImportMetalSharedEventInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((MTLSharedEvent_id*)&forMarshaling->mtlSharedEvent, sizeof(MTLSharedEvent_id)); +} + +void unmarshal_VkImportMetalSharedEventInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkImportMetalSharedEventInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((MTLSharedEvent_id*)&forUnmarshaling->mtlSharedEvent, sizeof(MTLSharedEvent_id)); +} + +#endif +#ifdef VK_EXT_descriptor_buffer +void marshal_VkPhysicalDeviceDescriptorBufferPropertiesEXT( VulkanStream* vkStream, VkStructureType rootType, - const VkDeviceDiagnosticsConfigCreateInfoNV* forMarshaling) { + const VkPhysicalDeviceDescriptorBufferPropertiesEXT* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkDeviceDiagnosticsConfigFlagsNV*)&forMarshaling->flags, - sizeof(VkDeviceDiagnosticsConfigFlagsNV)); + vkStream->write((VkBool32*)&forMarshaling->combinedImageSamplerDescriptorSingleArray, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->bufferlessPushDescriptors, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->allowSamplerImageViewPostSubmitCreation, + sizeof(VkBool32)); + vkStream->write((VkDeviceSize*)&forMarshaling->descriptorBufferOffsetAlignment, + sizeof(VkDeviceSize)); + vkStream->write((uint32_t*)&forMarshaling->maxDescriptorBufferBindings, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxResourceDescriptorBufferBindings, + sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxSamplerDescriptorBufferBindings, + sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxEmbeddedImmutableSamplerBindings, + sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxEmbeddedImmutableSamplers, sizeof(uint32_t)); + uint64_t cgen_var_0 = (uint64_t)forMarshaling->bufferCaptureReplayDescriptorDataSize; + vkStream->putBe64(cgen_var_0); + uint64_t cgen_var_1 = (uint64_t)forMarshaling->imageCaptureReplayDescriptorDataSize; + vkStream->putBe64(cgen_var_1); + uint64_t cgen_var_2 = (uint64_t)forMarshaling->imageViewCaptureReplayDescriptorDataSize; + vkStream->putBe64(cgen_var_2); + uint64_t cgen_var_3 = (uint64_t)forMarshaling->samplerCaptureReplayDescriptorDataSize; + vkStream->putBe64(cgen_var_3); + uint64_t cgen_var_4 = + (uint64_t)forMarshaling->accelerationStructureCaptureReplayDescriptorDataSize; + vkStream->putBe64(cgen_var_4); + uint64_t cgen_var_5 = (uint64_t)forMarshaling->samplerDescriptorSize; + vkStream->putBe64(cgen_var_5); + uint64_t cgen_var_6 = (uint64_t)forMarshaling->combinedImageSamplerDescriptorSize; + vkStream->putBe64(cgen_var_6); + uint64_t cgen_var_7 = (uint64_t)forMarshaling->sampledImageDescriptorSize; + vkStream->putBe64(cgen_var_7); + uint64_t cgen_var_8 = (uint64_t)forMarshaling->storageImageDescriptorSize; + vkStream->putBe64(cgen_var_8); + uint64_t cgen_var_9 = (uint64_t)forMarshaling->uniformTexelBufferDescriptorSize; + vkStream->putBe64(cgen_var_9); + uint64_t cgen_var_10 = (uint64_t)forMarshaling->robustUniformTexelBufferDescriptorSize; + vkStream->putBe64(cgen_var_10); + uint64_t cgen_var_11 = (uint64_t)forMarshaling->storageTexelBufferDescriptorSize; + vkStream->putBe64(cgen_var_11); + uint64_t cgen_var_12 = (uint64_t)forMarshaling->robustStorageTexelBufferDescriptorSize; + vkStream->putBe64(cgen_var_12); + uint64_t cgen_var_13 = (uint64_t)forMarshaling->uniformBufferDescriptorSize; + vkStream->putBe64(cgen_var_13); + uint64_t cgen_var_14 = (uint64_t)forMarshaling->robustUniformBufferDescriptorSize; + vkStream->putBe64(cgen_var_14); + uint64_t cgen_var_15 = (uint64_t)forMarshaling->storageBufferDescriptorSize; + vkStream->putBe64(cgen_var_15); + uint64_t cgen_var_16 = (uint64_t)forMarshaling->robustStorageBufferDescriptorSize; + vkStream->putBe64(cgen_var_16); + uint64_t cgen_var_17 = (uint64_t)forMarshaling->inputAttachmentDescriptorSize; + vkStream->putBe64(cgen_var_17); + uint64_t cgen_var_18 = (uint64_t)forMarshaling->accelerationStructureDescriptorSize; + vkStream->putBe64(cgen_var_18); + vkStream->write((VkDeviceSize*)&forMarshaling->maxSamplerDescriptorBufferRange, + sizeof(VkDeviceSize)); + vkStream->write((VkDeviceSize*)&forMarshaling->maxResourceDescriptorBufferRange, + sizeof(VkDeviceSize)); + vkStream->write((VkDeviceSize*)&forMarshaling->samplerDescriptorBufferAddressSpaceSize, + sizeof(VkDeviceSize)); + vkStream->write((VkDeviceSize*)&forMarshaling->resourceDescriptorBufferAddressSpaceSize, + sizeof(VkDeviceSize)); + vkStream->write((VkDeviceSize*)&forMarshaling->descriptorBufferAddressSpaceSize, + sizeof(VkDeviceSize)); } -void unmarshal_VkDeviceDiagnosticsConfigCreateInfoNV( +void unmarshal_VkPhysicalDeviceDescriptorBufferPropertiesEXT( VulkanStream* vkStream, VkStructureType rootType, - VkDeviceDiagnosticsConfigCreateInfoNV* forUnmarshaling) { + VkPhysicalDeviceDescriptorBufferPropertiesEXT* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -29561,12 +31724,715 @@ void unmarshal_VkDeviceDiagnosticsConfigCreateInfoNV( *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((VkDeviceDiagnosticsConfigFlagsNV*)&forUnmarshaling->flags, - sizeof(VkDeviceDiagnosticsConfigFlagsNV)); + vkStream->read((VkBool32*)&forUnmarshaling->combinedImageSamplerDescriptorSingleArray, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->bufferlessPushDescriptors, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->allowSamplerImageViewPostSubmitCreation, + sizeof(VkBool32)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->descriptorBufferOffsetAlignment, + sizeof(VkDeviceSize)); + vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorBufferBindings, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxResourceDescriptorBufferBindings, + sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxSamplerDescriptorBufferBindings, + sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxEmbeddedImmutableSamplerBindings, + sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxEmbeddedImmutableSamplers, sizeof(uint32_t)); + forUnmarshaling->bufferCaptureReplayDescriptorDataSize = (size_t)vkStream->getBe64(); + forUnmarshaling->imageCaptureReplayDescriptorDataSize = (size_t)vkStream->getBe64(); + forUnmarshaling->imageViewCaptureReplayDescriptorDataSize = (size_t)vkStream->getBe64(); + forUnmarshaling->samplerCaptureReplayDescriptorDataSize = (size_t)vkStream->getBe64(); + forUnmarshaling->accelerationStructureCaptureReplayDescriptorDataSize = + (size_t)vkStream->getBe64(); + forUnmarshaling->samplerDescriptorSize = (size_t)vkStream->getBe64(); + forUnmarshaling->combinedImageSamplerDescriptorSize = (size_t)vkStream->getBe64(); + forUnmarshaling->sampledImageDescriptorSize = (size_t)vkStream->getBe64(); + forUnmarshaling->storageImageDescriptorSize = (size_t)vkStream->getBe64(); + forUnmarshaling->uniformTexelBufferDescriptorSize = (size_t)vkStream->getBe64(); + forUnmarshaling->robustUniformTexelBufferDescriptorSize = (size_t)vkStream->getBe64(); + forUnmarshaling->storageTexelBufferDescriptorSize = (size_t)vkStream->getBe64(); + forUnmarshaling->robustStorageTexelBufferDescriptorSize = (size_t)vkStream->getBe64(); + forUnmarshaling->uniformBufferDescriptorSize = (size_t)vkStream->getBe64(); + forUnmarshaling->robustUniformBufferDescriptorSize = (size_t)vkStream->getBe64(); + forUnmarshaling->storageBufferDescriptorSize = (size_t)vkStream->getBe64(); + forUnmarshaling->robustStorageBufferDescriptorSize = (size_t)vkStream->getBe64(); + forUnmarshaling->inputAttachmentDescriptorSize = (size_t)vkStream->getBe64(); + forUnmarshaling->accelerationStructureDescriptorSize = (size_t)vkStream->getBe64(); + vkStream->read((VkDeviceSize*)&forUnmarshaling->maxSamplerDescriptorBufferRange, + sizeof(VkDeviceSize)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->maxResourceDescriptorBufferRange, + sizeof(VkDeviceSize)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->samplerDescriptorBufferAddressSpaceSize, + sizeof(VkDeviceSize)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->resourceDescriptorBufferAddressSpaceSize, + sizeof(VkDeviceSize)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->descriptorBufferAddressSpaceSize, + sizeof(VkDeviceSize)); +} + +void marshal_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + uint64_t cgen_var_0 = (uint64_t)forMarshaling->combinedImageSamplerDensityMapDescriptorSize; + vkStream->putBe64(cgen_var_0); +} + +void unmarshal_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + forUnmarshaling->combinedImageSamplerDensityMapDescriptorSize = (size_t)vkStream->getBe64(); +} + +void marshal_VkPhysicalDeviceDescriptorBufferFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceDescriptorBufferFeaturesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->descriptorBuffer, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->descriptorBufferCaptureReplay, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->descriptorBufferImageLayoutIgnored, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->descriptorBufferPushDescriptors, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceDescriptorBufferFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceDescriptorBufferFeaturesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->descriptorBuffer, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->descriptorBufferCaptureReplay, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->descriptorBufferImageLayoutIgnored, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->descriptorBufferPushDescriptors, sizeof(VkBool32)); +} + +void marshal_VkDescriptorAddressInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkDescriptorAddressInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkDeviceAddress*)&forMarshaling->address, sizeof(VkDeviceAddress)); + vkStream->write((VkDeviceSize*)&forMarshaling->range, sizeof(VkDeviceSize)); + vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat)); +} + +void unmarshal_VkDescriptorAddressInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkDescriptorAddressInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkDeviceAddress*)&forUnmarshaling->address, sizeof(VkDeviceAddress)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->range, sizeof(VkDeviceSize)); + vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat)); +} + +void marshal_VkDescriptorBufferBindingInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkDescriptorBufferBindingInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkDeviceAddress*)&forMarshaling->address, sizeof(VkDeviceAddress)); + vkStream->write((VkBufferUsageFlags*)&forMarshaling->usage, sizeof(VkBufferUsageFlags)); +} + +void unmarshal_VkDescriptorBufferBindingInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkDescriptorBufferBindingInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkDeviceAddress*)&forUnmarshaling->address, sizeof(VkDeviceAddress)); + vkStream->read((VkBufferUsageFlags*)&forUnmarshaling->usage, sizeof(VkBufferUsageFlags)); +} + +void marshal_VkDescriptorBufferBindingPushDescriptorBufferHandleEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkDescriptorBufferBindingPushDescriptorBufferHandleEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + uint64_t cgen_var_0; + vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_0, 1); + vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); +} + +void unmarshal_VkDescriptorBufferBindingPushDescriptorBufferHandleEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkDescriptorBufferBindingPushDescriptorBufferHandleEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + uint64_t cgen_var_0; + vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0, + (VkBuffer*)&forUnmarshaling->buffer, 1); +} + +void marshal_VkDescriptorDataEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkDescriptorDataEXT* forMarshaling) { + (void)rootType; + uint64_t cgen_var_0; + vkStream->handleMapping()->mapHandles_VkSampler_u64(forMarshaling->pSampler, &cgen_var_0, 1); + vkStream->write((uint64_t*)&cgen_var_0, 8); +} + +void unmarshal_VkDescriptorDataEXT(VulkanStream* vkStream, VkStructureType rootType, + VkDescriptorDataEXT* forUnmarshaling) { + (void)rootType; + vkStream->alloc((void**)&forUnmarshaling->pSampler, sizeof(const VkSampler)); + uint64_t cgen_var_0; + vkStream->read((uint64_t*)&cgen_var_0, 8); + vkStream->handleMapping()->mapHandles_u64_VkSampler(&cgen_var_0, + (VkSampler*)forUnmarshaling->pSampler, 1); +} + +void marshal_VkDescriptorGetInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkDescriptorGetInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkDescriptorType*)&forMarshaling->type, sizeof(VkDescriptorType)); + marshal_VkDescriptorDataEXT(vkStream, rootType, (VkDescriptorDataEXT*)(&forMarshaling->data)); +} + +void unmarshal_VkDescriptorGetInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkDescriptorGetInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkDescriptorType*)&forUnmarshaling->type, sizeof(VkDescriptorType)); + unmarshal_VkDescriptorDataEXT(vkStream, rootType, + (VkDescriptorDataEXT*)(&forUnmarshaling->data)); +} + +void marshal_VkBufferCaptureDescriptorDataInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkBufferCaptureDescriptorDataInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + uint64_t cgen_var_0; + vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_0, 1); + vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); +} + +void unmarshal_VkBufferCaptureDescriptorDataInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkBufferCaptureDescriptorDataInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + uint64_t cgen_var_0; + vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0, + (VkBuffer*)&forUnmarshaling->buffer, 1); +} + +void marshal_VkImageCaptureDescriptorDataInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkImageCaptureDescriptorDataInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + uint64_t cgen_var_0; + vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_0, 1); + vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); +} + +void unmarshal_VkImageCaptureDescriptorDataInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkImageCaptureDescriptorDataInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + uint64_t cgen_var_0; + vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0, + (VkImage*)&forUnmarshaling->image, 1); +} + +void marshal_VkImageViewCaptureDescriptorDataInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkImageViewCaptureDescriptorDataInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + uint64_t cgen_var_0; + vkStream->handleMapping()->mapHandles_VkImageView_u64(&forMarshaling->imageView, &cgen_var_0, + 1); + vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); +} + +void unmarshal_VkImageViewCaptureDescriptorDataInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkImageViewCaptureDescriptorDataInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + uint64_t cgen_var_0; + vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkImageView( + &cgen_var_0, (VkImageView*)&forUnmarshaling->imageView, 1); +} + +void marshal_VkSamplerCaptureDescriptorDataInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkSamplerCaptureDescriptorDataInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + uint64_t cgen_var_0; + vkStream->handleMapping()->mapHandles_VkSampler_u64(&forMarshaling->sampler, &cgen_var_0, 1); + vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); +} + +void unmarshal_VkSamplerCaptureDescriptorDataInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkSamplerCaptureDescriptorDataInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + uint64_t cgen_var_0; + vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkSampler(&cgen_var_0, + (VkSampler*)&forUnmarshaling->sampler, 1); +} + +void marshal_VkOpaqueCaptureDescriptorDataCreateInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkOpaqueCaptureDescriptorDataCreateInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((const void*)forMarshaling->opaqueCaptureDescriptorData, sizeof(const uint8_t)); +} + +void unmarshal_VkOpaqueCaptureDescriptorDataCreateInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkOpaqueCaptureDescriptorDataCreateInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->alloc((void**)&forUnmarshaling->opaqueCaptureDescriptorData, sizeof(const uint8_t)); + vkStream->read((void*)forUnmarshaling->opaqueCaptureDescriptorData, sizeof(const uint8_t)); +} + +void marshal_VkAccelerationStructureCaptureDescriptorDataInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkAccelerationStructureCaptureDescriptorDataInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + uint64_t cgen_var_0; + vkStream->handleMapping()->mapHandles_VkAccelerationStructureKHR_u64( + &forMarshaling->accelerationStructure, &cgen_var_0, 1); + vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); + uint64_t cgen_var_1; + vkStream->handleMapping()->mapHandles_VkAccelerationStructureNV_u64( + &forMarshaling->accelerationStructureNV, &cgen_var_1, 1); + vkStream->write((uint64_t*)&cgen_var_1, 1 * 8); +} + +void unmarshal_VkAccelerationStructureCaptureDescriptorDataInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkAccelerationStructureCaptureDescriptorDataInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + uint64_t cgen_var_0; + vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkAccelerationStructureKHR( + &cgen_var_0, (VkAccelerationStructureKHR*)&forUnmarshaling->accelerationStructure, 1); + uint64_t cgen_var_1; + vkStream->read((uint64_t*)&cgen_var_1, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkAccelerationStructureNV( + &cgen_var_1, (VkAccelerationStructureNV*)&forUnmarshaling->accelerationStructureNV, 1); } #endif -#ifdef VK_QCOM_render_pass_store_ops +#ifdef VK_EXT_graphics_pipeline_library +void marshal_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->graphicsPipelineLibrary, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->graphicsPipelineLibrary, sizeof(VkBool32)); +} + +void marshal_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->graphicsPipelineLibraryFastLinking, + sizeof(VkBool32)); + vkStream->write( + (VkBool32*)&forMarshaling->graphicsPipelineLibraryIndependentInterpolationDecoration, + sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->graphicsPipelineLibraryFastLinking, + sizeof(VkBool32)); + vkStream->read( + (VkBool32*)&forUnmarshaling->graphicsPipelineLibraryIndependentInterpolationDecoration, + sizeof(VkBool32)); +} + +void marshal_VkGraphicsPipelineLibraryCreateInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkGraphicsPipelineLibraryCreateInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkGraphicsPipelineLibraryFlagsEXT*)&forMarshaling->flags, + sizeof(VkGraphicsPipelineLibraryFlagsEXT)); +} + +void unmarshal_VkGraphicsPipelineLibraryCreateInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkGraphicsPipelineLibraryCreateInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkGraphicsPipelineLibraryFlagsEXT*)&forUnmarshaling->flags, + sizeof(VkGraphicsPipelineLibraryFlagsEXT)); +} + +#endif +#ifdef VK_AMD_shader_early_and_late_fragment_tests +void marshal_VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->shaderEarlyAndLateFragmentTests, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->shaderEarlyAndLateFragmentTests, sizeof(VkBool32)); +} + #endif #ifdef VK_NV_fragment_shading_rate_enums void marshal_VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV( @@ -30166,21 +33032,23 @@ void unmarshal_VkCopyCommandTransformInfoQCOM(VulkanStream* vkStream, VkStructur #endif #ifdef VK_EXT_image_robustness -void marshal_VkPhysicalDeviceImageRobustnessFeaturesEXT( +#endif +#ifdef VK_EXT_image_compression_control +void marshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT( VulkanStream* vkStream, VkStructureType rootType, - const VkPhysicalDeviceImageRobustnessFeaturesEXT* forMarshaling) { + const VkPhysicalDeviceImageCompressionControlFeaturesEXT* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkBool32*)&forMarshaling->robustImageAccess, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->imageCompressionControl, sizeof(VkBool32)); } -void unmarshal_VkPhysicalDeviceImageRobustnessFeaturesEXT( +void unmarshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT( VulkanStream* vkStream, VkStructureType rootType, - VkPhysicalDeviceImageRobustnessFeaturesEXT* forUnmarshaling) { + VkPhysicalDeviceImageCompressionControlFeaturesEXT* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -30199,7 +33067,216 @@ void unmarshal_VkPhysicalDeviceImageRobustnessFeaturesEXT( *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((VkBool32*)&forUnmarshaling->robustImageAccess, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->imageCompressionControl, sizeof(VkBool32)); +} + +void marshal_VkImageCompressionControlEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkImageCompressionControlEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkImageCompressionFlagsEXT*)&forMarshaling->flags, + sizeof(VkImageCompressionFlagsEXT)); + vkStream->write((uint32_t*)&forMarshaling->compressionControlPlaneCount, sizeof(uint32_t)); + // WARNING PTR CHECK + uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pFixedRateFlags; + vkStream->putBe64(cgen_var_0); + if (forMarshaling->pFixedRateFlags) { + vkStream->write((VkImageCompressionFixedRateFlagsEXT*)forMarshaling->pFixedRateFlags, + forMarshaling->compressionControlPlaneCount * + sizeof(VkImageCompressionFixedRateFlagsEXT)); + } +} + +void unmarshal_VkImageCompressionControlEXT(VulkanStream* vkStream, VkStructureType rootType, + VkImageCompressionControlEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkImageCompressionFlagsEXT*)&forUnmarshaling->flags, + sizeof(VkImageCompressionFlagsEXT)); + vkStream->read((uint32_t*)&forUnmarshaling->compressionControlPlaneCount, sizeof(uint32_t)); + // WARNING PTR CHECK + forUnmarshaling->pFixedRateFlags = + (VkImageCompressionFixedRateFlagsEXT*)(uintptr_t)vkStream->getBe64(); + if (forUnmarshaling->pFixedRateFlags) { + vkStream->alloc((void**)&forUnmarshaling->pFixedRateFlags, + forUnmarshaling->compressionControlPlaneCount * + sizeof(VkImageCompressionFixedRateFlagsEXT)); + vkStream->read((VkImageCompressionFixedRateFlagsEXT*)forUnmarshaling->pFixedRateFlags, + forUnmarshaling->compressionControlPlaneCount * + sizeof(VkImageCompressionFixedRateFlagsEXT)); + } +} + +void marshal_VkSubresourceLayout2EXT(VulkanStream* vkStream, VkStructureType rootType, + const VkSubresourceLayout2EXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + marshal_VkSubresourceLayout(vkStream, rootType, + (VkSubresourceLayout*)(&forMarshaling->subresourceLayout)); +} + +void unmarshal_VkSubresourceLayout2EXT(VulkanStream* vkStream, VkStructureType rootType, + VkSubresourceLayout2EXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + unmarshal_VkSubresourceLayout(vkStream, rootType, + (VkSubresourceLayout*)(&forUnmarshaling->subresourceLayout)); +} + +void marshal_VkImageSubresource2EXT(VulkanStream* vkStream, VkStructureType rootType, + const VkImageSubresource2EXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + marshal_VkImageSubresource(vkStream, rootType, + (VkImageSubresource*)(&forMarshaling->imageSubresource)); +} + +void unmarshal_VkImageSubresource2EXT(VulkanStream* vkStream, VkStructureType rootType, + VkImageSubresource2EXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + unmarshal_VkImageSubresource(vkStream, rootType, + (VkImageSubresource*)(&forUnmarshaling->imageSubresource)); +} + +void marshal_VkImageCompressionPropertiesEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkImageCompressionPropertiesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkImageCompressionFlagsEXT*)&forMarshaling->imageCompressionFlags, + sizeof(VkImageCompressionFlagsEXT)); + vkStream->write( + (VkImageCompressionFixedRateFlagsEXT*)&forMarshaling->imageCompressionFixedRateFlags, + sizeof(VkImageCompressionFixedRateFlagsEXT)); +} + +void unmarshal_VkImageCompressionPropertiesEXT(VulkanStream* vkStream, VkStructureType rootType, + VkImageCompressionPropertiesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkImageCompressionFlagsEXT*)&forUnmarshaling->imageCompressionFlags, + sizeof(VkImageCompressionFlagsEXT)); + vkStream->read( + (VkImageCompressionFixedRateFlagsEXT*)&forUnmarshaling->imageCompressionFixedRateFlags, + sizeof(VkImageCompressionFixedRateFlagsEXT)); +} + +#endif +#ifdef VK_EXT_attachment_feedback_loop_layout +void marshal_VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->attachmentFeedbackLoopLayout, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->attachmentFeedbackLoopLayout, sizeof(VkBool32)); } #endif @@ -30243,6 +33320,276 @@ void unmarshal_VkPhysicalDevice4444FormatsFeaturesEXT( } #endif +#ifdef VK_EXT_device_fault +void marshal_VkPhysicalDeviceFaultFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceFaultFeaturesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->deviceFault, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->deviceFaultVendorBinary, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceFaultFeaturesEXT(VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceFaultFeaturesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->deviceFault, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->deviceFaultVendorBinary, sizeof(VkBool32)); +} + +void marshal_VkDeviceFaultCountsEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkDeviceFaultCountsEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)&forMarshaling->addressInfoCount, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->vendorInfoCount, sizeof(uint32_t)); + vkStream->write((VkDeviceSize*)&forMarshaling->vendorBinarySize, sizeof(VkDeviceSize)); +} + +void unmarshal_VkDeviceFaultCountsEXT(VulkanStream* vkStream, VkStructureType rootType, + VkDeviceFaultCountsEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint32_t*)&forUnmarshaling->addressInfoCount, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->vendorInfoCount, sizeof(uint32_t)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->vendorBinarySize, sizeof(VkDeviceSize)); +} + +void marshal_VkDeviceFaultAddressInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkDeviceFaultAddressInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkDeviceFaultAddressTypeEXT*)&forMarshaling->addressType, + sizeof(VkDeviceFaultAddressTypeEXT)); + vkStream->write((VkDeviceAddress*)&forMarshaling->reportedAddress, sizeof(VkDeviceAddress)); + vkStream->write((VkDeviceSize*)&forMarshaling->addressPrecision, sizeof(VkDeviceSize)); +} + +void unmarshal_VkDeviceFaultAddressInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkDeviceFaultAddressInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkDeviceFaultAddressTypeEXT*)&forUnmarshaling->addressType, + sizeof(VkDeviceFaultAddressTypeEXT)); + vkStream->read((VkDeviceAddress*)&forUnmarshaling->reportedAddress, sizeof(VkDeviceAddress)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->addressPrecision, sizeof(VkDeviceSize)); +} + +void marshal_VkDeviceFaultVendorInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkDeviceFaultVendorInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char)); + vkStream->write((uint64_t*)&forMarshaling->vendorFaultCode, sizeof(uint64_t)); + vkStream->write((uint64_t*)&forMarshaling->vendorFaultData, sizeof(uint64_t)); +} + +void unmarshal_VkDeviceFaultVendorInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkDeviceFaultVendorInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((char*)forUnmarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char)); + vkStream->read((uint64_t*)&forUnmarshaling->vendorFaultCode, sizeof(uint64_t)); + vkStream->read((uint64_t*)&forUnmarshaling->vendorFaultData, sizeof(uint64_t)); +} + +void marshal_VkDeviceFaultInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkDeviceFaultInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char)); + // WARNING PTR CHECK + uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pAddressInfos; + vkStream->putBe64(cgen_var_0); + if (forMarshaling->pAddressInfos) { + marshal_VkDeviceFaultAddressInfoEXT( + vkStream, rootType, (VkDeviceFaultAddressInfoEXT*)(forMarshaling->pAddressInfos)); + } + // WARNING PTR CHECK + uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pVendorInfos; + vkStream->putBe64(cgen_var_1); + if (forMarshaling->pVendorInfos) { + marshal_VkDeviceFaultVendorInfoEXT( + vkStream, rootType, (VkDeviceFaultVendorInfoEXT*)(forMarshaling->pVendorInfos)); + } + // WARNING PTR CHECK + uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pVendorBinaryData; + vkStream->putBe64(cgen_var_2); + if (forMarshaling->pVendorBinaryData) { + vkStream->write((void*)forMarshaling->pVendorBinaryData, sizeof(uint8_t)); + } +} + +void unmarshal_VkDeviceFaultInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkDeviceFaultInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((char*)forUnmarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char)); + // WARNING PTR CHECK + forUnmarshaling->pAddressInfos = (VkDeviceFaultAddressInfoEXT*)(uintptr_t)vkStream->getBe64(); + if (forUnmarshaling->pAddressInfos) { + vkStream->alloc((void**)&forUnmarshaling->pAddressInfos, + sizeof(VkDeviceFaultAddressInfoEXT)); + unmarshal_VkDeviceFaultAddressInfoEXT( + vkStream, rootType, (VkDeviceFaultAddressInfoEXT*)(forUnmarshaling->pAddressInfos)); + } + // WARNING PTR CHECK + forUnmarshaling->pVendorInfos = (VkDeviceFaultVendorInfoEXT*)(uintptr_t)vkStream->getBe64(); + if (forUnmarshaling->pVendorInfos) { + vkStream->alloc((void**)&forUnmarshaling->pVendorInfos, sizeof(VkDeviceFaultVendorInfoEXT)); + unmarshal_VkDeviceFaultVendorInfoEXT( + vkStream, rootType, (VkDeviceFaultVendorInfoEXT*)(forUnmarshaling->pVendorInfos)); + } + // WARNING PTR CHECK + forUnmarshaling->pVendorBinaryData = (void*)(uintptr_t)vkStream->getBe64(); + if (forUnmarshaling->pVendorBinaryData) { + vkStream->alloc((void**)&forUnmarshaling->pVendorBinaryData, sizeof(uint8_t)); + vkStream->read((void*)forUnmarshaling->pVendorBinaryData, sizeof(uint8_t)); + } +} + +void marshal_VkDeviceFaultVendorBinaryHeaderVersionOneEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkDeviceFaultVendorBinaryHeaderVersionOneEXT* forMarshaling) { + (void)rootType; + vkStream->write((uint32_t*)&forMarshaling->headerSize, sizeof(uint32_t)); + vkStream->write((VkDeviceFaultVendorBinaryHeaderVersionEXT*)&forMarshaling->headerVersion, + sizeof(VkDeviceFaultVendorBinaryHeaderVersionEXT)); + vkStream->write((uint32_t*)&forMarshaling->vendorID, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->deviceID, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->driverVersion, sizeof(uint32_t)); + vkStream->write((uint8_t*)forMarshaling->pipelineCacheUUID, VK_UUID_SIZE * sizeof(uint8_t)); + vkStream->write((uint32_t*)&forMarshaling->applicationNameOffset, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->applicationVersion, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->engineNameOffset, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->engineVersion, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->apiVersion, sizeof(uint32_t)); +} + +void unmarshal_VkDeviceFaultVendorBinaryHeaderVersionOneEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkDeviceFaultVendorBinaryHeaderVersionOneEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((uint32_t*)&forUnmarshaling->headerSize, sizeof(uint32_t)); + vkStream->read((VkDeviceFaultVendorBinaryHeaderVersionEXT*)&forUnmarshaling->headerVersion, + sizeof(VkDeviceFaultVendorBinaryHeaderVersionEXT)); + vkStream->read((uint32_t*)&forUnmarshaling->vendorID, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->deviceID, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->driverVersion, sizeof(uint32_t)); + vkStream->read((uint8_t*)forUnmarshaling->pipelineCacheUUID, VK_UUID_SIZE * sizeof(uint8_t)); + vkStream->read((uint32_t*)&forUnmarshaling->applicationNameOffset, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->applicationVersion, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->engineNameOffset, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->engineVersion, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->apiVersion, sizeof(uint32_t)); +} + +#endif +#ifdef VK_ARM_rasterization_order_attachment_access +void marshal_VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->rasterizationOrderColorAttachmentAccess, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->rasterizationOrderDepthAttachmentAccess, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->rasterizationOrderStencilAttachmentAccess, + sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->rasterizationOrderColorAttachmentAccess, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->rasterizationOrderDepthAttachmentAccess, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->rasterizationOrderStencilAttachmentAccess, + sizeof(VkBool32)); +} + +#endif #ifdef VK_EXT_rgba10x6_formats void marshal_VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT( VulkanStream* vkStream, VkStructureType rootType, @@ -30347,9 +33694,9 @@ void unmarshal_VkDirectFBSurfaceCreateInfoEXT(VulkanStream* vkStream, VkStructur #endif #ifdef VK_VALVE_mutable_descriptor_type -void marshal_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE( +void marshal_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT( VulkanStream* vkStream, VkStructureType rootType, - const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE* forMarshaling) { + const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -30359,9 +33706,9 @@ void marshal_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE( vkStream->write((VkBool32*)&forMarshaling->mutableDescriptorType, sizeof(VkBool32)); } -void unmarshal_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE( +void unmarshal_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT( VulkanStream* vkStream, VkStructureType rootType, - VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE* forUnmarshaling) { + VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -30383,17 +33730,16 @@ void unmarshal_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE( vkStream->read((VkBool32*)&forUnmarshaling->mutableDescriptorType, sizeof(VkBool32)); } -void marshal_VkMutableDescriptorTypeListVALVE( - VulkanStream* vkStream, VkStructureType rootType, - const VkMutableDescriptorTypeListVALVE* forMarshaling) { +void marshal_VkMutableDescriptorTypeListEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkMutableDescriptorTypeListEXT* forMarshaling) { (void)rootType; vkStream->write((uint32_t*)&forMarshaling->descriptorTypeCount, sizeof(uint32_t)); vkStream->write((const VkDescriptorType*)forMarshaling->pDescriptorTypes, forMarshaling->descriptorTypeCount * sizeof(const VkDescriptorType)); } -void unmarshal_VkMutableDescriptorTypeListVALVE(VulkanStream* vkStream, VkStructureType rootType, - VkMutableDescriptorTypeListVALVE* forUnmarshaling) { +void unmarshal_VkMutableDescriptorTypeListEXT(VulkanStream* vkStream, VkStructureType rootType, + VkMutableDescriptorTypeListEXT* forUnmarshaling) { (void)rootType; vkStream->read((uint32_t*)&forUnmarshaling->descriptorTypeCount, sizeof(uint32_t)); vkStream->alloc((void**)&forUnmarshaling->pDescriptorTypes, @@ -30402,9 +33748,9 @@ void unmarshal_VkMutableDescriptorTypeListVALVE(VulkanStream* vkStream, VkStruct forUnmarshaling->descriptorTypeCount * sizeof(const VkDescriptorType)); } -void marshal_VkMutableDescriptorTypeCreateInfoVALVE( +void marshal_VkMutableDescriptorTypeCreateInfoEXT( VulkanStream* vkStream, VkStructureType rootType, - const VkMutableDescriptorTypeCreateInfoVALVE* forMarshaling) { + const VkMutableDescriptorTypeCreateInfoEXT* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -30414,18 +33760,17 @@ void marshal_VkMutableDescriptorTypeCreateInfoVALVE( vkStream->write((uint32_t*)&forMarshaling->mutableDescriptorTypeListCount, sizeof(uint32_t)); if (forMarshaling) { for (uint32_t i = 0; i < (uint32_t)forMarshaling->mutableDescriptorTypeListCount; ++i) { - marshal_VkMutableDescriptorTypeListVALVE( + marshal_VkMutableDescriptorTypeListEXT( vkStream, rootType, - (const VkMutableDescriptorTypeListVALVE*)(forMarshaling - ->pMutableDescriptorTypeLists + - i)); + (const VkMutableDescriptorTypeListEXT*)(forMarshaling->pMutableDescriptorTypeLists + + i)); } } } -void unmarshal_VkMutableDescriptorTypeCreateInfoVALVE( +void unmarshal_VkMutableDescriptorTypeCreateInfoEXT( VulkanStream* vkStream, VkStructureType rootType, - VkMutableDescriptorTypeCreateInfoVALVE* forUnmarshaling) { + VkMutableDescriptorTypeCreateInfoEXT* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -30447,13 +33792,13 @@ void unmarshal_VkMutableDescriptorTypeCreateInfoVALVE( vkStream->read((uint32_t*)&forUnmarshaling->mutableDescriptorTypeListCount, sizeof(uint32_t)); vkStream->alloc((void**)&forUnmarshaling->pMutableDescriptorTypeLists, forUnmarshaling->mutableDescriptorTypeListCount * - sizeof(const VkMutableDescriptorTypeListVALVE)); + sizeof(const VkMutableDescriptorTypeListEXT)); if (forUnmarshaling) { for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->mutableDescriptorTypeListCount; ++i) { - unmarshal_VkMutableDescriptorTypeListVALVE( + unmarshal_VkMutableDescriptorTypeListEXT( vkStream, rootType, - (VkMutableDescriptorTypeListVALVE*)(forUnmarshaling->pMutableDescriptorTypeLists + - i)); + (VkMutableDescriptorTypeListEXT*)(forUnmarshaling->pMutableDescriptorTypeLists + + i)); } } } @@ -30628,6 +33973,164 @@ void unmarshal_VkPhysicalDeviceDrmPropertiesEXT(VulkanStream* vkStream, VkStruct } #endif +#ifdef VK_EXT_device_address_binding_report +void marshal_VkPhysicalDeviceAddressBindingReportFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceAddressBindingReportFeaturesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->reportAddressBinding, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceAddressBindingReportFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceAddressBindingReportFeaturesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->reportAddressBinding, sizeof(VkBool32)); +} + +void marshal_VkDeviceAddressBindingCallbackDataEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkDeviceAddressBindingCallbackDataEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkDeviceAddressBindingFlagsEXT*)&forMarshaling->flags, + sizeof(VkDeviceAddressBindingFlagsEXT)); + vkStream->write((VkDeviceAddress*)&forMarshaling->baseAddress, sizeof(VkDeviceAddress)); + vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize)); + vkStream->write((VkDeviceAddressBindingTypeEXT*)&forMarshaling->bindingType, + sizeof(VkDeviceAddressBindingTypeEXT)); +} + +void unmarshal_VkDeviceAddressBindingCallbackDataEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkDeviceAddressBindingCallbackDataEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkDeviceAddressBindingFlagsEXT*)&forUnmarshaling->flags, + sizeof(VkDeviceAddressBindingFlagsEXT)); + vkStream->read((VkDeviceAddress*)&forUnmarshaling->baseAddress, sizeof(VkDeviceAddress)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize)); + vkStream->read((VkDeviceAddressBindingTypeEXT*)&forUnmarshaling->bindingType, + sizeof(VkDeviceAddressBindingTypeEXT)); +} + +#endif +#ifdef VK_EXT_depth_clip_control +void marshal_VkPhysicalDeviceDepthClipControlFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceDepthClipControlFeaturesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->depthClipControl, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceDepthClipControlFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceDepthClipControlFeaturesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->depthClipControl, sizeof(VkBool32)); +} + +void marshal_VkPipelineViewportDepthClipControlCreateInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPipelineViewportDepthClipControlCreateInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->negativeOneToOne, sizeof(VkBool32)); +} + +void unmarshal_VkPipelineViewportDepthClipControlCreateInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPipelineViewportDepthClipControlCreateInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->negativeOneToOne, sizeof(VkBool32)); +} + +#endif #ifdef VK_EXT_primitive_topology_list_restart void marshal_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT( VulkanStream* vkStream, VkStructureType rootType, @@ -31259,8 +34762,13 @@ void marshal_VkImageFormatConstraintsInfoFUCHSIA( sizeof(VkImageFormatConstraintsFlagsFUCHSIA)); vkStream->write((uint64_t*)&forMarshaling->sysmemPixelFormat, sizeof(uint64_t)); vkStream->write((uint32_t*)&forMarshaling->colorSpaceCount, sizeof(uint32_t)); - marshal_VkSysmemColorSpaceFUCHSIA( - vkStream, rootType, (const VkSysmemColorSpaceFUCHSIA*)(forMarshaling->pColorSpaces)); + if (forMarshaling) { + for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorSpaceCount; ++i) { + marshal_VkSysmemColorSpaceFUCHSIA( + vkStream, rootType, + (const VkSysmemColorSpaceFUCHSIA*)(forMarshaling->pColorSpaces + i)); + } + } } void unmarshal_VkImageFormatConstraintsInfoFUCHSIA( @@ -31293,9 +34801,14 @@ void unmarshal_VkImageFormatConstraintsInfoFUCHSIA( vkStream->read((uint64_t*)&forUnmarshaling->sysmemPixelFormat, sizeof(uint64_t)); vkStream->read((uint32_t*)&forUnmarshaling->colorSpaceCount, sizeof(uint32_t)); vkStream->alloc((void**)&forUnmarshaling->pColorSpaces, - sizeof(const VkSysmemColorSpaceFUCHSIA)); - unmarshal_VkSysmemColorSpaceFUCHSIA( - vkStream, rootType, (VkSysmemColorSpaceFUCHSIA*)(forUnmarshaling->pColorSpaces)); + forUnmarshaling->colorSpaceCount * sizeof(const VkSysmemColorSpaceFUCHSIA)); + if (forUnmarshaling) { + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorSpaceCount; ++i) { + unmarshal_VkSysmemColorSpaceFUCHSIA( + vkStream, rootType, + (VkSysmemColorSpaceFUCHSIA*)(forUnmarshaling->pColorSpaces + i)); + } + } } void marshal_VkImageConstraintsInfoFUCHSIA(VulkanStream* vkStream, VkStructureType rootType, @@ -31601,6 +35114,197 @@ void unmarshal_VkPhysicalDeviceExternalMemoryRDMAFeaturesNV( } #endif +#ifdef VK_EXT_pipeline_properties +void marshal_VkPipelinePropertiesIdentifierEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPipelinePropertiesIdentifierEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint8_t*)forMarshaling->pipelineIdentifier, VK_UUID_SIZE * sizeof(uint8_t)); +} + +void unmarshal_VkPipelinePropertiesIdentifierEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPipelinePropertiesIdentifierEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint8_t*)forUnmarshaling->pipelineIdentifier, VK_UUID_SIZE * sizeof(uint8_t)); +} + +void marshal_VkPhysicalDevicePipelinePropertiesFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDevicePipelinePropertiesFeaturesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->pipelinePropertiesIdentifier, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDevicePipelinePropertiesFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDevicePipelinePropertiesFeaturesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->pipelinePropertiesIdentifier, sizeof(VkBool32)); +} + +#endif +#ifdef VK_EXT_multisampled_render_to_single_sampled +void marshal_VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->multisampledRenderToSingleSampled, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->multisampledRenderToSingleSampled, + sizeof(VkBool32)); +} + +void marshal_VkSubpassResolvePerformanceQueryEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkSubpassResolvePerformanceQueryEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->optimal, sizeof(VkBool32)); +} + +void unmarshal_VkSubpassResolvePerformanceQueryEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkSubpassResolvePerformanceQueryEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->optimal, sizeof(VkBool32)); +} + +void marshal_VkMultisampledRenderToSingleSampledInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkMultisampledRenderToSingleSampledInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->multisampledRenderToSingleSampledEnable, + sizeof(VkBool32)); + vkStream->write((VkSampleCountFlagBits*)&forMarshaling->rasterizationSamples, + sizeof(VkSampleCountFlagBits)); +} + +void unmarshal_VkMultisampledRenderToSingleSampledInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkMultisampledRenderToSingleSampledInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->multisampledRenderToSingleSampledEnable, + sizeof(VkBool32)); + vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->rasterizationSamples, + sizeof(VkSampleCountFlagBits)); +} + +#endif #ifdef VK_EXT_extended_dynamic_state2 void marshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT( VulkanStream* vkStream, VkStructureType rootType, @@ -31787,6 +35491,52 @@ void unmarshal_VkPipelineColorWriteCreateInfoEXT( } #endif +#ifdef VK_EXT_primitives_generated_query +void marshal_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->primitivesGeneratedQuery, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->primitivesGeneratedQueryWithRasterizerDiscard, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->primitivesGeneratedQueryWithNonZeroStreams, + sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->primitivesGeneratedQuery, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->primitivesGeneratedQueryWithRasterizerDiscard, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->primitivesGeneratedQueryWithNonZeroStreams, + sizeof(VkBool32)); +} + +#endif #ifdef VK_GOOGLE_gfxstream void marshal_VkImportColorBufferGOOGLE(VulkanStream* vkStream, VkStructureType rootType, const VkImportColorBufferGOOGLE* forMarshaling) { @@ -31899,21 +35649,23 @@ void unmarshal_VkCreateBlobGOOGLE(VulkanStream* vkStream, VkStructureType rootTy #endif #ifdef VK_EXT_global_priority_query -void marshal_VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT( +#endif +#ifdef VK_EXT_image_view_min_lod +void marshal_VkPhysicalDeviceImageViewMinLodFeaturesEXT( VulkanStream* vkStream, VkStructureType rootType, - const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT* forMarshaling) { + const VkPhysicalDeviceImageViewMinLodFeaturesEXT* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((VkBool32*)&forMarshaling->globalPriorityQuery, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->minLod, sizeof(VkBool32)); } -void unmarshal_VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT( +void unmarshal_VkPhysicalDeviceImageViewMinLodFeaturesEXT( VulkanStream* vkStream, VkStructureType rootType, - VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT* forUnmarshaling) { + VkPhysicalDeviceImageViewMinLodFeaturesEXT* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -31932,26 +35684,22 @@ void unmarshal_VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT( *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((VkBool32*)&forUnmarshaling->globalPriorityQuery, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->minLod, sizeof(VkBool32)); } -void marshal_VkQueueFamilyGlobalPriorityPropertiesEXT( - VulkanStream* vkStream, VkStructureType rootType, - const VkQueueFamilyGlobalPriorityPropertiesEXT* forMarshaling) { +void marshal_VkImageViewMinLodCreateInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkImageViewMinLodCreateInfoEXT* forMarshaling) { (void)rootType; vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { rootType = forMarshaling->sType; } marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); - vkStream->write((uint32_t*)&forMarshaling->priorityCount, sizeof(uint32_t)); - vkStream->write((VkQueueGlobalPriorityEXT*)forMarshaling->priorities, - VK_MAX_GLOBAL_PRIORITY_SIZE_EXT * sizeof(VkQueueGlobalPriorityEXT)); + vkStream->write((float*)&forMarshaling->minLod, sizeof(float)); } -void unmarshal_VkQueueFamilyGlobalPriorityPropertiesEXT( - VulkanStream* vkStream, VkStructureType rootType, - VkQueueFamilyGlobalPriorityPropertiesEXT* forUnmarshaling) { +void unmarshal_VkImageViewMinLodCreateInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkImageViewMinLodCreateInfoEXT* forUnmarshaling) { (void)rootType; vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { @@ -31970,9 +35718,7 @@ void unmarshal_VkQueueFamilyGlobalPriorityPropertiesEXT( *(VkStructureType*)forUnmarshaling->pNext = extType; unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); } - vkStream->read((uint32_t*)&forUnmarshaling->priorityCount, sizeof(uint32_t)); - vkStream->read((VkQueueGlobalPriorityEXT*)forUnmarshaling->priorities, - VK_MAX_GLOBAL_PRIORITY_SIZE_EXT * sizeof(VkQueueGlobalPriorityEXT)); + vkStream->read((float*)&forUnmarshaling->minLod, sizeof(float)); } #endif @@ -32080,8 +35826,930 @@ void unmarshal_VkMultiDrawIndexedInfoEXT(VulkanStream* vkStream, VkStructureType } #endif +#ifdef VK_EXT_image_2d_view_of_3d +void marshal_VkPhysicalDeviceImage2DViewOf3DFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->image2DViewOf3D, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->sampler2DViewOf3D, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceImage2DViewOf3DFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceImage2DViewOf3DFeaturesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->image2DViewOf3D, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->sampler2DViewOf3D, sizeof(VkBool32)); +} + +#endif +#ifdef VK_EXT_shader_tile_image +void marshal_VkPhysicalDeviceShaderTileImageFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceShaderTileImageFeaturesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->shaderTileImageColorReadAccess, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->shaderTileImageDepthReadAccess, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->shaderTileImageStencilReadAccess, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceShaderTileImageFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceShaderTileImageFeaturesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->shaderTileImageColorReadAccess, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->shaderTileImageDepthReadAccess, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->shaderTileImageStencilReadAccess, sizeof(VkBool32)); +} + +void marshal_VkPhysicalDeviceShaderTileImagePropertiesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceShaderTileImagePropertiesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->shaderTileImageCoherentReadAccelerated, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->shaderTileImageReadSampleFromPixelRateInvocation, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->shaderTileImageReadFromHelperInvocation, + sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceShaderTileImagePropertiesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceShaderTileImagePropertiesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->shaderTileImageCoherentReadAccelerated, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->shaderTileImageReadSampleFromPixelRateInvocation, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->shaderTileImageReadFromHelperInvocation, + sizeof(VkBool32)); +} + +#endif +#ifdef VK_EXT_opacity_micromap +void marshal_VkMicromapUsageEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkMicromapUsageEXT* forMarshaling) { + (void)rootType; + vkStream->write((uint32_t*)&forMarshaling->count, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->subdivisionLevel, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->format, sizeof(uint32_t)); +} + +void unmarshal_VkMicromapUsageEXT(VulkanStream* vkStream, VkStructureType rootType, + VkMicromapUsageEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((uint32_t*)&forUnmarshaling->count, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->subdivisionLevel, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->format, sizeof(uint32_t)); +} + +void marshal_VkDeviceOrHostAddressKHR(VulkanStream* vkStream, VkStructureType rootType, + const VkDeviceOrHostAddressKHR* forMarshaling) { + (void)rootType; + vkStream->write((VkDeviceAddress*)&forMarshaling->deviceAddress, sizeof(VkDeviceAddress)); +} + +void unmarshal_VkDeviceOrHostAddressKHR(VulkanStream* vkStream, VkStructureType rootType, + VkDeviceOrHostAddressKHR* forUnmarshaling) { + (void)rootType; + vkStream->read((VkDeviceAddress*)&forUnmarshaling->deviceAddress, sizeof(VkDeviceAddress)); +} + +void marshal_VkMicromapBuildInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkMicromapBuildInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkMicromapTypeEXT*)&forMarshaling->type, sizeof(VkMicromapTypeEXT)); + vkStream->write((VkBuildMicromapFlagsEXT*)&forMarshaling->flags, + sizeof(VkBuildMicromapFlagsEXT)); + vkStream->write((VkBuildMicromapModeEXT*)&forMarshaling->mode, sizeof(VkBuildMicromapModeEXT)); + uint64_t cgen_var_0 = (uint64_t)forMarshaling->dstMicromap; + vkStream->putBe64(cgen_var_0); + vkStream->write((uint32_t*)&forMarshaling->usageCountsCount, sizeof(uint32_t)); + // WARNING PTR CHECK + uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pUsageCounts; + vkStream->putBe64(cgen_var_1); + if (forMarshaling->pUsageCounts) { + if (forMarshaling) { + for (uint32_t i = 0; i < (uint32_t)forMarshaling->usageCountsCount; ++i) { + marshal_VkMicromapUsageEXT( + vkStream, rootType, + (const VkMicromapUsageEXT*)(forMarshaling->pUsageCounts + i)); + } + } + } + marshal_VkDeviceOrHostAddressConstKHR(vkStream, rootType, + (VkDeviceOrHostAddressConstKHR*)(&forMarshaling->data)); + marshal_VkDeviceOrHostAddressKHR(vkStream, rootType, + (VkDeviceOrHostAddressKHR*)(&forMarshaling->scratchData)); + marshal_VkDeviceOrHostAddressConstKHR( + vkStream, rootType, (VkDeviceOrHostAddressConstKHR*)(&forMarshaling->triangleArray)); + vkStream->write((VkDeviceSize*)&forMarshaling->triangleArrayStride, sizeof(VkDeviceSize)); +} + +void unmarshal_VkMicromapBuildInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkMicromapBuildInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkMicromapTypeEXT*)&forUnmarshaling->type, sizeof(VkMicromapTypeEXT)); + vkStream->read((VkBuildMicromapFlagsEXT*)&forUnmarshaling->flags, + sizeof(VkBuildMicromapFlagsEXT)); + vkStream->read((VkBuildMicromapModeEXT*)&forUnmarshaling->mode, sizeof(VkBuildMicromapModeEXT)); + forUnmarshaling->dstMicromap = (VkMicromapEXT)vkStream->getBe64(); + vkStream->read((uint32_t*)&forUnmarshaling->usageCountsCount, sizeof(uint32_t)); + // WARNING PTR CHECK + forUnmarshaling->pUsageCounts = (const VkMicromapUsageEXT*)(uintptr_t)vkStream->getBe64(); + if (forUnmarshaling->pUsageCounts) { + vkStream->alloc((void**)&forUnmarshaling->pUsageCounts, + forUnmarshaling->usageCountsCount * sizeof(const VkMicromapUsageEXT)); + if (forUnmarshaling) { + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->usageCountsCount; ++i) { + unmarshal_VkMicromapUsageEXT( + vkStream, rootType, (VkMicromapUsageEXT*)(forUnmarshaling->pUsageCounts + i)); + } + } + } + unmarshal_VkDeviceOrHostAddressConstKHR( + vkStream, rootType, (VkDeviceOrHostAddressConstKHR*)(&forUnmarshaling->data)); + unmarshal_VkDeviceOrHostAddressKHR(vkStream, rootType, + (VkDeviceOrHostAddressKHR*)(&forUnmarshaling->scratchData)); + unmarshal_VkDeviceOrHostAddressConstKHR( + vkStream, rootType, (VkDeviceOrHostAddressConstKHR*)(&forUnmarshaling->triangleArray)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->triangleArrayStride, sizeof(VkDeviceSize)); +} + +void marshal_VkMicromapCreateInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkMicromapCreateInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkMicromapCreateFlagsEXT*)&forMarshaling->createFlags, + sizeof(VkMicromapCreateFlagsEXT)); + uint64_t cgen_var_0; + vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_0, 1); + vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize)); + vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize)); + vkStream->write((VkMicromapTypeEXT*)&forMarshaling->type, sizeof(VkMicromapTypeEXT)); + vkStream->write((VkDeviceAddress*)&forMarshaling->deviceAddress, sizeof(VkDeviceAddress)); +} + +void unmarshal_VkMicromapCreateInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkMicromapCreateInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkMicromapCreateFlagsEXT*)&forUnmarshaling->createFlags, + sizeof(VkMicromapCreateFlagsEXT)); + uint64_t cgen_var_0; + vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_0, + (VkBuffer*)&forUnmarshaling->buffer, 1); + vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize)); + vkStream->read((VkMicromapTypeEXT*)&forUnmarshaling->type, sizeof(VkMicromapTypeEXT)); + vkStream->read((VkDeviceAddress*)&forUnmarshaling->deviceAddress, sizeof(VkDeviceAddress)); +} + +void marshal_VkPhysicalDeviceOpacityMicromapFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceOpacityMicromapFeaturesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->micromap, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->micromapCaptureReplay, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->micromapHostCommands, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceOpacityMicromapFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceOpacityMicromapFeaturesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->micromap, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->micromapCaptureReplay, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->micromapHostCommands, sizeof(VkBool32)); +} + +void marshal_VkPhysicalDeviceOpacityMicromapPropertiesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceOpacityMicromapPropertiesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)&forMarshaling->maxOpacity2StateSubdivisionLevel, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxOpacity4StateSubdivisionLevel, sizeof(uint32_t)); +} + +void unmarshal_VkPhysicalDeviceOpacityMicromapPropertiesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceOpacityMicromapPropertiesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint32_t*)&forUnmarshaling->maxOpacity2StateSubdivisionLevel, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxOpacity4StateSubdivisionLevel, sizeof(uint32_t)); +} + +void marshal_VkMicromapVersionInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkMicromapVersionInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((const uint8_t*)forMarshaling->pVersionData, + 2 * VK_UUID_SIZE * sizeof(const uint8_t)); +} + +void unmarshal_VkMicromapVersionInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkMicromapVersionInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->alloc((void**)&forUnmarshaling->pVersionData, + 2 * VK_UUID_SIZE * sizeof(const uint8_t)); + vkStream->read((uint8_t*)forUnmarshaling->pVersionData, + 2 * VK_UUID_SIZE * sizeof(const uint8_t)); +} + +void marshal_VkCopyMicromapToMemoryInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkCopyMicromapToMemoryInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + uint64_t cgen_var_0 = (uint64_t)forMarshaling->src; + vkStream->putBe64(cgen_var_0); + marshal_VkDeviceOrHostAddressKHR(vkStream, rootType, + (VkDeviceOrHostAddressKHR*)(&forMarshaling->dst)); + vkStream->write((VkCopyMicromapModeEXT*)&forMarshaling->mode, sizeof(VkCopyMicromapModeEXT)); +} + +void unmarshal_VkCopyMicromapToMemoryInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkCopyMicromapToMemoryInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + forUnmarshaling->src = (VkMicromapEXT)vkStream->getBe64(); + unmarshal_VkDeviceOrHostAddressKHR(vkStream, rootType, + (VkDeviceOrHostAddressKHR*)(&forUnmarshaling->dst)); + vkStream->read((VkCopyMicromapModeEXT*)&forUnmarshaling->mode, sizeof(VkCopyMicromapModeEXT)); +} + +void marshal_VkCopyMemoryToMicromapInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkCopyMemoryToMicromapInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + marshal_VkDeviceOrHostAddressConstKHR(vkStream, rootType, + (VkDeviceOrHostAddressConstKHR*)(&forMarshaling->src)); + uint64_t cgen_var_0 = (uint64_t)forMarshaling->dst; + vkStream->putBe64(cgen_var_0); + vkStream->write((VkCopyMicromapModeEXT*)&forMarshaling->mode, sizeof(VkCopyMicromapModeEXT)); +} + +void unmarshal_VkCopyMemoryToMicromapInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkCopyMemoryToMicromapInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + unmarshal_VkDeviceOrHostAddressConstKHR( + vkStream, rootType, (VkDeviceOrHostAddressConstKHR*)(&forUnmarshaling->src)); + forUnmarshaling->dst = (VkMicromapEXT)vkStream->getBe64(); + vkStream->read((VkCopyMicromapModeEXT*)&forUnmarshaling->mode, sizeof(VkCopyMicromapModeEXT)); +} + +void marshal_VkCopyMicromapInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkCopyMicromapInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + uint64_t cgen_var_0 = (uint64_t)forMarshaling->src; + vkStream->putBe64(cgen_var_0); + uint64_t cgen_var_1 = (uint64_t)forMarshaling->dst; + vkStream->putBe64(cgen_var_1); + vkStream->write((VkCopyMicromapModeEXT*)&forMarshaling->mode, sizeof(VkCopyMicromapModeEXT)); +} + +void unmarshal_VkCopyMicromapInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkCopyMicromapInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + forUnmarshaling->src = (VkMicromapEXT)vkStream->getBe64(); + forUnmarshaling->dst = (VkMicromapEXT)vkStream->getBe64(); + vkStream->read((VkCopyMicromapModeEXT*)&forUnmarshaling->mode, sizeof(VkCopyMicromapModeEXT)); +} + +void marshal_VkMicromapBuildSizesInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkMicromapBuildSizesInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkDeviceSize*)&forMarshaling->micromapSize, sizeof(VkDeviceSize)); + vkStream->write((VkDeviceSize*)&forMarshaling->buildScratchSize, sizeof(VkDeviceSize)); + vkStream->write((VkBool32*)&forMarshaling->discardable, sizeof(VkBool32)); +} + +void unmarshal_VkMicromapBuildSizesInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkMicromapBuildSizesInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkDeviceSize*)&forUnmarshaling->micromapSize, sizeof(VkDeviceSize)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->buildScratchSize, sizeof(VkDeviceSize)); + vkStream->read((VkBool32*)&forUnmarshaling->discardable, sizeof(VkBool32)); +} + +void marshal_VkAccelerationStructureTrianglesOpacityMicromapEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkAccelerationStructureTrianglesOpacityMicromapEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkIndexType*)&forMarshaling->indexType, sizeof(VkIndexType)); + marshal_VkDeviceOrHostAddressConstKHR( + vkStream, rootType, (VkDeviceOrHostAddressConstKHR*)(&forMarshaling->indexBuffer)); + vkStream->write((VkDeviceSize*)&forMarshaling->indexStride, sizeof(VkDeviceSize)); + vkStream->write((uint32_t*)&forMarshaling->baseTriangle, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->usageCountsCount, sizeof(uint32_t)); + // WARNING PTR CHECK + uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pUsageCounts; + vkStream->putBe64(cgen_var_0); + if (forMarshaling->pUsageCounts) { + if (forMarshaling) { + for (uint32_t i = 0; i < (uint32_t)forMarshaling->usageCountsCount; ++i) { + marshal_VkMicromapUsageEXT( + vkStream, rootType, + (const VkMicromapUsageEXT*)(forMarshaling->pUsageCounts + i)); + } + } + } + uint64_t cgen_var_1 = (uint64_t)forMarshaling->micromap; + vkStream->putBe64(cgen_var_1); +} + +void unmarshal_VkAccelerationStructureTrianglesOpacityMicromapEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkAccelerationStructureTrianglesOpacityMicromapEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkIndexType*)&forUnmarshaling->indexType, sizeof(VkIndexType)); + unmarshal_VkDeviceOrHostAddressConstKHR( + vkStream, rootType, (VkDeviceOrHostAddressConstKHR*)(&forUnmarshaling->indexBuffer)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->indexStride, sizeof(VkDeviceSize)); + vkStream->read((uint32_t*)&forUnmarshaling->baseTriangle, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->usageCountsCount, sizeof(uint32_t)); + // WARNING PTR CHECK + forUnmarshaling->pUsageCounts = (const VkMicromapUsageEXT*)(uintptr_t)vkStream->getBe64(); + if (forUnmarshaling->pUsageCounts) { + vkStream->alloc((void**)&forUnmarshaling->pUsageCounts, + forUnmarshaling->usageCountsCount * sizeof(const VkMicromapUsageEXT)); + if (forUnmarshaling) { + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->usageCountsCount; ++i) { + unmarshal_VkMicromapUsageEXT( + vkStream, rootType, (VkMicromapUsageEXT*)(forUnmarshaling->pUsageCounts + i)); + } + } + } + forUnmarshaling->micromap = (VkMicromapEXT)vkStream->getBe64(); +} + +void marshal_VkMicromapTriangleEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkMicromapTriangleEXT* forMarshaling) { + (void)rootType; + vkStream->write((uint32_t*)&forMarshaling->dataOffset, sizeof(uint32_t)); + vkStream->write((uint16_t*)&forMarshaling->subdivisionLevel, sizeof(uint16_t)); + vkStream->write((uint16_t*)&forMarshaling->format, sizeof(uint16_t)); +} + +void unmarshal_VkMicromapTriangleEXT(VulkanStream* vkStream, VkStructureType rootType, + VkMicromapTriangleEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((uint32_t*)&forUnmarshaling->dataOffset, sizeof(uint32_t)); + vkStream->read((uint16_t*)&forUnmarshaling->subdivisionLevel, sizeof(uint16_t)); + vkStream->read((uint16_t*)&forUnmarshaling->format, sizeof(uint16_t)); +} + +#endif +#ifdef VK_NV_displacement_micromap +void marshal_VkPhysicalDeviceDisplacementMicromapFeaturesNV( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceDisplacementMicromapFeaturesNV* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->displacementMicromap, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceDisplacementMicromapFeaturesNV( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceDisplacementMicromapFeaturesNV* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->displacementMicromap, sizeof(VkBool32)); +} + +void marshal_VkPhysicalDeviceDisplacementMicromapPropertiesNV( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceDisplacementMicromapPropertiesNV* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)&forMarshaling->maxDisplacementMicromapSubdivisionLevel, + sizeof(uint32_t)); +} + +void unmarshal_VkPhysicalDeviceDisplacementMicromapPropertiesNV( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceDisplacementMicromapPropertiesNV* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint32_t*)&forUnmarshaling->maxDisplacementMicromapSubdivisionLevel, + sizeof(uint32_t)); +} + +void marshal_VkAccelerationStructureTrianglesDisplacementMicromapNV( + VulkanStream* vkStream, VkStructureType rootType, + const VkAccelerationStructureTrianglesDisplacementMicromapNV* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkFormat*)&forMarshaling->displacementBiasAndScaleFormat, sizeof(VkFormat)); + vkStream->write((VkFormat*)&forMarshaling->displacementVectorFormat, sizeof(VkFormat)); + marshal_VkDeviceOrHostAddressConstKHR( + vkStream, rootType, + (VkDeviceOrHostAddressConstKHR*)(&forMarshaling->displacementBiasAndScaleBuffer)); + vkStream->write((VkDeviceSize*)&forMarshaling->displacementBiasAndScaleStride, + sizeof(VkDeviceSize)); + marshal_VkDeviceOrHostAddressConstKHR( + vkStream, rootType, + (VkDeviceOrHostAddressConstKHR*)(&forMarshaling->displacementVectorBuffer)); + vkStream->write((VkDeviceSize*)&forMarshaling->displacementVectorStride, sizeof(VkDeviceSize)); + marshal_VkDeviceOrHostAddressConstKHR( + vkStream, rootType, + (VkDeviceOrHostAddressConstKHR*)(&forMarshaling->displacedMicromapPrimitiveFlags)); + vkStream->write((VkDeviceSize*)&forMarshaling->displacedMicromapPrimitiveFlagsStride, + sizeof(VkDeviceSize)); + vkStream->write((VkIndexType*)&forMarshaling->indexType, sizeof(VkIndexType)); + marshal_VkDeviceOrHostAddressConstKHR( + vkStream, rootType, (VkDeviceOrHostAddressConstKHR*)(&forMarshaling->indexBuffer)); + vkStream->write((VkDeviceSize*)&forMarshaling->indexStride, sizeof(VkDeviceSize)); + vkStream->write((uint32_t*)&forMarshaling->baseTriangle, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->usageCountsCount, sizeof(uint32_t)); + // WARNING PTR CHECK + uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pUsageCounts; + vkStream->putBe64(cgen_var_0); + if (forMarshaling->pUsageCounts) { + if (forMarshaling) { + for (uint32_t i = 0; i < (uint32_t)forMarshaling->usageCountsCount; ++i) { + marshal_VkMicromapUsageEXT( + vkStream, rootType, + (const VkMicromapUsageEXT*)(forMarshaling->pUsageCounts + i)); + } + } + } + uint64_t cgen_var_1 = (uint64_t)forMarshaling->micromap; + vkStream->putBe64(cgen_var_1); +} + +void unmarshal_VkAccelerationStructureTrianglesDisplacementMicromapNV( + VulkanStream* vkStream, VkStructureType rootType, + VkAccelerationStructureTrianglesDisplacementMicromapNV* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkFormat*)&forUnmarshaling->displacementBiasAndScaleFormat, sizeof(VkFormat)); + vkStream->read((VkFormat*)&forUnmarshaling->displacementVectorFormat, sizeof(VkFormat)); + unmarshal_VkDeviceOrHostAddressConstKHR( + vkStream, rootType, + (VkDeviceOrHostAddressConstKHR*)(&forUnmarshaling->displacementBiasAndScaleBuffer)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->displacementBiasAndScaleStride, + sizeof(VkDeviceSize)); + unmarshal_VkDeviceOrHostAddressConstKHR( + vkStream, rootType, + (VkDeviceOrHostAddressConstKHR*)(&forUnmarshaling->displacementVectorBuffer)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->displacementVectorStride, sizeof(VkDeviceSize)); + unmarshal_VkDeviceOrHostAddressConstKHR( + vkStream, rootType, + (VkDeviceOrHostAddressConstKHR*)(&forUnmarshaling->displacedMicromapPrimitiveFlags)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->displacedMicromapPrimitiveFlagsStride, + sizeof(VkDeviceSize)); + vkStream->read((VkIndexType*)&forUnmarshaling->indexType, sizeof(VkIndexType)); + unmarshal_VkDeviceOrHostAddressConstKHR( + vkStream, rootType, (VkDeviceOrHostAddressConstKHR*)(&forUnmarshaling->indexBuffer)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->indexStride, sizeof(VkDeviceSize)); + vkStream->read((uint32_t*)&forUnmarshaling->baseTriangle, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->usageCountsCount, sizeof(uint32_t)); + // WARNING PTR CHECK + forUnmarshaling->pUsageCounts = (const VkMicromapUsageEXT*)(uintptr_t)vkStream->getBe64(); + if (forUnmarshaling->pUsageCounts) { + vkStream->alloc((void**)&forUnmarshaling->pUsageCounts, + forUnmarshaling->usageCountsCount * sizeof(const VkMicromapUsageEXT)); + if (forUnmarshaling) { + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->usageCountsCount; ++i) { + unmarshal_VkMicromapUsageEXT( + vkStream, rootType, (VkMicromapUsageEXT*)(forUnmarshaling->pUsageCounts + i)); + } + } + } + forUnmarshaling->micromap = (VkMicromapEXT)vkStream->getBe64(); +} + +#endif #ifdef VK_EXT_load_store_op_none #endif +#ifdef VK_HUAWEI_cluster_culling_shader +void marshal_VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->clustercullingShader, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->multiviewClusterCullingShader, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->clustercullingShader, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->multiviewClusterCullingShader, sizeof(VkBool32)); +} + +void marshal_VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)forMarshaling->maxWorkGroupCount, 3 * sizeof(uint32_t)); + vkStream->write((uint32_t*)forMarshaling->maxWorkGroupSize, 3 * sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxOutputClusterCount, sizeof(uint32_t)); + vkStream->write((VkDeviceSize*)&forMarshaling->indirectBufferOffsetAlignment, + sizeof(VkDeviceSize)); +} + +void unmarshal_VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint32_t*)forUnmarshaling->maxWorkGroupCount, 3 * sizeof(uint32_t)); + vkStream->read((uint32_t*)forUnmarshaling->maxWorkGroupSize, 3 * sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxOutputClusterCount, sizeof(uint32_t)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->indirectBufferOffsetAlignment, + sizeof(VkDeviceSize)); +} + +#endif #ifdef VK_EXT_border_color_swizzle void marshal_VkPhysicalDeviceBorderColorSwizzleFeaturesEXT( VulkanStream* vkStream, VkStructureType rootType, @@ -32200,19 +36868,2674 @@ void unmarshal_VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT( } #endif -#ifdef VK_KHR_acceleration_structure -void marshal_VkDeviceOrHostAddressKHR(VulkanStream* vkStream, VkStructureType rootType, - const VkDeviceOrHostAddressKHR* forMarshaling) { +#ifdef VK_ARM_shader_core_properties +void marshal_VkPhysicalDeviceShaderCorePropertiesARM( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceShaderCorePropertiesARM* forMarshaling) { (void)rootType; - vkStream->write((VkDeviceAddress*)&forMarshaling->deviceAddress, sizeof(VkDeviceAddress)); + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)&forMarshaling->pixelRate, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->texelRate, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->fmaRate, sizeof(uint32_t)); } -void unmarshal_VkDeviceOrHostAddressKHR(VulkanStream* vkStream, VkStructureType rootType, - VkDeviceOrHostAddressKHR* forUnmarshaling) { +void unmarshal_VkPhysicalDeviceShaderCorePropertiesARM( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceShaderCorePropertiesARM* forUnmarshaling) { (void)rootType; - vkStream->read((VkDeviceAddress*)&forUnmarshaling->deviceAddress, sizeof(VkDeviceAddress)); + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint32_t*)&forUnmarshaling->pixelRate, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->texelRate, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->fmaRate, sizeof(uint32_t)); +} + +#endif +#ifdef VK_EXT_image_sliced_view_of_3d +void marshal_VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->imageSlicedViewOf3D, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->imageSlicedViewOf3D, sizeof(VkBool32)); +} + +void marshal_VkImageViewSlicedCreateInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkImageViewSlicedCreateInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)&forMarshaling->sliceOffset, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->sliceCount, sizeof(uint32_t)); +} + +void unmarshal_VkImageViewSlicedCreateInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkImageViewSlicedCreateInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint32_t*)&forUnmarshaling->sliceOffset, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->sliceCount, sizeof(uint32_t)); +} + +#endif +#ifdef VK_VALVE_descriptor_set_host_mapping +void marshal_VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->descriptorSetHostMapping, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->descriptorSetHostMapping, sizeof(VkBool32)); +} + +void marshal_VkDescriptorSetBindingReferenceVALVE( + VulkanStream* vkStream, VkStructureType rootType, + const VkDescriptorSetBindingReferenceVALVE* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + uint64_t cgen_var_0; + vkStream->handleMapping()->mapHandles_VkDescriptorSetLayout_u64( + &forMarshaling->descriptorSetLayout, &cgen_var_0, 1); + vkStream->write((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->write((uint32_t*)&forMarshaling->binding, sizeof(uint32_t)); +} + +void unmarshal_VkDescriptorSetBindingReferenceVALVE( + VulkanStream* vkStream, VkStructureType rootType, + VkDescriptorSetBindingReferenceVALVE* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + uint64_t cgen_var_0; + vkStream->read((uint64_t*)&cgen_var_0, 1 * 8); + vkStream->handleMapping()->mapHandles_u64_VkDescriptorSetLayout( + &cgen_var_0, (VkDescriptorSetLayout*)&forUnmarshaling->descriptorSetLayout, 1); + vkStream->read((uint32_t*)&forUnmarshaling->binding, sizeof(uint32_t)); +} + +void marshal_VkDescriptorSetLayoutHostMappingInfoVALVE( + VulkanStream* vkStream, VkStructureType rootType, + const VkDescriptorSetLayoutHostMappingInfoVALVE* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + uint64_t cgen_var_0 = (uint64_t)forMarshaling->descriptorOffset; + vkStream->putBe64(cgen_var_0); + vkStream->write((uint32_t*)&forMarshaling->descriptorSize, sizeof(uint32_t)); +} + +void unmarshal_VkDescriptorSetLayoutHostMappingInfoVALVE( + VulkanStream* vkStream, VkStructureType rootType, + VkDescriptorSetLayoutHostMappingInfoVALVE* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + forUnmarshaling->descriptorOffset = (size_t)vkStream->getBe64(); + vkStream->read((uint32_t*)&forUnmarshaling->descriptorSize, sizeof(uint32_t)); +} + +#endif +#ifdef VK_EXT_depth_clamp_zero_one +void marshal_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->depthClampZeroOne, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceDepthClampZeroOneFeaturesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->depthClampZeroOne, sizeof(VkBool32)); +} + +#endif +#ifdef VK_EXT_non_seamless_cube_map +void marshal_VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->nonSeamlessCubeMap, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->nonSeamlessCubeMap, sizeof(VkBool32)); +} + +#endif +#ifdef VK_QCOM_fragment_density_map_offset +void marshal_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->fragmentDensityMapOffset, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->fragmentDensityMapOffset, sizeof(VkBool32)); +} + +void marshal_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + marshal_VkExtent2D(vkStream, rootType, + (VkExtent2D*)(&forMarshaling->fragmentDensityOffsetGranularity)); +} + +void unmarshal_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + unmarshal_VkExtent2D(vkStream, rootType, + (VkExtent2D*)(&forUnmarshaling->fragmentDensityOffsetGranularity)); +} + +void marshal_VkSubpassFragmentDensityMapOffsetEndInfoQCOM( + VulkanStream* vkStream, VkStructureType rootType, + const VkSubpassFragmentDensityMapOffsetEndInfoQCOM* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)&forMarshaling->fragmentDensityOffsetCount, sizeof(uint32_t)); + if (forMarshaling) { + for (uint32_t i = 0; i < (uint32_t)forMarshaling->fragmentDensityOffsetCount; ++i) { + marshal_VkOffset2D(vkStream, rootType, + (const VkOffset2D*)(forMarshaling->pFragmentDensityOffsets + i)); + } + } +} + +void unmarshal_VkSubpassFragmentDensityMapOffsetEndInfoQCOM( + VulkanStream* vkStream, VkStructureType rootType, + VkSubpassFragmentDensityMapOffsetEndInfoQCOM* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint32_t*)&forUnmarshaling->fragmentDensityOffsetCount, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pFragmentDensityOffsets, + forUnmarshaling->fragmentDensityOffsetCount * sizeof(const VkOffset2D)); + if (forUnmarshaling) { + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->fragmentDensityOffsetCount; ++i) { + unmarshal_VkOffset2D(vkStream, rootType, + (VkOffset2D*)(forUnmarshaling->pFragmentDensityOffsets + i)); + } + } +} + +#endif +#ifdef VK_NV_copy_memory_indirect +void marshal_VkCopyMemoryIndirectCommandNV(VulkanStream* vkStream, VkStructureType rootType, + const VkCopyMemoryIndirectCommandNV* forMarshaling) { + (void)rootType; + vkStream->write((VkDeviceAddress*)&forMarshaling->srcAddress, sizeof(VkDeviceAddress)); + vkStream->write((VkDeviceAddress*)&forMarshaling->dstAddress, sizeof(VkDeviceAddress)); + vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize)); +} + +void unmarshal_VkCopyMemoryIndirectCommandNV(VulkanStream* vkStream, VkStructureType rootType, + VkCopyMemoryIndirectCommandNV* forUnmarshaling) { + (void)rootType; + vkStream->read((VkDeviceAddress*)&forUnmarshaling->srcAddress, sizeof(VkDeviceAddress)); + vkStream->read((VkDeviceAddress*)&forUnmarshaling->dstAddress, sizeof(VkDeviceAddress)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize)); +} + +void marshal_VkCopyMemoryToImageIndirectCommandNV( + VulkanStream* vkStream, VkStructureType rootType, + const VkCopyMemoryToImageIndirectCommandNV* forMarshaling) { + (void)rootType; + vkStream->write((VkDeviceAddress*)&forMarshaling->srcAddress, sizeof(VkDeviceAddress)); + vkStream->write((uint32_t*)&forMarshaling->bufferRowLength, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->bufferImageHeight, sizeof(uint32_t)); + marshal_VkImageSubresourceLayers(vkStream, rootType, + (VkImageSubresourceLayers*)(&forMarshaling->imageSubresource)); + marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->imageOffset)); + marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->imageExtent)); +} + +void unmarshal_VkCopyMemoryToImageIndirectCommandNV( + VulkanStream* vkStream, VkStructureType rootType, + VkCopyMemoryToImageIndirectCommandNV* forUnmarshaling) { + (void)rootType; + vkStream->read((VkDeviceAddress*)&forUnmarshaling->srcAddress, sizeof(VkDeviceAddress)); + vkStream->read((uint32_t*)&forUnmarshaling->bufferRowLength, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->bufferImageHeight, sizeof(uint32_t)); + unmarshal_VkImageSubresourceLayers( + vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->imageSubresource)); + unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->imageOffset)); + unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->imageExtent)); +} + +void marshal_VkPhysicalDeviceCopyMemoryIndirectFeaturesNV( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceCopyMemoryIndirectFeaturesNV* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->indirectCopy, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceCopyMemoryIndirectFeaturesNV( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceCopyMemoryIndirectFeaturesNV* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->indirectCopy, sizeof(VkBool32)); +} + +void marshal_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceCopyMemoryIndirectPropertiesNV* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkQueueFlags*)&forMarshaling->supportedQueues, sizeof(VkQueueFlags)); +} + +void unmarshal_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceCopyMemoryIndirectPropertiesNV* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkQueueFlags*)&forUnmarshaling->supportedQueues, sizeof(VkQueueFlags)); +} + +#endif +#ifdef VK_NV_memory_decompression +void marshal_VkDecompressMemoryRegionNV(VulkanStream* vkStream, VkStructureType rootType, + const VkDecompressMemoryRegionNV* forMarshaling) { + (void)rootType; + vkStream->write((VkDeviceAddress*)&forMarshaling->srcAddress, sizeof(VkDeviceAddress)); + vkStream->write((VkDeviceAddress*)&forMarshaling->dstAddress, sizeof(VkDeviceAddress)); + vkStream->write((VkDeviceSize*)&forMarshaling->compressedSize, sizeof(VkDeviceSize)); + vkStream->write((VkDeviceSize*)&forMarshaling->decompressedSize, sizeof(VkDeviceSize)); + vkStream->write((VkMemoryDecompressionMethodFlagsNV*)&forMarshaling->decompressionMethod, + sizeof(VkMemoryDecompressionMethodFlagsNV)); +} + +void unmarshal_VkDecompressMemoryRegionNV(VulkanStream* vkStream, VkStructureType rootType, + VkDecompressMemoryRegionNV* forUnmarshaling) { + (void)rootType; + vkStream->read((VkDeviceAddress*)&forUnmarshaling->srcAddress, sizeof(VkDeviceAddress)); + vkStream->read((VkDeviceAddress*)&forUnmarshaling->dstAddress, sizeof(VkDeviceAddress)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->compressedSize, sizeof(VkDeviceSize)); + vkStream->read((VkDeviceSize*)&forUnmarshaling->decompressedSize, sizeof(VkDeviceSize)); + vkStream->read((VkMemoryDecompressionMethodFlagsNV*)&forUnmarshaling->decompressionMethod, + sizeof(VkMemoryDecompressionMethodFlagsNV)); +} + +void marshal_VkPhysicalDeviceMemoryDecompressionFeaturesNV( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceMemoryDecompressionFeaturesNV* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->memoryDecompression, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceMemoryDecompressionFeaturesNV( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceMemoryDecompressionFeaturesNV* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->memoryDecompression, sizeof(VkBool32)); +} + +void marshal_VkPhysicalDeviceMemoryDecompressionPropertiesNV( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceMemoryDecompressionPropertiesNV* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkMemoryDecompressionMethodFlagsNV*)&forMarshaling->decompressionMethods, + sizeof(VkMemoryDecompressionMethodFlagsNV)); + vkStream->write((uint64_t*)&forMarshaling->maxDecompressionIndirectCount, sizeof(uint64_t)); +} + +void unmarshal_VkPhysicalDeviceMemoryDecompressionPropertiesNV( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceMemoryDecompressionPropertiesNV* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkMemoryDecompressionMethodFlagsNV*)&forUnmarshaling->decompressionMethods, + sizeof(VkMemoryDecompressionMethodFlagsNV)); + vkStream->read((uint64_t*)&forUnmarshaling->maxDecompressionIndirectCount, sizeof(uint64_t)); +} + +#endif +#ifdef VK_NV_linear_color_attachment +void marshal_VkPhysicalDeviceLinearColorAttachmentFeaturesNV( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceLinearColorAttachmentFeaturesNV* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->linearColorAttachment, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceLinearColorAttachmentFeaturesNV( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceLinearColorAttachmentFeaturesNV* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->linearColorAttachment, sizeof(VkBool32)); +} + +#endif +#ifdef VK_GOOGLE_surfaceless_query +#endif +#ifdef VK_EXT_image_compression_control_swapchain +void marshal_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->imageCompressionControlSwapchain, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->imageCompressionControlSwapchain, sizeof(VkBool32)); +} + +#endif +#ifdef VK_QCOM_image_processing +void marshal_VkImageViewSampleWeightCreateInfoQCOM( + VulkanStream* vkStream, VkStructureType rootType, + const VkImageViewSampleWeightCreateInfoQCOM* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + marshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forMarshaling->filterCenter)); + marshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->filterSize)); + vkStream->write((uint32_t*)&forMarshaling->numPhases, sizeof(uint32_t)); +} + +void unmarshal_VkImageViewSampleWeightCreateInfoQCOM( + VulkanStream* vkStream, VkStructureType rootType, + VkImageViewSampleWeightCreateInfoQCOM* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + unmarshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forUnmarshaling->filterCenter)); + unmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forUnmarshaling->filterSize)); + vkStream->read((uint32_t*)&forUnmarshaling->numPhases, sizeof(uint32_t)); +} + +void marshal_VkPhysicalDeviceImageProcessingFeaturesQCOM( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceImageProcessingFeaturesQCOM* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->textureSampleWeighted, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->textureBoxFilter, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->textureBlockMatch, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceImageProcessingFeaturesQCOM( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceImageProcessingFeaturesQCOM* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->textureSampleWeighted, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->textureBoxFilter, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->textureBlockMatch, sizeof(VkBool32)); +} + +void marshal_VkPhysicalDeviceImageProcessingPropertiesQCOM( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceImageProcessingPropertiesQCOM* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)&forMarshaling->maxWeightFilterPhases, sizeof(uint32_t)); + marshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->maxWeightFilterDimension)); + marshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->maxBlockMatchRegion)); + marshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->maxBoxFilterBlockSize)); +} + +void unmarshal_VkPhysicalDeviceImageProcessingPropertiesQCOM( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceImageProcessingPropertiesQCOM* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint32_t*)&forUnmarshaling->maxWeightFilterPhases, sizeof(uint32_t)); + unmarshal_VkExtent2D(vkStream, rootType, + (VkExtent2D*)(&forUnmarshaling->maxWeightFilterDimension)); + unmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forUnmarshaling->maxBlockMatchRegion)); + unmarshal_VkExtent2D(vkStream, rootType, + (VkExtent2D*)(&forUnmarshaling->maxBoxFilterBlockSize)); +} + +#endif +#ifdef VK_EXT_extended_dynamic_state3 +void marshal_VkPhysicalDeviceExtendedDynamicState3FeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceExtendedDynamicState3FeaturesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState3TessellationDomainOrigin, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState3DepthClampEnable, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState3PolygonMode, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState3RasterizationSamples, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState3SampleMask, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState3AlphaToCoverageEnable, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState3AlphaToOneEnable, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState3LogicOpEnable, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState3ColorBlendEnable, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState3ColorBlendEquation, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState3ColorWriteMask, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState3RasterizationStream, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState3ConservativeRasterizationMode, + sizeof(VkBool32)); + vkStream->write( + (VkBool32*)&forMarshaling->extendedDynamicState3ExtraPrimitiveOverestimationSize, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState3DepthClipEnable, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState3SampleLocationsEnable, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState3ColorBlendAdvanced, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState3ProvokingVertexMode, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState3LineRasterizationMode, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState3LineStippleEnable, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState3DepthClipNegativeOneToOne, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState3ViewportWScalingEnable, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState3ViewportSwizzle, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState3CoverageToColorEnable, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState3CoverageToColorLocation, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState3CoverageModulationMode, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState3CoverageModulationTableEnable, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState3CoverageModulationTable, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState3CoverageReductionMode, + sizeof(VkBool32)); + vkStream->write( + (VkBool32*)&forMarshaling->extendedDynamicState3RepresentativeFragmentTestEnable, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState3ShadingRateImageEnable, + sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceExtendedDynamicState3FeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceExtendedDynamicState3FeaturesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState3TessellationDomainOrigin, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState3DepthClampEnable, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState3PolygonMode, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState3RasterizationSamples, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState3SampleMask, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState3AlphaToCoverageEnable, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState3AlphaToOneEnable, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState3LogicOpEnable, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState3ColorBlendEnable, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState3ColorBlendEquation, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState3ColorWriteMask, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState3RasterizationStream, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState3ConservativeRasterizationMode, + sizeof(VkBool32)); + vkStream->read( + (VkBool32*)&forUnmarshaling->extendedDynamicState3ExtraPrimitiveOverestimationSize, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState3DepthClipEnable, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState3SampleLocationsEnable, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState3ColorBlendAdvanced, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState3ProvokingVertexMode, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState3LineRasterizationMode, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState3LineStippleEnable, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState3DepthClipNegativeOneToOne, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState3ViewportWScalingEnable, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState3ViewportSwizzle, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState3CoverageToColorEnable, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState3CoverageToColorLocation, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState3CoverageModulationMode, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState3CoverageModulationTableEnable, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState3CoverageModulationTable, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState3CoverageReductionMode, + sizeof(VkBool32)); + vkStream->read( + (VkBool32*)&forUnmarshaling->extendedDynamicState3RepresentativeFragmentTestEnable, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState3ShadingRateImageEnable, + sizeof(VkBool32)); +} + +void marshal_VkPhysicalDeviceExtendedDynamicState3PropertiesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceExtendedDynamicState3PropertiesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->dynamicPrimitiveTopologyUnrestricted, + sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceExtendedDynamicState3PropertiesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceExtendedDynamicState3PropertiesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->dynamicPrimitiveTopologyUnrestricted, + sizeof(VkBool32)); +} + +void marshal_VkColorBlendEquationEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkColorBlendEquationEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkBlendFactor*)&forMarshaling->srcColorBlendFactor, sizeof(VkBlendFactor)); + vkStream->write((VkBlendFactor*)&forMarshaling->dstColorBlendFactor, sizeof(VkBlendFactor)); + vkStream->write((VkBlendOp*)&forMarshaling->colorBlendOp, sizeof(VkBlendOp)); + vkStream->write((VkBlendFactor*)&forMarshaling->srcAlphaBlendFactor, sizeof(VkBlendFactor)); + vkStream->write((VkBlendFactor*)&forMarshaling->dstAlphaBlendFactor, sizeof(VkBlendFactor)); + vkStream->write((VkBlendOp*)&forMarshaling->alphaBlendOp, sizeof(VkBlendOp)); +} + +void unmarshal_VkColorBlendEquationEXT(VulkanStream* vkStream, VkStructureType rootType, + VkColorBlendEquationEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkBlendFactor*)&forUnmarshaling->srcColorBlendFactor, sizeof(VkBlendFactor)); + vkStream->read((VkBlendFactor*)&forUnmarshaling->dstColorBlendFactor, sizeof(VkBlendFactor)); + vkStream->read((VkBlendOp*)&forUnmarshaling->colorBlendOp, sizeof(VkBlendOp)); + vkStream->read((VkBlendFactor*)&forUnmarshaling->srcAlphaBlendFactor, sizeof(VkBlendFactor)); + vkStream->read((VkBlendFactor*)&forUnmarshaling->dstAlphaBlendFactor, sizeof(VkBlendFactor)); + vkStream->read((VkBlendOp*)&forUnmarshaling->alphaBlendOp, sizeof(VkBlendOp)); +} + +void marshal_VkColorBlendAdvancedEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkColorBlendAdvancedEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkBlendOp*)&forMarshaling->advancedBlendOp, sizeof(VkBlendOp)); + vkStream->write((VkBool32*)&forMarshaling->srcPremultiplied, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->dstPremultiplied, sizeof(VkBool32)); + vkStream->write((VkBlendOverlapEXT*)&forMarshaling->blendOverlap, sizeof(VkBlendOverlapEXT)); + vkStream->write((VkBool32*)&forMarshaling->clampResults, sizeof(VkBool32)); +} + +void unmarshal_VkColorBlendAdvancedEXT(VulkanStream* vkStream, VkStructureType rootType, + VkColorBlendAdvancedEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkBlendOp*)&forUnmarshaling->advancedBlendOp, sizeof(VkBlendOp)); + vkStream->read((VkBool32*)&forUnmarshaling->srcPremultiplied, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->dstPremultiplied, sizeof(VkBool32)); + vkStream->read((VkBlendOverlapEXT*)&forUnmarshaling->blendOverlap, sizeof(VkBlendOverlapEXT)); + vkStream->read((VkBool32*)&forUnmarshaling->clampResults, sizeof(VkBool32)); +} + +#endif +#ifdef VK_EXT_subpass_merge_feedback +void marshal_VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->subpassMergeFeedback, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->subpassMergeFeedback, sizeof(VkBool32)); +} + +void marshal_VkRenderPassCreationControlEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkRenderPassCreationControlEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->disallowMerging, sizeof(VkBool32)); +} + +void unmarshal_VkRenderPassCreationControlEXT(VulkanStream* vkStream, VkStructureType rootType, + VkRenderPassCreationControlEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->disallowMerging, sizeof(VkBool32)); +} + +void marshal_VkRenderPassCreationFeedbackInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkRenderPassCreationFeedbackInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((uint32_t*)&forMarshaling->postMergeSubpassCount, sizeof(uint32_t)); +} + +void unmarshal_VkRenderPassCreationFeedbackInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkRenderPassCreationFeedbackInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((uint32_t*)&forUnmarshaling->postMergeSubpassCount, sizeof(uint32_t)); +} + +void marshal_VkRenderPassCreationFeedbackCreateInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkRenderPassCreationFeedbackCreateInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + marshal_VkRenderPassCreationFeedbackInfoEXT( + vkStream, rootType, + (VkRenderPassCreationFeedbackInfoEXT*)(forMarshaling->pRenderPassFeedback)); +} + +void unmarshal_VkRenderPassCreationFeedbackCreateInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkRenderPassCreationFeedbackCreateInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->alloc((void**)&forUnmarshaling->pRenderPassFeedback, + sizeof(VkRenderPassCreationFeedbackInfoEXT)); + unmarshal_VkRenderPassCreationFeedbackInfoEXT( + vkStream, rootType, + (VkRenderPassCreationFeedbackInfoEXT*)(forUnmarshaling->pRenderPassFeedback)); +} + +void marshal_VkRenderPassSubpassFeedbackInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkRenderPassSubpassFeedbackInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkSubpassMergeStatusEXT*)&forMarshaling->subpassMergeStatus, + sizeof(VkSubpassMergeStatusEXT)); + vkStream->write((char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char)); + vkStream->write((uint32_t*)&forMarshaling->postMergeIndex, sizeof(uint32_t)); +} + +void unmarshal_VkRenderPassSubpassFeedbackInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkRenderPassSubpassFeedbackInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkSubpassMergeStatusEXT*)&forUnmarshaling->subpassMergeStatus, + sizeof(VkSubpassMergeStatusEXT)); + vkStream->read((char*)forUnmarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char)); + vkStream->read((uint32_t*)&forUnmarshaling->postMergeIndex, sizeof(uint32_t)); +} + +void marshal_VkRenderPassSubpassFeedbackCreateInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkRenderPassSubpassFeedbackCreateInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + marshal_VkRenderPassSubpassFeedbackInfoEXT( + vkStream, rootType, (VkRenderPassSubpassFeedbackInfoEXT*)(forMarshaling->pSubpassFeedback)); +} + +void unmarshal_VkRenderPassSubpassFeedbackCreateInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkRenderPassSubpassFeedbackCreateInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->alloc((void**)&forUnmarshaling->pSubpassFeedback, + sizeof(VkRenderPassSubpassFeedbackInfoEXT)); + unmarshal_VkRenderPassSubpassFeedbackInfoEXT( + vkStream, rootType, + (VkRenderPassSubpassFeedbackInfoEXT*)(forUnmarshaling->pSubpassFeedback)); +} + +#endif +#ifdef VK_LUNARG_direct_driver_loading +void marshal_VkDirectDriverLoadingInfoLUNARG(VulkanStream* vkStream, VkStructureType rootType, + const VkDirectDriverLoadingInfoLUNARG* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkDirectDriverLoadingFlagsLUNARG*)&forMarshaling->flags, + sizeof(VkDirectDriverLoadingFlagsLUNARG)); + uint64_t cgen_var_0 = (uint64_t)forMarshaling->pfnGetInstanceProcAddr; + vkStream->putBe64(cgen_var_0); +} + +void unmarshal_VkDirectDriverLoadingInfoLUNARG(VulkanStream* vkStream, VkStructureType rootType, + VkDirectDriverLoadingInfoLUNARG* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkDirectDriverLoadingFlagsLUNARG*)&forUnmarshaling->flags, + sizeof(VkDirectDriverLoadingFlagsLUNARG)); + forUnmarshaling->pfnGetInstanceProcAddr = (PFN_vkGetInstanceProcAddrLUNARG)vkStream->getBe64(); +} + +void marshal_VkDirectDriverLoadingListLUNARG(VulkanStream* vkStream, VkStructureType rootType, + const VkDirectDriverLoadingListLUNARG* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkDirectDriverLoadingModeLUNARG*)&forMarshaling->mode, + sizeof(VkDirectDriverLoadingModeLUNARG)); + vkStream->write((uint32_t*)&forMarshaling->driverCount, sizeof(uint32_t)); + if (forMarshaling) { + for (uint32_t i = 0; i < (uint32_t)forMarshaling->driverCount; ++i) { + marshal_VkDirectDriverLoadingInfoLUNARG( + vkStream, rootType, + (const VkDirectDriverLoadingInfoLUNARG*)(forMarshaling->pDrivers + i)); + } + } +} + +void unmarshal_VkDirectDriverLoadingListLUNARG(VulkanStream* vkStream, VkStructureType rootType, + VkDirectDriverLoadingListLUNARG* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkDirectDriverLoadingModeLUNARG*)&forUnmarshaling->mode, + sizeof(VkDirectDriverLoadingModeLUNARG)); + vkStream->read((uint32_t*)&forUnmarshaling->driverCount, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pDrivers, + forUnmarshaling->driverCount * sizeof(const VkDirectDriverLoadingInfoLUNARG)); + if (forUnmarshaling) { + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->driverCount; ++i) { + unmarshal_VkDirectDriverLoadingInfoLUNARG( + vkStream, rootType, + (VkDirectDriverLoadingInfoLUNARG*)(forUnmarshaling->pDrivers + i)); + } + } +} + +#endif +#ifdef VK_EXT_shader_module_identifier +void marshal_VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->shaderModuleIdentifier, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->shaderModuleIdentifier, sizeof(VkBool32)); +} + +void marshal_VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint8_t*)forMarshaling->shaderModuleIdentifierAlgorithmUUID, + VK_UUID_SIZE * sizeof(uint8_t)); +} + +void unmarshal_VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint8_t*)forUnmarshaling->shaderModuleIdentifierAlgorithmUUID, + VK_UUID_SIZE * sizeof(uint8_t)); +} + +void marshal_VkPipelineShaderStageModuleIdentifierCreateInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPipelineShaderStageModuleIdentifierCreateInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)&forMarshaling->identifierSize, sizeof(uint32_t)); + vkStream->write((const uint8_t*)forMarshaling->pIdentifier, + forMarshaling->identifierSize * sizeof(const uint8_t)); +} + +void unmarshal_VkPipelineShaderStageModuleIdentifierCreateInfoEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPipelineShaderStageModuleIdentifierCreateInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint32_t*)&forUnmarshaling->identifierSize, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pIdentifier, + forUnmarshaling->identifierSize * sizeof(const uint8_t)); + vkStream->read((uint8_t*)forUnmarshaling->pIdentifier, + forUnmarshaling->identifierSize * sizeof(const uint8_t)); +} + +void marshal_VkShaderModuleIdentifierEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkShaderModuleIdentifierEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)&forMarshaling->identifierSize, sizeof(uint32_t)); + vkStream->write((uint8_t*)forMarshaling->identifier, + VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT * sizeof(uint8_t)); +} + +void unmarshal_VkShaderModuleIdentifierEXT(VulkanStream* vkStream, VkStructureType rootType, + VkShaderModuleIdentifierEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint32_t*)&forUnmarshaling->identifierSize, sizeof(uint32_t)); + vkStream->read((uint8_t*)forUnmarshaling->identifier, + VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT * sizeof(uint8_t)); +} + +#endif +#ifdef VK_EXT_rasterization_order_attachment_access +#endif +#ifdef VK_NV_optical_flow +void marshal_VkPhysicalDeviceOpticalFlowFeaturesNV( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceOpticalFlowFeaturesNV* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->opticalFlow, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceOpticalFlowFeaturesNV( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceOpticalFlowFeaturesNV* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->opticalFlow, sizeof(VkBool32)); +} + +void marshal_VkPhysicalDeviceOpticalFlowPropertiesNV( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceOpticalFlowPropertiesNV* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkOpticalFlowGridSizeFlagsNV*)&forMarshaling->supportedOutputGridSizes, + sizeof(VkOpticalFlowGridSizeFlagsNV)); + vkStream->write((VkOpticalFlowGridSizeFlagsNV*)&forMarshaling->supportedHintGridSizes, + sizeof(VkOpticalFlowGridSizeFlagsNV)); + vkStream->write((VkBool32*)&forMarshaling->hintSupported, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->costSupported, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->bidirectionalFlowSupported, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->globalFlowSupported, sizeof(VkBool32)); + vkStream->write((uint32_t*)&forMarshaling->minWidth, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->minHeight, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxWidth, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxHeight, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxNumRegionsOfInterest, sizeof(uint32_t)); +} + +void unmarshal_VkPhysicalDeviceOpticalFlowPropertiesNV( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceOpticalFlowPropertiesNV* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkOpticalFlowGridSizeFlagsNV*)&forUnmarshaling->supportedOutputGridSizes, + sizeof(VkOpticalFlowGridSizeFlagsNV)); + vkStream->read((VkOpticalFlowGridSizeFlagsNV*)&forUnmarshaling->supportedHintGridSizes, + sizeof(VkOpticalFlowGridSizeFlagsNV)); + vkStream->read((VkBool32*)&forUnmarshaling->hintSupported, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->costSupported, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->bidirectionalFlowSupported, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->globalFlowSupported, sizeof(VkBool32)); + vkStream->read((uint32_t*)&forUnmarshaling->minWidth, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->minHeight, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxWidth, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxHeight, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxNumRegionsOfInterest, sizeof(uint32_t)); +} + +void marshal_VkOpticalFlowImageFormatInfoNV(VulkanStream* vkStream, VkStructureType rootType, + const VkOpticalFlowImageFormatInfoNV* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkOpticalFlowUsageFlagsNV*)&forMarshaling->usage, + sizeof(VkOpticalFlowUsageFlagsNV)); +} + +void unmarshal_VkOpticalFlowImageFormatInfoNV(VulkanStream* vkStream, VkStructureType rootType, + VkOpticalFlowImageFormatInfoNV* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkOpticalFlowUsageFlagsNV*)&forUnmarshaling->usage, + sizeof(VkOpticalFlowUsageFlagsNV)); +} + +void marshal_VkOpticalFlowImageFormatPropertiesNV( + VulkanStream* vkStream, VkStructureType rootType, + const VkOpticalFlowImageFormatPropertiesNV* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat)); +} + +void unmarshal_VkOpticalFlowImageFormatPropertiesNV( + VulkanStream* vkStream, VkStructureType rootType, + VkOpticalFlowImageFormatPropertiesNV* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat)); +} + +void marshal_VkOpticalFlowSessionCreateInfoNV( + VulkanStream* vkStream, VkStructureType rootType, + const VkOpticalFlowSessionCreateInfoNV* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)&forMarshaling->width, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->height, sizeof(uint32_t)); + vkStream->write((VkFormat*)&forMarshaling->imageFormat, sizeof(VkFormat)); + vkStream->write((VkFormat*)&forMarshaling->flowVectorFormat, sizeof(VkFormat)); + vkStream->write((VkFormat*)&forMarshaling->costFormat, sizeof(VkFormat)); + vkStream->write((VkOpticalFlowGridSizeFlagsNV*)&forMarshaling->outputGridSize, + sizeof(VkOpticalFlowGridSizeFlagsNV)); + vkStream->write((VkOpticalFlowGridSizeFlagsNV*)&forMarshaling->hintGridSize, + sizeof(VkOpticalFlowGridSizeFlagsNV)); + vkStream->write((VkOpticalFlowPerformanceLevelNV*)&forMarshaling->performanceLevel, + sizeof(VkOpticalFlowPerformanceLevelNV)); + vkStream->write((VkOpticalFlowSessionCreateFlagsNV*)&forMarshaling->flags, + sizeof(VkOpticalFlowSessionCreateFlagsNV)); +} + +void unmarshal_VkOpticalFlowSessionCreateInfoNV(VulkanStream* vkStream, VkStructureType rootType, + VkOpticalFlowSessionCreateInfoNV* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint32_t*)&forUnmarshaling->width, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->height, sizeof(uint32_t)); + vkStream->read((VkFormat*)&forUnmarshaling->imageFormat, sizeof(VkFormat)); + vkStream->read((VkFormat*)&forUnmarshaling->flowVectorFormat, sizeof(VkFormat)); + vkStream->read((VkFormat*)&forUnmarshaling->costFormat, sizeof(VkFormat)); + vkStream->read((VkOpticalFlowGridSizeFlagsNV*)&forUnmarshaling->outputGridSize, + sizeof(VkOpticalFlowGridSizeFlagsNV)); + vkStream->read((VkOpticalFlowGridSizeFlagsNV*)&forUnmarshaling->hintGridSize, + sizeof(VkOpticalFlowGridSizeFlagsNV)); + vkStream->read((VkOpticalFlowPerformanceLevelNV*)&forUnmarshaling->performanceLevel, + sizeof(VkOpticalFlowPerformanceLevelNV)); + vkStream->read((VkOpticalFlowSessionCreateFlagsNV*)&forUnmarshaling->flags, + sizeof(VkOpticalFlowSessionCreateFlagsNV)); +} + +void marshal_VkOpticalFlowSessionCreatePrivateDataInfoNV( + VulkanStream* vkStream, VkStructureType rootType, + const VkOpticalFlowSessionCreatePrivateDataInfoNV* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)&forMarshaling->id, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->size, sizeof(uint32_t)); + vkStream->write((const void*)forMarshaling->pPrivateData, sizeof(const uint8_t)); +} + +void unmarshal_VkOpticalFlowSessionCreatePrivateDataInfoNV( + VulkanStream* vkStream, VkStructureType rootType, + VkOpticalFlowSessionCreatePrivateDataInfoNV* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint32_t*)&forUnmarshaling->id, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->size, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pPrivateData, sizeof(const uint8_t)); + vkStream->read((void*)forUnmarshaling->pPrivateData, sizeof(const uint8_t)); +} + +void marshal_VkOpticalFlowExecuteInfoNV(VulkanStream* vkStream, VkStructureType rootType, + const VkOpticalFlowExecuteInfoNV* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkOpticalFlowExecuteFlagsNV*)&forMarshaling->flags, + sizeof(VkOpticalFlowExecuteFlagsNV)); + vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t)); + if (forMarshaling) { + for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) { + marshal_VkRect2D(vkStream, rootType, (const VkRect2D*)(forMarshaling->pRegions + i)); + } + } +} + +void unmarshal_VkOpticalFlowExecuteInfoNV(VulkanStream* vkStream, VkStructureType rootType, + VkOpticalFlowExecuteInfoNV* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkOpticalFlowExecuteFlagsNV*)&forUnmarshaling->flags, + sizeof(VkOpticalFlowExecuteFlagsNV)); + vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pRegions, + forUnmarshaling->regionCount * sizeof(const VkRect2D)); + if (forUnmarshaling) { + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) { + unmarshal_VkRect2D(vkStream, rootType, (VkRect2D*)(forUnmarshaling->pRegions + i)); + } + } +} + +#endif +#ifdef VK_EXT_legacy_dithering +void marshal_VkPhysicalDeviceLegacyDitheringFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceLegacyDitheringFeaturesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->legacyDithering, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceLegacyDitheringFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceLegacyDitheringFeaturesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->legacyDithering, sizeof(VkBool32)); +} + +#endif +#ifdef VK_EXT_pipeline_protected_access +void marshal_VkPhysicalDevicePipelineProtectedAccessFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDevicePipelineProtectedAccessFeaturesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->pipelineProtectedAccess, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDevicePipelineProtectedAccessFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDevicePipelineProtectedAccessFeaturesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->pipelineProtectedAccess, sizeof(VkBool32)); +} + +#endif +#ifdef VK_EXT_shader_object +void marshal_VkPhysicalDeviceShaderObjectFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceShaderObjectFeaturesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->shaderObject, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceShaderObjectFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceShaderObjectFeaturesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->shaderObject, sizeof(VkBool32)); +} + +void marshal_VkPhysicalDeviceShaderObjectPropertiesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceShaderObjectPropertiesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint8_t*)forMarshaling->shaderBinaryUUID, VK_UUID_SIZE * sizeof(uint8_t)); + vkStream->write((uint32_t*)&forMarshaling->shaderBinaryVersion, sizeof(uint32_t)); } +void unmarshal_VkPhysicalDeviceShaderObjectPropertiesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceShaderObjectPropertiesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint8_t*)forUnmarshaling->shaderBinaryUUID, VK_UUID_SIZE * sizeof(uint8_t)); + vkStream->read((uint32_t*)&forUnmarshaling->shaderBinaryVersion, sizeof(uint32_t)); +} + +void marshal_VkShaderCreateInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + const VkShaderCreateInfoEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkShaderCreateFlagsEXT*)&forMarshaling->flags, sizeof(VkShaderCreateFlagsEXT)); + vkStream->write((VkShaderStageFlagBits*)&forMarshaling->stage, sizeof(VkShaderStageFlagBits)); + vkStream->write((VkShaderStageFlags*)&forMarshaling->nextStage, sizeof(VkShaderStageFlags)); + vkStream->write((VkShaderCodeTypeEXT*)&forMarshaling->codeType, sizeof(VkShaderCodeTypeEXT)); + uint64_t cgen_var_0 = (uint64_t)forMarshaling->codeSize; + vkStream->putBe64(cgen_var_0); + vkStream->write((const void*)forMarshaling->pCode, + forMarshaling->codeSize * sizeof(const uint8_t)); + if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) { + // WARNING PTR CHECK + uint64_t cgen_var_0_0 = (uint64_t)(uintptr_t)forMarshaling->pName; + vkStream->putBe64(cgen_var_0_0); + if (forMarshaling->pName) { + vkStream->putString(forMarshaling->pName); + } + } else { + vkStream->putString(forMarshaling->pName); + } + vkStream->write((uint32_t*)&forMarshaling->setLayoutCount, sizeof(uint32_t)); + // WARNING PTR CHECK + uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pSetLayouts; + vkStream->putBe64(cgen_var_1); + if (forMarshaling->pSetLayouts) { + if (forMarshaling->setLayoutCount) { + uint64_t* cgen_var_1_0; + vkStream->alloc((void**)&cgen_var_1_0, forMarshaling->setLayoutCount * 8); + vkStream->handleMapping()->mapHandles_VkDescriptorSetLayout_u64( + forMarshaling->pSetLayouts, cgen_var_1_0, forMarshaling->setLayoutCount); + vkStream->write((uint64_t*)cgen_var_1_0, forMarshaling->setLayoutCount * 8); + } + } + vkStream->write((uint32_t*)&forMarshaling->pushConstantRangeCount, sizeof(uint32_t)); + // WARNING PTR CHECK + uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pPushConstantRanges; + vkStream->putBe64(cgen_var_2); + if (forMarshaling->pPushConstantRanges) { + if (forMarshaling) { + for (uint32_t i = 0; i < (uint32_t)forMarshaling->pushConstantRangeCount; ++i) { + marshal_VkPushConstantRange( + vkStream, rootType, + (const VkPushConstantRange*)(forMarshaling->pPushConstantRanges + i)); + } + } + } + // WARNING PTR CHECK + uint64_t cgen_var_3 = (uint64_t)(uintptr_t)forMarshaling->pSpecializationInfo; + vkStream->putBe64(cgen_var_3); + if (forMarshaling->pSpecializationInfo) { + marshal_VkSpecializationInfo( + vkStream, rootType, (const VkSpecializationInfo*)(forMarshaling->pSpecializationInfo)); + } +} + +void unmarshal_VkShaderCreateInfoEXT(VulkanStream* vkStream, VkStructureType rootType, + VkShaderCreateInfoEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkShaderCreateFlagsEXT*)&forUnmarshaling->flags, + sizeof(VkShaderCreateFlagsEXT)); + vkStream->read((VkShaderStageFlagBits*)&forUnmarshaling->stage, sizeof(VkShaderStageFlagBits)); + vkStream->read((VkShaderStageFlags*)&forUnmarshaling->nextStage, sizeof(VkShaderStageFlags)); + vkStream->read((VkShaderCodeTypeEXT*)&forUnmarshaling->codeType, sizeof(VkShaderCodeTypeEXT)); + forUnmarshaling->codeSize = (size_t)vkStream->getBe64(); + vkStream->alloc((void**)&forUnmarshaling->pCode, + forUnmarshaling->codeSize * sizeof(const uint8_t)); + vkStream->read((void*)forUnmarshaling->pCode, + forUnmarshaling->codeSize * sizeof(const uint8_t)); + if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) { + // WARNING PTR CHECK + forUnmarshaling->pName = (const char*)(uintptr_t)vkStream->getBe64(); + if (forUnmarshaling->pName) { + vkStream->loadStringInPlace((char**)&forUnmarshaling->pName); + } + } else { + vkStream->loadStringInPlace((char**)&forUnmarshaling->pName); + } + vkStream->read((uint32_t*)&forUnmarshaling->setLayoutCount, sizeof(uint32_t)); + // WARNING PTR CHECK + forUnmarshaling->pSetLayouts = (const VkDescriptorSetLayout*)(uintptr_t)vkStream->getBe64(); + if (forUnmarshaling->pSetLayouts) { + vkStream->alloc((void**)&forUnmarshaling->pSetLayouts, + forUnmarshaling->setLayoutCount * sizeof(const VkDescriptorSetLayout)); + if (forUnmarshaling->setLayoutCount) { + uint64_t* cgen_var_1_0; + vkStream->alloc((void**)&cgen_var_1_0, forUnmarshaling->setLayoutCount * 8); + vkStream->read((uint64_t*)cgen_var_1_0, forUnmarshaling->setLayoutCount * 8); + vkStream->handleMapping()->mapHandles_u64_VkDescriptorSetLayout( + cgen_var_1_0, (VkDescriptorSetLayout*)forUnmarshaling->pSetLayouts, + forUnmarshaling->setLayoutCount); + } + } + vkStream->read((uint32_t*)&forUnmarshaling->pushConstantRangeCount, sizeof(uint32_t)); + // WARNING PTR CHECK + forUnmarshaling->pPushConstantRanges = + (const VkPushConstantRange*)(uintptr_t)vkStream->getBe64(); + if (forUnmarshaling->pPushConstantRanges) { + vkStream->alloc( + (void**)&forUnmarshaling->pPushConstantRanges, + forUnmarshaling->pushConstantRangeCount * sizeof(const VkPushConstantRange)); + if (forUnmarshaling) { + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->pushConstantRangeCount; ++i) { + unmarshal_VkPushConstantRange( + vkStream, rootType, + (VkPushConstantRange*)(forUnmarshaling->pPushConstantRanges + i)); + } + } + } + // WARNING PTR CHECK + forUnmarshaling->pSpecializationInfo = + (const VkSpecializationInfo*)(uintptr_t)vkStream->getBe64(); + if (forUnmarshaling->pSpecializationInfo) { + vkStream->alloc((void**)&forUnmarshaling->pSpecializationInfo, + sizeof(const VkSpecializationInfo)); + unmarshal_VkSpecializationInfo( + vkStream, rootType, (VkSpecializationInfo*)(forUnmarshaling->pSpecializationInfo)); + } +} + +#endif +#ifdef VK_QCOM_tile_properties +void marshal_VkPhysicalDeviceTilePropertiesFeaturesQCOM( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceTilePropertiesFeaturesQCOM* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->tileProperties, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceTilePropertiesFeaturesQCOM( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceTilePropertiesFeaturesQCOM* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->tileProperties, sizeof(VkBool32)); +} + +void marshal_VkTilePropertiesQCOM(VulkanStream* vkStream, VkStructureType rootType, + const VkTilePropertiesQCOM* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->tileSize)); + marshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->apronSize)); + marshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forMarshaling->origin)); +} + +void unmarshal_VkTilePropertiesQCOM(VulkanStream* vkStream, VkStructureType rootType, + VkTilePropertiesQCOM* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->tileSize)); + unmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forUnmarshaling->apronSize)); + unmarshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forUnmarshaling->origin)); +} + +#endif +#ifdef VK_SEC_amigo_profiling +void marshal_VkPhysicalDeviceAmigoProfilingFeaturesSEC( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceAmigoProfilingFeaturesSEC* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->amigoProfiling, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceAmigoProfilingFeaturesSEC( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceAmigoProfilingFeaturesSEC* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->amigoProfiling, sizeof(VkBool32)); +} + +void marshal_VkAmigoProfilingSubmitInfoSEC(VulkanStream* vkStream, VkStructureType rootType, + const VkAmigoProfilingSubmitInfoSEC* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint64_t*)&forMarshaling->firstDrawTimestamp, sizeof(uint64_t)); + vkStream->write((uint64_t*)&forMarshaling->swapBufferTimestamp, sizeof(uint64_t)); +} + +void unmarshal_VkAmigoProfilingSubmitInfoSEC(VulkanStream* vkStream, VkStructureType rootType, + VkAmigoProfilingSubmitInfoSEC* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint64_t*)&forUnmarshaling->firstDrawTimestamp, sizeof(uint64_t)); + vkStream->read((uint64_t*)&forUnmarshaling->swapBufferTimestamp, sizeof(uint64_t)); +} + +#endif +#ifdef VK_QCOM_multiview_per_view_viewports +void marshal_VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->multiviewPerViewViewports, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->multiviewPerViewViewports, sizeof(VkBool32)); +} + +#endif +#ifdef VK_NV_ray_tracing_invocation_reorder +void marshal_VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkRayTracingInvocationReorderModeNV*)&forMarshaling + ->rayTracingInvocationReorderReorderingHint, + sizeof(VkRayTracingInvocationReorderModeNV)); +} + +void unmarshal_VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkRayTracingInvocationReorderModeNV*)&forUnmarshaling + ->rayTracingInvocationReorderReorderingHint, + sizeof(VkRayTracingInvocationReorderModeNV)); +} + +void marshal_VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->rayTracingInvocationReorder, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->rayTracingInvocationReorder, sizeof(VkBool32)); +} + +#endif +#ifdef VK_EXT_mutable_descriptor_type +#endif +#ifdef VK_ARM_shader_core_builtins +void marshal_VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->shaderCoreBuiltins, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->shaderCoreBuiltins, sizeof(VkBool32)); +} + +void marshal_VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint64_t*)&forMarshaling->shaderCoreMask, sizeof(uint64_t)); + vkStream->write((uint32_t*)&forMarshaling->shaderCoreCount, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->shaderWarpsPerCore, sizeof(uint32_t)); +} + +void unmarshal_VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint64_t*)&forUnmarshaling->shaderCoreMask, sizeof(uint64_t)); + vkStream->read((uint32_t*)&forUnmarshaling->shaderCoreCount, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->shaderWarpsPerCore, sizeof(uint32_t)); +} + +#endif +#ifdef VK_EXT_pipeline_library_group_handles +void marshal_VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->pipelineLibraryGroupHandles, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->pipelineLibraryGroupHandles, sizeof(VkBool32)); +} + +#endif +#ifdef VK_QCOM_multiview_per_view_render_areas +void marshal_VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->multiviewPerViewRenderAreas, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->multiviewPerViewRenderAreas, sizeof(VkBool32)); +} + +void marshal_VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM( + VulkanStream* vkStream, VkStructureType rootType, + const VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)&forMarshaling->perViewRenderAreaCount, sizeof(uint32_t)); + if (forMarshaling) { + for (uint32_t i = 0; i < (uint32_t)forMarshaling->perViewRenderAreaCount; ++i) { + marshal_VkRect2D(vkStream, rootType, + (const VkRect2D*)(forMarshaling->pPerViewRenderAreas + i)); + } + } +} + +void unmarshal_VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM( + VulkanStream* vkStream, VkStructureType rootType, + VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint32_t*)&forUnmarshaling->perViewRenderAreaCount, sizeof(uint32_t)); + vkStream->alloc((void**)&forUnmarshaling->pPerViewRenderAreas, + forUnmarshaling->perViewRenderAreaCount * sizeof(const VkRect2D)); + if (forUnmarshaling) { + for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->perViewRenderAreaCount; ++i) { + unmarshal_VkRect2D(vkStream, rootType, + (VkRect2D*)(forUnmarshaling->pPerViewRenderAreas + i)); + } + } +} + +#endif +#ifdef VK_EXT_attachment_feedback_loop_dynamic_state +void marshal_VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->attachmentFeedbackLoopDynamicState, + sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->attachmentFeedbackLoopDynamicState, + sizeof(VkBool32)); +} + +#endif +#ifdef VK_KHR_acceleration_structure void marshal_VkAccelerationStructureBuildRangeInfoKHR( VulkanStream* vkStream, VkStructureType rootType, const VkAccelerationStructureBuildRangeInfoKHR* forMarshaling) { @@ -33459,6 +40782,174 @@ void unmarshal_VkPhysicalDeviceRayQueryFeaturesKHR( } #endif +#ifdef VK_EXT_mesh_shader +void marshal_VkPhysicalDeviceMeshShaderFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceMeshShaderFeaturesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((VkBool32*)&forMarshaling->taskShader, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->meshShader, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->multiviewMeshShader, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->primitiveFragmentShadingRateMeshShader, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->meshShaderQueries, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceMeshShaderFeaturesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceMeshShaderFeaturesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((VkBool32*)&forUnmarshaling->taskShader, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->meshShader, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->multiviewMeshShader, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->primitiveFragmentShadingRateMeshShader, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->meshShaderQueries, sizeof(VkBool32)); +} + +void marshal_VkPhysicalDeviceMeshShaderPropertiesEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkPhysicalDeviceMeshShaderPropertiesEXT* forMarshaling) { + (void)rootType; + vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forMarshaling->sType; + } + marshal_extension_struct(vkStream, rootType, forMarshaling->pNext); + vkStream->write((uint32_t*)&forMarshaling->maxTaskWorkGroupTotalCount, sizeof(uint32_t)); + vkStream->write((uint32_t*)forMarshaling->maxTaskWorkGroupCount, 3 * sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxTaskWorkGroupInvocations, sizeof(uint32_t)); + vkStream->write((uint32_t*)forMarshaling->maxTaskWorkGroupSize, 3 * sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxTaskPayloadSize, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxTaskSharedMemorySize, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxTaskPayloadAndSharedMemorySize, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxMeshWorkGroupTotalCount, sizeof(uint32_t)); + vkStream->write((uint32_t*)forMarshaling->maxMeshWorkGroupCount, 3 * sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxMeshWorkGroupInvocations, sizeof(uint32_t)); + vkStream->write((uint32_t*)forMarshaling->maxMeshWorkGroupSize, 3 * sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxMeshSharedMemorySize, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxMeshPayloadAndSharedMemorySize, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxMeshOutputMemorySize, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxMeshPayloadAndOutputMemorySize, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxMeshOutputComponents, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxMeshOutputVertices, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxMeshOutputPrimitives, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxMeshOutputLayers, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxMeshMultiviewViewCount, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->meshOutputPerVertexGranularity, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->meshOutputPerPrimitiveGranularity, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxPreferredTaskWorkGroupInvocations, + sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->maxPreferredMeshWorkGroupInvocations, + sizeof(uint32_t)); + vkStream->write((VkBool32*)&forMarshaling->prefersLocalInvocationVertexOutput, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->prefersLocalInvocationPrimitiveOutput, + sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->prefersCompactVertexOutput, sizeof(VkBool32)); + vkStream->write((VkBool32*)&forMarshaling->prefersCompactPrimitiveOutput, sizeof(VkBool32)); +} + +void unmarshal_VkPhysicalDeviceMeshShaderPropertiesEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkPhysicalDeviceMeshShaderPropertiesEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); + if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) { + rootType = forUnmarshaling->sType; + } + size_t pNext_size; + pNext_size = vkStream->getBe32(); + forUnmarshaling->pNext = nullptr; + if (pNext_size) { + vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType)); + vkStream->read((void*)forUnmarshaling->pNext, sizeof(VkStructureType)); + VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext); + vkStream->alloc((void**)&forUnmarshaling->pNext, + goldfish_vk_extension_struct_size_with_stream_features( + vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext)); + *(VkStructureType*)forUnmarshaling->pNext = extType; + unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext)); + } + vkStream->read((uint32_t*)&forUnmarshaling->maxTaskWorkGroupTotalCount, sizeof(uint32_t)); + vkStream->read((uint32_t*)forUnmarshaling->maxTaskWorkGroupCount, 3 * sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxTaskWorkGroupInvocations, sizeof(uint32_t)); + vkStream->read((uint32_t*)forUnmarshaling->maxTaskWorkGroupSize, 3 * sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxTaskPayloadSize, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxTaskSharedMemorySize, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxTaskPayloadAndSharedMemorySize, + sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxMeshWorkGroupTotalCount, sizeof(uint32_t)); + vkStream->read((uint32_t*)forUnmarshaling->maxMeshWorkGroupCount, 3 * sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxMeshWorkGroupInvocations, sizeof(uint32_t)); + vkStream->read((uint32_t*)forUnmarshaling->maxMeshWorkGroupSize, 3 * sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxMeshSharedMemorySize, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxMeshPayloadAndSharedMemorySize, + sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxMeshOutputMemorySize, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxMeshPayloadAndOutputMemorySize, + sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxMeshOutputComponents, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxMeshOutputVertices, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxMeshOutputPrimitives, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxMeshOutputLayers, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxMeshMultiviewViewCount, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->meshOutputPerVertexGranularity, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->meshOutputPerPrimitiveGranularity, + sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxPreferredTaskWorkGroupInvocations, + sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->maxPreferredMeshWorkGroupInvocations, + sizeof(uint32_t)); + vkStream->read((VkBool32*)&forUnmarshaling->prefersLocalInvocationVertexOutput, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->prefersLocalInvocationPrimitiveOutput, + sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->prefersCompactVertexOutput, sizeof(VkBool32)); + vkStream->read((VkBool32*)&forUnmarshaling->prefersCompactPrimitiveOutput, sizeof(VkBool32)); +} + +void marshal_VkDrawMeshTasksIndirectCommandEXT( + VulkanStream* vkStream, VkStructureType rootType, + const VkDrawMeshTasksIndirectCommandEXT* forMarshaling) { + (void)rootType; + vkStream->write((uint32_t*)&forMarshaling->groupCountX, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->groupCountY, sizeof(uint32_t)); + vkStream->write((uint32_t*)&forMarshaling->groupCountZ, sizeof(uint32_t)); +} + +void unmarshal_VkDrawMeshTasksIndirectCommandEXT( + VulkanStream* vkStream, VkStructureType rootType, + VkDrawMeshTasksIndirectCommandEXT* forUnmarshaling) { + (void)rootType; + vkStream->read((uint32_t*)&forUnmarshaling->groupCountX, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->groupCountY, sizeof(uint32_t)); + vkStream->read((uint32_t*)&forUnmarshaling->groupCountZ, sizeof(uint32_t)); +} + +#endif void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, const void* structExtension) { VkInstanceCreateInfo* structAccess = (VkInstanceCreateInfo*)(structExtension); @@ -33482,6 +40973,14 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, } uint32_t structType = (uint32_t)goldfish_vk_struct_type(structExtension); switch (structType) { +#ifdef VK_VERSION_1_0 + case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO: { + marshal_VkShaderModuleCreateInfo( + vkStream, rootType, + reinterpret_cast<const VkShaderModuleCreateInfo*>(structExtension)); + break; + } +#endif #ifdef VK_VERSION_1_1 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: { marshal_VkPhysicalDeviceSubgroupProperties( @@ -33972,6 +41471,194 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, break; } #endif +#ifdef VK_VERSION_1_3 + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES: { + marshal_VkPhysicalDeviceVulkan13Features( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceVulkan13Features*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES: { + marshal_VkPhysicalDeviceVulkan13Properties( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceVulkan13Properties*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO: { + marshal_VkPipelineCreationFeedbackCreateInfo( + vkStream, rootType, + reinterpret_cast<const VkPipelineCreationFeedbackCreateInfo*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES: { + marshal_VkPhysicalDeviceShaderTerminateInvocationFeatures( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceShaderTerminateInvocationFeatures*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES: { + marshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES: { + marshal_VkPhysicalDevicePrivateDataFeatures( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDevicePrivateDataFeatures*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO: { + marshal_VkDevicePrivateDataCreateInfo( + vkStream, rootType, + reinterpret_cast<const VkDevicePrivateDataCreateInfo*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: { + marshal_VkPhysicalDevicePipelineCreationCacheControlFeatures( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDevicePipelineCreationCacheControlFeatures*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2: { + marshal_VkMemoryBarrier2(vkStream, rootType, + reinterpret_cast<const VkMemoryBarrier2*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES: { + marshal_VkPhysicalDeviceSynchronization2Features( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceSynchronization2Features*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES: { + marshal_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES: { + marshal_VkPhysicalDeviceImageRobustnessFeatures( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceImageRobustnessFeatures*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES: { + marshal_VkPhysicalDeviceSubgroupSizeControlFeatures( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlFeatures*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES: { + marshal_VkPhysicalDeviceSubgroupSizeControlProperties( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlProperties*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO: { + marshal_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo( + vkStream, rootType, + reinterpret_cast<const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES: { + marshal_VkPhysicalDeviceInlineUniformBlockFeatures( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockFeatures*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES: { + marshal_VkPhysicalDeviceInlineUniformBlockProperties( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockProperties*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK: { + marshal_VkWriteDescriptorSetInlineUniformBlock( + vkStream, rootType, + reinterpret_cast<const VkWriteDescriptorSetInlineUniformBlock*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO: { + marshal_VkDescriptorPoolInlineUniformBlockCreateInfo( + vkStream, rootType, + reinterpret_cast<const VkDescriptorPoolInlineUniformBlockCreateInfo*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: { + marshal_VkPhysicalDeviceTextureCompressionASTCHDRFeatures( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceTextureCompressionASTCHDRFeatures*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO: { + marshal_VkPipelineRenderingCreateInfo( + vkStream, rootType, + reinterpret_cast<const VkPipelineRenderingCreateInfo*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES: { + marshal_VkPhysicalDeviceDynamicRenderingFeatures( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceDynamicRenderingFeatures*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO: { + marshal_VkCommandBufferInheritanceRenderingInfo( + vkStream, rootType, + reinterpret_cast<const VkCommandBufferInheritanceRenderingInfo*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES: { + marshal_VkPhysicalDeviceShaderIntegerDotProductFeatures( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceShaderIntegerDotProductFeatures*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES: { + marshal_VkPhysicalDeviceShaderIntegerDotProductProperties( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceShaderIntegerDotProductProperties*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES: { + marshal_VkPhysicalDeviceTexelBufferAlignmentProperties( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentProperties*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3: { + marshal_VkFormatProperties3( + vkStream, rootType, reinterpret_cast<const VkFormatProperties3*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES: { + marshal_VkPhysicalDeviceMaintenance4Features( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceMaintenance4Features*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES: { + marshal_VkPhysicalDeviceMaintenance4Properties( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceMaintenance4Properties*>(structExtension)); + break; + } +#endif #ifdef VK_KHR_swapchain case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: { marshal_VkImageSwapchainCreateInfoKHR( @@ -34007,44 +41694,87 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, } #endif #ifdef VK_KHR_video_queue - case VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR: { - marshal_VkVideoQueueFamilyProperties2KHR( + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR: { + marshal_VkQueueFamilyQueryResultStatusPropertiesKHR( + vkStream, rootType, + reinterpret_cast<const VkQueueFamilyQueryResultStatusPropertiesKHR*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR: { + marshal_VkQueueFamilyVideoPropertiesKHR( vkStream, rootType, - reinterpret_cast<const VkVideoQueueFamilyProperties2KHR*>(structExtension)); + reinterpret_cast<const VkQueueFamilyVideoPropertiesKHR*>(structExtension)); break; } - case VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR: { - marshal_VkVideoProfileKHR(vkStream, rootType, - reinterpret_cast<const VkVideoProfileKHR*>(structExtension)); + case VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR: { + marshal_VkVideoProfileInfoKHR( + vkStream, rootType, + reinterpret_cast<const VkVideoProfileInfoKHR*>(structExtension)); break; } - case VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR: { - marshal_VkVideoProfilesKHR( - vkStream, rootType, reinterpret_cast<const VkVideoProfilesKHR*>(structExtension)); + case VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR: { + marshal_VkVideoProfileListInfoKHR( + vkStream, rootType, + reinterpret_cast<const VkVideoProfileListInfoKHR*>(structExtension)); break; } #endif -#ifdef VK_KHR_dynamic_rendering - case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR: { - marshal_VkPipelineRenderingCreateInfoKHR( +#ifdef VK_KHR_video_decode_queue + case VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR: { + marshal_VkVideoDecodeCapabilitiesKHR( vkStream, rootType, - reinterpret_cast<const VkPipelineRenderingCreateInfoKHR*>(structExtension)); + reinterpret_cast<const VkVideoDecodeCapabilitiesKHR*>(structExtension)); break; } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR: { - marshal_VkPhysicalDeviceDynamicRenderingFeaturesKHR( + case VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR: { + marshal_VkVideoDecodeUsageInfoKHR( vkStream, rootType, - reinterpret_cast<const VkPhysicalDeviceDynamicRenderingFeaturesKHR*>( + reinterpret_cast<const VkVideoDecodeUsageInfoKHR*>(structExtension)); + break; + } +#endif +#ifdef VK_KHR_video_decode_h264 + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR: { + marshal_VkVideoDecodeH264ProfileInfoKHR( + vkStream, rootType, + reinterpret_cast<const VkVideoDecodeH264ProfileInfoKHR*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR: { + marshal_VkVideoDecodeH264CapabilitiesKHR( + vkStream, rootType, + reinterpret_cast<const VkVideoDecodeH264CapabilitiesKHR*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR: { + marshal_VkVideoDecodeH264SessionParametersAddInfoKHR( + vkStream, rootType, + reinterpret_cast<const VkVideoDecodeH264SessionParametersAddInfoKHR*>( structExtension)); break; } - case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR: { - marshal_VkCommandBufferInheritanceRenderingInfoKHR( + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR: { + marshal_VkVideoDecodeH264SessionParametersCreateInfoKHR( vkStream, rootType, - reinterpret_cast<const VkCommandBufferInheritanceRenderingInfoKHR*>( + reinterpret_cast<const VkVideoDecodeH264SessionParametersCreateInfoKHR*>( structExtension)); break; } + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR: { + marshal_VkVideoDecodeH264PictureInfoKHR( + vkStream, rootType, + reinterpret_cast<const VkVideoDecodeH264PictureInfoKHR*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR: { + marshal_VkVideoDecodeH264DpbSlotInfoKHR( + vkStream, rootType, + reinterpret_cast<const VkVideoDecodeH264DpbSlotInfoKHR*>(structExtension)); + break; + } +#endif +#ifdef VK_KHR_dynamic_rendering case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: { marshal_VkRenderingFragmentShadingRateAttachmentInfoKHR( vkStream, rootType, @@ -34177,6 +41907,7 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, } #endif #ifdef VK_KHR_portability_subset +#ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR: { marshal_VkPhysicalDevicePortabilitySubsetFeaturesKHR( vkStream, rootType, @@ -34184,6 +41915,8 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, structExtension)); break; } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR: { marshal_VkPhysicalDevicePortabilitySubsetPropertiesKHR( vkStream, rootType, @@ -34191,6 +41924,7 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, structExtension)); break; } +#endif // VK_ENABLE_BETA_EXTENSIONS #endif #ifdef VK_KHR_shader_clock case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR: { @@ -34200,14 +41934,66 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, break; } #endif -#ifdef VK_KHR_shader_terminate_invocation - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR: { - marshal_VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR( +#ifdef VK_KHR_video_decode_h265 + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR: { + marshal_VkVideoDecodeH265ProfileInfoKHR( + vkStream, rootType, + reinterpret_cast<const VkVideoDecodeH265ProfileInfoKHR*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR: { + marshal_VkVideoDecodeH265CapabilitiesKHR( + vkStream, rootType, + reinterpret_cast<const VkVideoDecodeH265CapabilitiesKHR*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR: { + marshal_VkVideoDecodeH265SessionParametersAddInfoKHR( vkStream, rootType, - reinterpret_cast<const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR*>( + reinterpret_cast<const VkVideoDecodeH265SessionParametersAddInfoKHR*>( structExtension)); break; } + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR: { + marshal_VkVideoDecodeH265SessionParametersCreateInfoKHR( + vkStream, rootType, + reinterpret_cast<const VkVideoDecodeH265SessionParametersCreateInfoKHR*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR: { + marshal_VkVideoDecodeH265PictureInfoKHR( + vkStream, rootType, + reinterpret_cast<const VkVideoDecodeH265PictureInfoKHR*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR: { + marshal_VkVideoDecodeH265DpbSlotInfoKHR( + vkStream, rootType, + reinterpret_cast<const VkVideoDecodeH265DpbSlotInfoKHR*>(structExtension)); + break; + } +#endif +#ifdef VK_KHR_global_priority + case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR: { + marshal_VkDeviceQueueGlobalPriorityCreateInfoKHR( + vkStream, rootType, + reinterpret_cast<const VkDeviceQueueGlobalPriorityCreateInfoKHR*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR: { + marshal_VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR: { + marshal_VkQueueFamilyGlobalPriorityPropertiesKHR( + vkStream, rootType, + reinterpret_cast<const VkQueueFamilyGlobalPriorityPropertiesKHR*>(structExtension)); + break; + } #endif #ifdef VK_KHR_fragment_shading_rate case VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: { @@ -34263,19 +42049,11 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, break; } #endif -#ifdef VK_KHR_shader_integer_dot_product - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR: { - marshal_VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR( - vkStream, rootType, - reinterpret_cast<const VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR*>( - structExtension)); - break; - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR: { - marshal_VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR( +#ifdef VK_KHR_pipeline_library + case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR: { + marshal_VkPipelineLibraryCreateInfoKHR( vkStream, rootType, - reinterpret_cast<const VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR*>( - structExtension)); + reinterpret_cast<const VkPipelineLibraryCreateInfoKHR*>(structExtension)); break; } #endif @@ -34293,30 +42071,69 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, } #endif #ifdef VK_KHR_video_encode_queue +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR: { + marshal_VkVideoEncodeCapabilitiesKHR( + vkStream, rootType, + reinterpret_cast<const VkVideoEncodeCapabilitiesKHR*>(structExtension)); + break; + } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR: { + marshal_VkQueryPoolVideoEncodeFeedbackCreateInfoKHR( + vkStream, rootType, + reinterpret_cast<const VkQueryPoolVideoEncodeFeedbackCreateInfoKHR*>( + structExtension)); + break; + } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR: { + marshal_VkVideoEncodeUsageInfoKHR( + vkStream, rootType, + reinterpret_cast<const VkVideoEncodeUsageInfoKHR*>(structExtension)); + break; + } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR: { + marshal_VkVideoEncodeRateControlLayerInfoKHR( + vkStream, rootType, + reinterpret_cast<const VkVideoEncodeRateControlLayerInfoKHR*>(structExtension)); + break; + } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR: { marshal_VkVideoEncodeRateControlInfoKHR( vkStream, rootType, reinterpret_cast<const VkVideoEncodeRateControlInfoKHR*>(structExtension)); break; } +#endif // VK_ENABLE_BETA_EXTENSIONS #endif #ifdef VK_KHR_synchronization2 - case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR: { - marshal_VkMemoryBarrier2KHR( - vkStream, rootType, reinterpret_cast<const VkMemoryBarrier2KHR*>(structExtension)); + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: { + marshal_VkQueueFamilyCheckpointProperties2NV( + vkStream, rootType, + reinterpret_cast<const VkQueueFamilyCheckpointProperties2NV*>(structExtension)); break; } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR: { - marshal_VkPhysicalDeviceSynchronization2FeaturesKHR( +#endif +#ifdef VK_KHR_fragment_shader_barycentric + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR: { + marshal_VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR( vkStream, rootType, - reinterpret_cast<const VkPhysicalDeviceSynchronization2FeaturesKHR*>( + reinterpret_cast<const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR*>( structExtension)); break; } - case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: { - marshal_VkQueueFamilyCheckpointProperties2NV( + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR: { + marshal_VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR( vkStream, rootType, - reinterpret_cast<const VkQueueFamilyCheckpointProperties2NV*>(structExtension)); + reinterpret_cast<const VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR*>( + structExtension)); break; } #endif @@ -34330,15 +42147,6 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, break; } #endif -#ifdef VK_KHR_zero_initialize_workgroup_memory - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR: { - marshal_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR( - vkStream, rootType, - reinterpret_cast<const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR*>( - structExtension)); - break; - } -#endif #ifdef VK_KHR_workgroup_memory_explicit_layout case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR: { marshal_VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR( @@ -34348,25 +42156,20 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, break; } #endif -#ifdef VK_KHR_format_feature_flags2 - case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR: { - marshal_VkFormatProperties3KHR( +#ifdef VK_KHR_ray_tracing_maintenance1 + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR: { + marshal_VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR( vkStream, rootType, - reinterpret_cast<const VkFormatProperties3KHR*>(structExtension)); + reinterpret_cast<const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR*>( + structExtension)); break; } #endif -#ifdef VK_KHR_maintenance4 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR: { - marshal_VkPhysicalDeviceMaintenance4FeaturesKHR( - vkStream, rootType, - reinterpret_cast<const VkPhysicalDeviceMaintenance4FeaturesKHR*>(structExtension)); - break; - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR: { - marshal_VkPhysicalDeviceMaintenance4PropertiesKHR( +#ifdef VK_KHR_ray_tracing_position_fetch + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR: { + marshal_VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR( vkStream, rootType, - reinterpret_cast<const VkPhysicalDeviceMaintenance4PropertiesKHR*>( + reinterpret_cast<const VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR*>( structExtension)); break; } @@ -34441,18 +42244,15 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, } #endif #ifdef VK_EXT_video_encode_h264 +#ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT: { marshal_VkVideoEncodeH264CapabilitiesEXT( vkStream, rootType, reinterpret_cast<const VkVideoEncodeH264CapabilitiesEXT*>(structExtension)); break; } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT: { - marshal_VkVideoEncodeH264SessionCreateInfoEXT( - vkStream, rootType, - reinterpret_cast<const VkVideoEncodeH264SessionCreateInfoEXT*>(structExtension)); - break; - } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT: { marshal_VkVideoEncodeH264SessionParametersAddInfoEXT( vkStream, rootType, @@ -34460,6 +42260,8 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, structExtension)); break; } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT: { marshal_VkVideoEncodeH264SessionParametersCreateInfoEXT( vkStream, rootType, @@ -34467,39 +42269,58 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, structExtension)); break; } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT: { marshal_VkVideoEncodeH264VclFrameInfoEXT( vkStream, rootType, reinterpret_cast<const VkVideoEncodeH264VclFrameInfoEXT*>(structExtension)); break; } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT: { - marshal_VkVideoEncodeH264EmitPictureParametersEXT( +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT: { + marshal_VkVideoEncodeH264DpbSlotInfoEXT( vkStream, rootType, - reinterpret_cast<const VkVideoEncodeH264EmitPictureParametersEXT*>( - structExtension)); + reinterpret_cast<const VkVideoEncodeH264DpbSlotInfoEXT*>(structExtension)); + break; + } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_EXT: { + marshal_VkVideoEncodeH264ProfileInfoEXT( + vkStream, rootType, + reinterpret_cast<const VkVideoEncodeH264ProfileInfoEXT*>(structExtension)); + break; + } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT: { + marshal_VkVideoEncodeH264RateControlInfoEXT( + vkStream, rootType, + reinterpret_cast<const VkVideoEncodeH264RateControlInfoEXT*>(structExtension)); break; } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT: { - marshal_VkVideoEncodeH264ProfileEXT( +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT: { + marshal_VkVideoEncodeH264RateControlLayerInfoEXT( vkStream, rootType, - reinterpret_cast<const VkVideoEncodeH264ProfileEXT*>(structExtension)); + reinterpret_cast<const VkVideoEncodeH264RateControlLayerInfoEXT*>(structExtension)); break; } +#endif // VK_ENABLE_BETA_EXTENSIONS #endif #ifdef VK_EXT_video_encode_h265 +#ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT: { marshal_VkVideoEncodeH265CapabilitiesEXT( vkStream, rootType, reinterpret_cast<const VkVideoEncodeH265CapabilitiesEXT*>(structExtension)); break; } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT: { - marshal_VkVideoEncodeH265SessionCreateInfoEXT( - vkStream, rootType, - reinterpret_cast<const VkVideoEncodeH265SessionCreateInfoEXT*>(structExtension)); - break; - } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT: { marshal_VkVideoEncodeH265SessionParametersAddInfoEXT( vkStream, rootType, @@ -34507,6 +42328,8 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, structExtension)); break; } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT: { marshal_VkVideoEncodeH265SessionParametersCreateInfoEXT( vkStream, rootType, @@ -34514,77 +42337,47 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, structExtension)); break; } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT: { marshal_VkVideoEncodeH265VclFrameInfoEXT( vkStream, rootType, reinterpret_cast<const VkVideoEncodeH265VclFrameInfoEXT*>(structExtension)); break; } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT: { - marshal_VkVideoEncodeH265EmitPictureParametersEXT( - vkStream, rootType, - reinterpret_cast<const VkVideoEncodeH265EmitPictureParametersEXT*>( - structExtension)); - break; - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_EXT: { - marshal_VkVideoEncodeH265ProfileEXT( - vkStream, rootType, - reinterpret_cast<const VkVideoEncodeH265ProfileEXT*>(structExtension)); - break; - } -#endif -#ifdef VK_EXT_video_decode_h264 - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT: { - marshal_VkVideoDecodeH264ProfileEXT( - vkStream, rootType, - reinterpret_cast<const VkVideoDecodeH264ProfileEXT*>(structExtension)); - break; - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT: { - marshal_VkVideoDecodeH264CapabilitiesEXT( - vkStream, rootType, - reinterpret_cast<const VkVideoDecodeH264CapabilitiesEXT*>(structExtension)); - break; - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT: { - marshal_VkVideoDecodeH264SessionCreateInfoEXT( - vkStream, rootType, - reinterpret_cast<const VkVideoDecodeH264SessionCreateInfoEXT*>(structExtension)); - break; - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT: { - marshal_VkVideoDecodeH264SessionParametersAddInfoEXT( - vkStream, rootType, - reinterpret_cast<const VkVideoDecodeH264SessionParametersAddInfoEXT*>( - structExtension)); - break; - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT: { - marshal_VkVideoDecodeH264SessionParametersCreateInfoEXT( +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT: { + marshal_VkVideoEncodeH265DpbSlotInfoEXT( vkStream, rootType, - reinterpret_cast<const VkVideoDecodeH264SessionParametersCreateInfoEXT*>( - structExtension)); + reinterpret_cast<const VkVideoEncodeH265DpbSlotInfoEXT*>(structExtension)); break; } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT: { - marshal_VkVideoDecodeH264PictureInfoEXT( +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_EXT: { + marshal_VkVideoEncodeH265ProfileInfoEXT( vkStream, rootType, - reinterpret_cast<const VkVideoDecodeH264PictureInfoEXT*>(structExtension)); + reinterpret_cast<const VkVideoEncodeH265ProfileInfoEXT*>(structExtension)); break; } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT: { - marshal_VkVideoDecodeH264MvcEXT( +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT: { + marshal_VkVideoEncodeH265RateControlInfoEXT( vkStream, rootType, - reinterpret_cast<const VkVideoDecodeH264MvcEXT*>(structExtension)); + reinterpret_cast<const VkVideoEncodeH265RateControlInfoEXT*>(structExtension)); break; } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT: { - marshal_VkVideoDecodeH264DpbSlotInfoEXT( +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT: { + marshal_VkVideoEncodeH265RateControlLayerInfoEXT( vkStream, rootType, - reinterpret_cast<const VkVideoDecodeH264DpbSlotInfoEXT*>(structExtension)); + reinterpret_cast<const VkVideoEncodeH265RateControlLayerInfoEXT*>(structExtension)); break; } +#endif // VK_ENABLE_BETA_EXTENSIONS #endif #ifdef VK_AMD_texture_gather_bias_lod case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD: { @@ -34646,15 +42439,6 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, break; } #endif -#ifdef VK_EXT_texture_compression_astc_hdr - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT: { - marshal_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT( - vkStream, rootType, - reinterpret_cast<const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT*>( - structExtension)); - break; - } -#endif #ifdef VK_EXT_astc_decode_mode case VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT: { marshal_VkImageViewASTCDecodeModeEXT( @@ -34669,6 +42453,28 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, break; } #endif +#ifdef VK_EXT_pipeline_robustness + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT: { + marshal_VkPhysicalDevicePipelineRobustnessFeaturesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDevicePipelineRobustnessFeaturesEXT*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT: { + marshal_VkPhysicalDevicePipelineRobustnessPropertiesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDevicePipelineRobustnessPropertiesEXT*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT: { + marshal_VkPipelineRobustnessCreateInfoEXT( + vkStream, rootType, + reinterpret_cast<const VkPipelineRobustnessCreateInfoEXT*>(structExtension)); + break; + } +#endif #ifdef VK_EXT_conditional_rendering case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT: { marshal_VkPhysicalDeviceConditionalRenderingFeaturesEXT( @@ -34777,6 +42583,12 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, } #endif #ifdef VK_EXT_debug_utils + case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT: { + marshal_VkDebugUtilsObjectNameInfoEXT( + vkStream, rootType, + reinterpret_cast<const VkDebugUtilsObjectNameInfoEXT*>(structExtension)); + break; + } case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: { marshal_VkDebugUtilsMessengerCreateInfoEXT( vkStream, rootType, @@ -34818,36 +42630,6 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, break; } #endif -#ifdef VK_EXT_inline_uniform_block - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT: { - marshal_VkPhysicalDeviceInlineUniformBlockFeaturesEXT( - vkStream, rootType, - reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockFeaturesEXT*>( - structExtension)); - break; - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT: { - marshal_VkPhysicalDeviceInlineUniformBlockPropertiesEXT( - vkStream, rootType, - reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockPropertiesEXT*>( - structExtension)); - break; - } - case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT: { - marshal_VkWriteDescriptorSetInlineUniformBlockEXT( - vkStream, rootType, - reinterpret_cast<const VkWriteDescriptorSetInlineUniformBlockEXT*>( - structExtension)); - break; - } - case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT: { - marshal_VkDescriptorPoolInlineUniformBlockCreateInfoEXT( - vkStream, rootType, - reinterpret_cast<const VkDescriptorPoolInlineUniformBlockCreateInfoEXT*>( - structExtension)); - break; - } -#endif #ifdef VK_EXT_sample_locations case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT: { marshal_VkSampleLocationsInfoEXT( @@ -35054,14 +42836,6 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, break; } #endif -#ifdef VK_EXT_global_priority - case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT: { - marshal_VkDeviceQueueGlobalPriorityCreateInfoEXT( - vkStream, rootType, - reinterpret_cast<const VkDeviceQueueGlobalPriorityCreateInfoEXT*>(structExtension)); - break; - } -#endif #ifdef VK_EXT_external_memory_host case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: { marshal_VkImportMemoryHostPointerInfoEXT( @@ -35093,52 +42867,6 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, break; } #endif -#ifdef VK_EXT_video_decode_h265 - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT: { - marshal_VkVideoDecodeH265ProfileEXT( - vkStream, rootType, - reinterpret_cast<const VkVideoDecodeH265ProfileEXT*>(structExtension)); - break; - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT: { - marshal_VkVideoDecodeH265CapabilitiesEXT( - vkStream, rootType, - reinterpret_cast<const VkVideoDecodeH265CapabilitiesEXT*>(structExtension)); - break; - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT: { - marshal_VkVideoDecodeH265SessionCreateInfoEXT( - vkStream, rootType, - reinterpret_cast<const VkVideoDecodeH265SessionCreateInfoEXT*>(structExtension)); - break; - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT: { - marshal_VkVideoDecodeH265SessionParametersAddInfoEXT( - vkStream, rootType, - reinterpret_cast<const VkVideoDecodeH265SessionParametersAddInfoEXT*>( - structExtension)); - break; - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT: { - marshal_VkVideoDecodeH265SessionParametersCreateInfoEXT( - vkStream, rootType, - reinterpret_cast<const VkVideoDecodeH265SessionParametersCreateInfoEXT*>( - structExtension)); - break; - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT: { - marshal_VkVideoDecodeH265PictureInfoEXT( - vkStream, rootType, - reinterpret_cast<const VkVideoDecodeH265PictureInfoEXT*>(structExtension)); - break; - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT: { - marshal_VkVideoDecodeH265DpbSlotInfoEXT( - vkStream, rootType, - reinterpret_cast<const VkVideoDecodeH265DpbSlotInfoEXT*>(structExtension)); - break; - } -#endif #ifdef VK_AMD_memory_overallocation_behavior case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD: { marshal_VkDeviceMemoryOverallocationCreateInfoAMD( @@ -35179,14 +42907,6 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, break; } #endif -#ifdef VK_EXT_pipeline_creation_feedback - case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT: { - marshal_VkPipelineCreationFeedbackCreateInfoEXT( - vkStream, rootType, - reinterpret_cast<const VkPipelineCreationFeedbackCreateInfoEXT*>(structExtension)); - break; - } -#endif #ifdef VK_NV_compute_shader_derivatives case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV: { marshal_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV( @@ -35210,15 +42930,6 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, break; } #endif -#ifdef VK_NV_fragment_shader_barycentric - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV: { - marshal_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV( - vkStream, rootType, - reinterpret_cast<const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV*>( - structExtension)); - break; - } -#endif #ifdef VK_NV_shader_image_footprint case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV: { marshal_VkPhysicalDeviceShaderImageFootprintFeaturesNV( @@ -35383,29 +43094,6 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, break; } #endif -#ifdef VK_EXT_subgroup_size_control - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT: { - marshal_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT( - vkStream, rootType, - reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT*>( - structExtension)); - break; - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT: { - marshal_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT( - vkStream, rootType, - reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT*>( - structExtension)); - break; - } - case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT: { - marshal_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT( - vkStream, rootType, - reinterpret_cast<const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT*>( - structExtension)); - break; - } -#endif #ifdef VK_AMD_shader_core_properties2 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD: { marshal_VkPhysicalDeviceShaderCoreProperties2AMD( @@ -35641,14 +43329,58 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, break; } #endif -#ifdef VK_EXT_shader_demote_to_helper_invocation - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT: { - marshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT( +#ifdef VK_EXT_surface_maintenance1 + case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT: { + marshal_VkSurfacePresentModeEXT( + vkStream, rootType, + reinterpret_cast<const VkSurfacePresentModeEXT*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT: { + marshal_VkSurfacePresentScalingCapabilitiesEXT( + vkStream, rootType, + reinterpret_cast<const VkSurfacePresentScalingCapabilitiesEXT*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT: { + marshal_VkSurfacePresentModeCompatibilityEXT( + vkStream, rootType, + reinterpret_cast<const VkSurfacePresentModeCompatibilityEXT*>(structExtension)); + break; + } +#endif +#ifdef VK_EXT_swapchain_maintenance1 + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT: { + marshal_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT( vkStream, rootType, - reinterpret_cast<const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT*>( + reinterpret_cast<const VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT*>( structExtension)); break; } + case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT: { + marshal_VkSwapchainPresentFenceInfoEXT( + vkStream, rootType, + reinterpret_cast<const VkSwapchainPresentFenceInfoEXT*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT: { + marshal_VkSwapchainPresentModesCreateInfoEXT( + vkStream, rootType, + reinterpret_cast<const VkSwapchainPresentModesCreateInfoEXT*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT: { + marshal_VkSwapchainPresentModeInfoEXT( + vkStream, rootType, + reinterpret_cast<const VkSwapchainPresentModeInfoEXT*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT: { + marshal_VkSwapchainPresentScalingCreateInfoEXT( + vkStream, rootType, + reinterpret_cast<const VkSwapchainPresentScalingCreateInfoEXT*>(structExtension)); + break; + } #endif #ifdef VK_NV_device_generated_commands case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV: { @@ -35697,13 +43429,6 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, structExtension)); break; } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT: { - marshal_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT( - vkStream, rootType, - reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT*>( - structExtension)); - break; - } #endif #ifdef VK_QCOM_render_pass_transform case VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM: { @@ -35771,26 +43496,23 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, break; } #endif -#ifdef VK_EXT_private_data - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT: { - marshal_VkPhysicalDevicePrivateDataFeaturesEXT( +#ifdef VK_NV_present_barrier + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV: { + marshal_VkPhysicalDevicePresentBarrierFeaturesNV( vkStream, rootType, - reinterpret_cast<const VkPhysicalDevicePrivateDataFeaturesEXT*>(structExtension)); + reinterpret_cast<const VkPhysicalDevicePresentBarrierFeaturesNV*>(structExtension)); break; } - case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT: { - marshal_VkDevicePrivateDataCreateInfoEXT( + case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV: { + marshal_VkSurfaceCapabilitiesPresentBarrierNV( vkStream, rootType, - reinterpret_cast<const VkDevicePrivateDataCreateInfoEXT*>(structExtension)); + reinterpret_cast<const VkSurfaceCapabilitiesPresentBarrierNV*>(structExtension)); break; } -#endif -#ifdef VK_EXT_pipeline_creation_cache_control - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT: { - marshal_VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT( + case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV: { + marshal_VkSwapchainPresentBarrierCreateInfoNV( vkStream, rootType, - reinterpret_cast<const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT*>( - structExtension)); + reinterpret_cast<const VkSwapchainPresentBarrierCreateInfoNV*>(structExtension)); break; } #endif @@ -35809,6 +43531,150 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, break; } #endif +#ifdef VK_NV_low_latency + case VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV: { + marshal_VkQueryLowLatencySupportNV( + vkStream, rootType, + reinterpret_cast<const VkQueryLowLatencySupportNV*>(structExtension)); + break; + } +#endif +#ifdef VK_EXT_metal_objects + case VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT: { + marshal_VkExportMetalObjectCreateInfoEXT( + vkStream, rootType, + reinterpret_cast<const VkExportMetalObjectCreateInfoEXT*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT: { + marshal_VkExportMetalDeviceInfoEXT( + vkStream, rootType, + reinterpret_cast<const VkExportMetalDeviceInfoEXT*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT: { + marshal_VkExportMetalCommandQueueInfoEXT( + vkStream, rootType, + reinterpret_cast<const VkExportMetalCommandQueueInfoEXT*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT: { + marshal_VkExportMetalBufferInfoEXT( + vkStream, rootType, + reinterpret_cast<const VkExportMetalBufferInfoEXT*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT: { + marshal_VkImportMetalBufferInfoEXT( + vkStream, rootType, + reinterpret_cast<const VkImportMetalBufferInfoEXT*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT: { + marshal_VkExportMetalTextureInfoEXT( + vkStream, rootType, + reinterpret_cast<const VkExportMetalTextureInfoEXT*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT: { + marshal_VkImportMetalTextureInfoEXT( + vkStream, rootType, + reinterpret_cast<const VkImportMetalTextureInfoEXT*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT: { + marshal_VkExportMetalIOSurfaceInfoEXT( + vkStream, rootType, + reinterpret_cast<const VkExportMetalIOSurfaceInfoEXT*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT: { + marshal_VkImportMetalIOSurfaceInfoEXT( + vkStream, rootType, + reinterpret_cast<const VkImportMetalIOSurfaceInfoEXT*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT: { + marshal_VkExportMetalSharedEventInfoEXT( + vkStream, rootType, + reinterpret_cast<const VkExportMetalSharedEventInfoEXT*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT: { + marshal_VkImportMetalSharedEventInfoEXT( + vkStream, rootType, + reinterpret_cast<const VkImportMetalSharedEventInfoEXT*>(structExtension)); + break; + } +#endif +#ifdef VK_EXT_descriptor_buffer + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT: { + marshal_VkPhysicalDeviceDescriptorBufferPropertiesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceDescriptorBufferPropertiesEXT*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT: { + marshal_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT: { + marshal_VkPhysicalDeviceDescriptorBufferFeaturesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceDescriptorBufferFeaturesEXT*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT: { + marshal_VkDescriptorBufferBindingPushDescriptorBufferHandleEXT( + vkStream, rootType, + reinterpret_cast<const VkDescriptorBufferBindingPushDescriptorBufferHandleEXT*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT: { + marshal_VkOpaqueCaptureDescriptorDataCreateInfoEXT( + vkStream, rootType, + reinterpret_cast<const VkOpaqueCaptureDescriptorDataCreateInfoEXT*>( + structExtension)); + break; + } +#endif +#ifdef VK_EXT_graphics_pipeline_library + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: { + marshal_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT: { + marshal_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT: { + marshal_VkGraphicsPipelineLibraryCreateInfoEXT( + vkStream, rootType, + reinterpret_cast<const VkGraphicsPipelineLibraryCreateInfoEXT*>(structExtension)); + break; + } +#endif +#ifdef VK_AMD_shader_early_and_late_fragment_tests + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD: { + marshal_VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD*>( + structExtension)); + break; + } +#endif #ifdef VK_NV_fragment_shading_rate_enums case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV: { marshal_VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV( @@ -35887,11 +43753,32 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, break; } #endif -#ifdef VK_EXT_image_robustness - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT: { - marshal_VkPhysicalDeviceImageRobustnessFeaturesEXT( +#ifdef VK_EXT_image_compression_control + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT: { + marshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceImageCompressionControlFeaturesEXT*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT: { + marshal_VkImageCompressionControlEXT( + vkStream, rootType, + reinterpret_cast<const VkImageCompressionControlEXT*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT: { + marshal_VkImageCompressionPropertiesEXT( + vkStream, rootType, + reinterpret_cast<const VkImageCompressionPropertiesEXT*>(structExtension)); + break; + } +#endif +#ifdef VK_EXT_attachment_feedback_loop_layout + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT: { + marshal_VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT( vkStream, rootType, - reinterpret_cast<const VkPhysicalDeviceImageRobustnessFeaturesEXT*>( + reinterpret_cast<const VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT*>( structExtension)); break; } @@ -35904,6 +43791,24 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, break; } #endif +#ifdef VK_EXT_device_fault + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT: { + marshal_VkPhysicalDeviceFaultFeaturesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceFaultFeaturesEXT*>(structExtension)); + break; + } +#endif +#ifdef VK_ARM_rasterization_order_attachment_access + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT: { + marshal_VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT( + vkStream, rootType, + reinterpret_cast< + const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT*>( + structExtension)); + break; + } +#endif #ifdef VK_EXT_rgba10x6_formats case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT: { marshal_VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT( @@ -35914,17 +43819,17 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, } #endif #ifdef VK_VALVE_mutable_descriptor_type - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE: { - marshal_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE( + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT: { + marshal_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT( vkStream, rootType, - reinterpret_cast<const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE*>( + reinterpret_cast<const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT*>( structExtension)); break; } - case VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE: { - marshal_VkMutableDescriptorTypeCreateInfoVALVE( + case VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT: { + marshal_VkMutableDescriptorTypeCreateInfoEXT( vkStream, rootType, - reinterpret_cast<const VkMutableDescriptorTypeCreateInfoVALVE*>(structExtension)); + reinterpret_cast<const VkMutableDescriptorTypeCreateInfoEXT*>(structExtension)); break; } #endif @@ -35945,6 +43850,37 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, break; } #endif +#ifdef VK_EXT_device_address_binding_report + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT: { + marshal_VkPhysicalDeviceAddressBindingReportFeaturesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceAddressBindingReportFeaturesEXT*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT: { + marshal_VkDeviceAddressBindingCallbackDataEXT( + vkStream, rootType, + reinterpret_cast<const VkDeviceAddressBindingCallbackDataEXT*>(structExtension)); + break; + } +#endif +#ifdef VK_EXT_depth_clip_control + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT: { + marshal_VkPhysicalDeviceDepthClipControlFeaturesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceDepthClipControlFeaturesEXT*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT: { + marshal_VkPipelineViewportDepthClipControlCreateInfoEXT( + vkStream, rootType, + reinterpret_cast<const VkPipelineViewportDepthClipControlCreateInfoEXT*>( + structExtension)); + break; + } +#endif #ifdef VK_EXT_primitive_topology_list_restart case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT: { marshal_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT( @@ -36023,6 +43959,38 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, break; } #endif +#ifdef VK_EXT_pipeline_properties + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT: { + marshal_VkPhysicalDevicePipelinePropertiesFeaturesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDevicePipelinePropertiesFeaturesEXT*>( + structExtension)); + break; + } +#endif +#ifdef VK_EXT_multisampled_render_to_single_sampled + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT: { + marshal_VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT( + vkStream, rootType, + reinterpret_cast< + const VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT: { + marshal_VkSubpassResolvePerformanceQueryEXT( + vkStream, rootType, + reinterpret_cast<const VkSubpassResolvePerformanceQueryEXT*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT: { + marshal_VkMultisampledRenderToSingleSampledInfoEXT( + vkStream, rootType, + reinterpret_cast<const VkMultisampledRenderToSingleSampledInfoEXT*>( + structExtension)); + break; + } +#endif #ifdef VK_EXT_extended_dynamic_state2 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT: { marshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT( @@ -36047,6 +44015,15 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, break; } #endif +#ifdef VK_EXT_primitives_generated_query + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT: { + marshal_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT*>( + structExtension)); + break; + } +#endif #ifdef VK_GOOGLE_gfxstream case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE: { marshal_VkImportColorBufferGOOGLE( @@ -36065,18 +44042,18 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, break; } #endif -#ifdef VK_EXT_global_priority_query - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT: { - marshal_VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT( +#ifdef VK_EXT_image_view_min_lod + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT: { + marshal_VkPhysicalDeviceImageViewMinLodFeaturesEXT( vkStream, rootType, - reinterpret_cast<const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT*>( + reinterpret_cast<const VkPhysicalDeviceImageViewMinLodFeaturesEXT*>( structExtension)); break; } - case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT: { - marshal_VkQueueFamilyGlobalPriorityPropertiesEXT( + case VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT: { + marshal_VkImageViewMinLodCreateInfoEXT( vkStream, rootType, - reinterpret_cast<const VkQueueFamilyGlobalPriorityPropertiesEXT*>(structExtension)); + reinterpret_cast<const VkImageViewMinLodCreateInfoEXT*>(structExtension)); break; } #endif @@ -36094,6 +44071,99 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, break; } #endif +#ifdef VK_EXT_image_2d_view_of_3d + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT: { + marshal_VkPhysicalDeviceImage2DViewOf3DFeaturesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT*>( + structExtension)); + break; + } +#endif +#ifdef VK_EXT_shader_tile_image + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT: { + marshal_VkPhysicalDeviceShaderTileImageFeaturesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceShaderTileImageFeaturesEXT*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT: { + marshal_VkPhysicalDeviceShaderTileImagePropertiesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceShaderTileImagePropertiesEXT*>( + structExtension)); + break; + } +#endif +#ifdef VK_EXT_opacity_micromap + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT: { + marshal_VkPhysicalDeviceOpacityMicromapFeaturesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceOpacityMicromapFeaturesEXT*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT: { + marshal_VkPhysicalDeviceOpacityMicromapPropertiesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceOpacityMicromapPropertiesEXT*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT: { + marshal_VkAccelerationStructureTrianglesOpacityMicromapEXT( + vkStream, rootType, + reinterpret_cast<const VkAccelerationStructureTrianglesOpacityMicromapEXT*>( + structExtension)); + break; + } +#endif +#ifdef VK_NV_displacement_micromap +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV: { + marshal_VkPhysicalDeviceDisplacementMicromapFeaturesNV( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceDisplacementMicromapFeaturesNV*>( + structExtension)); + break; + } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV: { + marshal_VkPhysicalDeviceDisplacementMicromapPropertiesNV( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceDisplacementMicromapPropertiesNV*>( + structExtension)); + break; + } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV: { + marshal_VkAccelerationStructureTrianglesDisplacementMicromapNV( + vkStream, rootType, + reinterpret_cast<const VkAccelerationStructureTrianglesDisplacementMicromapNV*>( + structExtension)); + break; + } +#endif // VK_ENABLE_BETA_EXTENSIONS +#endif +#ifdef VK_HUAWEI_cluster_culling_shader + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI: { + marshal_VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI: { + marshal_VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI*>( + structExtension)); + break; + } +#endif #ifdef VK_EXT_border_color_swizzle case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT: { marshal_VkPhysicalDeviceBorderColorSwizzleFeaturesEXT( @@ -36119,6 +44189,387 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, break; } #endif +#ifdef VK_ARM_shader_core_properties + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM: { + marshal_VkPhysicalDeviceShaderCorePropertiesARM( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceShaderCorePropertiesARM*>(structExtension)); + break; + } +#endif +#ifdef VK_EXT_image_sliced_view_of_3d + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT: { + marshal_VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT: { + marshal_VkImageViewSlicedCreateInfoEXT( + vkStream, rootType, + reinterpret_cast<const VkImageViewSlicedCreateInfoEXT*>(structExtension)); + break; + } +#endif +#ifdef VK_VALVE_descriptor_set_host_mapping + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE: { + marshal_VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE*>( + structExtension)); + break; + } +#endif +#ifdef VK_EXT_depth_clamp_zero_one + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT: { + marshal_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT*>( + structExtension)); + break; + } +#endif +#ifdef VK_EXT_non_seamless_cube_map + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT: { + marshal_VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT*>( + structExtension)); + break; + } +#endif +#ifdef VK_QCOM_fragment_density_map_offset + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM: { + marshal_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM: { + marshal_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM: { + marshal_VkSubpassFragmentDensityMapOffsetEndInfoQCOM( + vkStream, rootType, + reinterpret_cast<const VkSubpassFragmentDensityMapOffsetEndInfoQCOM*>( + structExtension)); + break; + } +#endif +#ifdef VK_NV_copy_memory_indirect + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV: { + marshal_VkPhysicalDeviceCopyMemoryIndirectFeaturesNV( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceCopyMemoryIndirectFeaturesNV*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV: { + marshal_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceCopyMemoryIndirectPropertiesNV*>( + structExtension)); + break; + } +#endif +#ifdef VK_NV_memory_decompression + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV: { + marshal_VkPhysicalDeviceMemoryDecompressionFeaturesNV( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceMemoryDecompressionFeaturesNV*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV: { + marshal_VkPhysicalDeviceMemoryDecompressionPropertiesNV( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceMemoryDecompressionPropertiesNV*>( + structExtension)); + break; + } +#endif +#ifdef VK_NV_linear_color_attachment + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV: { + marshal_VkPhysicalDeviceLinearColorAttachmentFeaturesNV( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceLinearColorAttachmentFeaturesNV*>( + structExtension)); + break; + } +#endif +#ifdef VK_EXT_image_compression_control_swapchain + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT: { + marshal_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT( + vkStream, rootType, + reinterpret_cast< + const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT*>( + structExtension)); + break; + } +#endif +#ifdef VK_QCOM_image_processing + case VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM: { + marshal_VkImageViewSampleWeightCreateInfoQCOM( + vkStream, rootType, + reinterpret_cast<const VkImageViewSampleWeightCreateInfoQCOM*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM: { + marshal_VkPhysicalDeviceImageProcessingFeaturesQCOM( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceImageProcessingFeaturesQCOM*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM: { + marshal_VkPhysicalDeviceImageProcessingPropertiesQCOM( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceImageProcessingPropertiesQCOM*>( + structExtension)); + break; + } +#endif +#ifdef VK_EXT_extended_dynamic_state3 + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT: { + marshal_VkPhysicalDeviceExtendedDynamicState3FeaturesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceExtendedDynamicState3FeaturesEXT*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT: { + marshal_VkPhysicalDeviceExtendedDynamicState3PropertiesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceExtendedDynamicState3PropertiesEXT*>( + structExtension)); + break; + } +#endif +#ifdef VK_EXT_subpass_merge_feedback + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT: { + marshal_VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT: { + marshal_VkRenderPassCreationControlEXT( + vkStream, rootType, + reinterpret_cast<const VkRenderPassCreationControlEXT*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT: { + marshal_VkRenderPassCreationFeedbackCreateInfoEXT( + vkStream, rootType, + reinterpret_cast<const VkRenderPassCreationFeedbackCreateInfoEXT*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT: { + marshal_VkRenderPassSubpassFeedbackCreateInfoEXT( + vkStream, rootType, + reinterpret_cast<const VkRenderPassSubpassFeedbackCreateInfoEXT*>(structExtension)); + break; + } +#endif +#ifdef VK_LUNARG_direct_driver_loading + case VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG: { + marshal_VkDirectDriverLoadingListLUNARG( + vkStream, rootType, + reinterpret_cast<const VkDirectDriverLoadingListLUNARG*>(structExtension)); + break; + } +#endif +#ifdef VK_EXT_shader_module_identifier + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT: { + marshal_VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT: { + marshal_VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT: { + marshal_VkPipelineShaderStageModuleIdentifierCreateInfoEXT( + vkStream, rootType, + reinterpret_cast<const VkPipelineShaderStageModuleIdentifierCreateInfoEXT*>( + structExtension)); + break; + } +#endif +#ifdef VK_NV_optical_flow + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV: { + marshal_VkPhysicalDeviceOpticalFlowFeaturesNV( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceOpticalFlowFeaturesNV*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV: { + marshal_VkPhysicalDeviceOpticalFlowPropertiesNV( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceOpticalFlowPropertiesNV*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV: { + marshal_VkOpticalFlowImageFormatInfoNV( + vkStream, rootType, + reinterpret_cast<const VkOpticalFlowImageFormatInfoNV*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV: { + marshal_VkOpticalFlowSessionCreatePrivateDataInfoNV( + vkStream, rootType, + reinterpret_cast<const VkOpticalFlowSessionCreatePrivateDataInfoNV*>( + structExtension)); + break; + } +#endif +#ifdef VK_EXT_legacy_dithering + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT: { + marshal_VkPhysicalDeviceLegacyDitheringFeaturesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceLegacyDitheringFeaturesEXT*>( + structExtension)); + break; + } +#endif +#ifdef VK_EXT_pipeline_protected_access + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT: { + marshal_VkPhysicalDevicePipelineProtectedAccessFeaturesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDevicePipelineProtectedAccessFeaturesEXT*>( + structExtension)); + break; + } +#endif +#ifdef VK_EXT_shader_object + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT: { + marshal_VkPhysicalDeviceShaderObjectFeaturesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceShaderObjectFeaturesEXT*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT: { + marshal_VkPhysicalDeviceShaderObjectPropertiesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceShaderObjectPropertiesEXT*>( + structExtension)); + break; + } +#endif +#ifdef VK_QCOM_tile_properties + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM: { + marshal_VkPhysicalDeviceTilePropertiesFeaturesQCOM( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceTilePropertiesFeaturesQCOM*>( + structExtension)); + break; + } +#endif +#ifdef VK_SEC_amigo_profiling + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC: { + marshal_VkPhysicalDeviceAmigoProfilingFeaturesSEC( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceAmigoProfilingFeaturesSEC*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC: { + marshal_VkAmigoProfilingSubmitInfoSEC( + vkStream, rootType, + reinterpret_cast<const VkAmigoProfilingSubmitInfoSEC*>(structExtension)); + break; + } +#endif +#ifdef VK_QCOM_multiview_per_view_viewports + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM: { + marshal_VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM*>( + structExtension)); + break; + } +#endif +#ifdef VK_NV_ray_tracing_invocation_reorder + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV: { + marshal_VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV: { + marshal_VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV*>( + structExtension)); + break; + } +#endif +#ifdef VK_ARM_shader_core_builtins + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM: { + marshal_VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM: { + marshal_VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM*>( + structExtension)); + break; + } +#endif +#ifdef VK_EXT_pipeline_library_group_handles + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT: { + marshal_VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT*>( + structExtension)); + break; + } +#endif +#ifdef VK_QCOM_multiview_per_view_render_areas + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM: { + marshal_VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM*>( + structExtension)); + break; + } + case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM: { + marshal_VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM( + vkStream, rootType, + reinterpret_cast<const VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM*>( + structExtension)); + break; + } +#endif +#ifdef VK_EXT_attachment_feedback_loop_dynamic_state + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT: { + marshal_VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT( + vkStream, rootType, + reinterpret_cast< + const VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT*>( + structExtension)); + break; + } +#endif #ifdef VK_KHR_acceleration_structure case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR: { marshal_VkWriteDescriptorSetAccelerationStructureKHR( @@ -36166,6 +44617,20 @@ void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType, break; } #endif +#ifdef VK_EXT_mesh_shader + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT: { + marshal_VkPhysicalDeviceMeshShaderFeaturesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceMeshShaderFeaturesEXT*>(structExtension)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT: { + marshal_VkPhysicalDeviceMeshShaderPropertiesEXT( + vkStream, rootType, + reinterpret_cast<const VkPhysicalDeviceMeshShaderPropertiesEXT*>(structExtension)); + break; + } +#endif default: { // fatal; the switch is only taken if the extension struct is known abort(); @@ -36194,6 +44659,14 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType } uint32_t structType = (uint32_t)goldfish_vk_struct_type(structExtension_out); switch (structType) { +#ifdef VK_VERSION_1_0 + case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO: { + unmarshal_VkShaderModuleCreateInfo( + vkStream, rootType, + reinterpret_cast<VkShaderModuleCreateInfo*>(structExtension_out)); + break; + } +#endif #ifdef VK_VERSION_1_1 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: { unmarshal_VkPhysicalDeviceSubgroupProperties( @@ -36676,6 +45149,193 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType break; } #endif +#ifdef VK_VERSION_1_3 + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES: { + unmarshal_VkPhysicalDeviceVulkan13Features( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceVulkan13Features*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES: { + unmarshal_VkPhysicalDeviceVulkan13Properties( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceVulkan13Properties*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO: { + unmarshal_VkPipelineCreationFeedbackCreateInfo( + vkStream, rootType, + reinterpret_cast<VkPipelineCreationFeedbackCreateInfo*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES: { + unmarshal_VkPhysicalDeviceShaderTerminateInvocationFeatures( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceShaderTerminateInvocationFeatures*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES: { + unmarshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES: { + unmarshal_VkPhysicalDevicePrivateDataFeatures( + vkStream, rootType, + reinterpret_cast<VkPhysicalDevicePrivateDataFeatures*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO: { + unmarshal_VkDevicePrivateDataCreateInfo( + vkStream, rootType, + reinterpret_cast<VkDevicePrivateDataCreateInfo*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: { + unmarshal_VkPhysicalDevicePipelineCreationCacheControlFeatures( + vkStream, rootType, + reinterpret_cast<VkPhysicalDevicePipelineCreationCacheControlFeatures*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2: { + unmarshal_VkMemoryBarrier2(vkStream, rootType, + reinterpret_cast<VkMemoryBarrier2*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES: { + unmarshal_VkPhysicalDeviceSynchronization2Features( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceSynchronization2Features*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES: { + unmarshal_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES: { + unmarshal_VkPhysicalDeviceImageRobustnessFeatures( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceImageRobustnessFeatures*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES: { + unmarshal_VkPhysicalDeviceSubgroupSizeControlFeatures( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceSubgroupSizeControlFeatures*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES: { + unmarshal_VkPhysicalDeviceSubgroupSizeControlProperties( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceSubgroupSizeControlProperties*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO: { + unmarshal_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo( + vkStream, rootType, + reinterpret_cast<VkPipelineShaderStageRequiredSubgroupSizeCreateInfo*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES: { + unmarshal_VkPhysicalDeviceInlineUniformBlockFeatures( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceInlineUniformBlockFeatures*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES: { + unmarshal_VkPhysicalDeviceInlineUniformBlockProperties( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceInlineUniformBlockProperties*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK: { + unmarshal_VkWriteDescriptorSetInlineUniformBlock( + vkStream, rootType, + reinterpret_cast<VkWriteDescriptorSetInlineUniformBlock*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO: { + unmarshal_VkDescriptorPoolInlineUniformBlockCreateInfo( + vkStream, rootType, + reinterpret_cast<VkDescriptorPoolInlineUniformBlockCreateInfo*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: { + unmarshal_VkPhysicalDeviceTextureCompressionASTCHDRFeatures( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceTextureCompressionASTCHDRFeatures*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO: { + unmarshal_VkPipelineRenderingCreateInfo( + vkStream, rootType, + reinterpret_cast<VkPipelineRenderingCreateInfo*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES: { + unmarshal_VkPhysicalDeviceDynamicRenderingFeatures( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceDynamicRenderingFeatures*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO: { + unmarshal_VkCommandBufferInheritanceRenderingInfo( + vkStream, rootType, + reinterpret_cast<VkCommandBufferInheritanceRenderingInfo*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES: { + unmarshal_VkPhysicalDeviceShaderIntegerDotProductFeatures( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceShaderIntegerDotProductFeatures*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES: { + unmarshal_VkPhysicalDeviceShaderIntegerDotProductProperties( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceShaderIntegerDotProductProperties*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES: { + unmarshal_VkPhysicalDeviceTexelBufferAlignmentProperties( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceTexelBufferAlignmentProperties*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3: { + unmarshal_VkFormatProperties3( + vkStream, rootType, reinterpret_cast<VkFormatProperties3*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES: { + unmarshal_VkPhysicalDeviceMaintenance4Features( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceMaintenance4Features*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES: { + unmarshal_VkPhysicalDeviceMaintenance4Properties( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceMaintenance4Properties*>(structExtension_out)); + break; + } +#endif #ifdef VK_KHR_swapchain case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: { unmarshal_VkImageSwapchainCreateInfoKHR( @@ -36711,43 +45371,86 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType } #endif #ifdef VK_KHR_video_queue - case VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR: { - unmarshal_VkVideoQueueFamilyProperties2KHR( + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR: { + unmarshal_VkQueueFamilyQueryResultStatusPropertiesKHR( + vkStream, rootType, + reinterpret_cast<VkQueueFamilyQueryResultStatusPropertiesKHR*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR: { + unmarshal_VkQueueFamilyVideoPropertiesKHR( vkStream, rootType, - reinterpret_cast<VkVideoQueueFamilyProperties2KHR*>(structExtension_out)); + reinterpret_cast<VkQueueFamilyVideoPropertiesKHR*>(structExtension_out)); break; } - case VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR: { - unmarshal_VkVideoProfileKHR(vkStream, rootType, - reinterpret_cast<VkVideoProfileKHR*>(structExtension_out)); + case VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR: { + unmarshal_VkVideoProfileInfoKHR( + vkStream, rootType, reinterpret_cast<VkVideoProfileInfoKHR*>(structExtension_out)); break; } - case VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR: { - unmarshal_VkVideoProfilesKHR( - vkStream, rootType, reinterpret_cast<VkVideoProfilesKHR*>(structExtension_out)); + case VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR: { + unmarshal_VkVideoProfileListInfoKHR( + vkStream, rootType, + reinterpret_cast<VkVideoProfileListInfoKHR*>(structExtension_out)); break; } #endif -#ifdef VK_KHR_dynamic_rendering - case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR: { - unmarshal_VkPipelineRenderingCreateInfoKHR( +#ifdef VK_KHR_video_decode_queue + case VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR: { + unmarshal_VkVideoDecodeCapabilitiesKHR( + vkStream, rootType, + reinterpret_cast<VkVideoDecodeCapabilitiesKHR*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR: { + unmarshal_VkVideoDecodeUsageInfoKHR( + vkStream, rootType, + reinterpret_cast<VkVideoDecodeUsageInfoKHR*>(structExtension_out)); + break; + } +#endif +#ifdef VK_KHR_video_decode_h264 + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR: { + unmarshal_VkVideoDecodeH264ProfileInfoKHR( + vkStream, rootType, + reinterpret_cast<VkVideoDecodeH264ProfileInfoKHR*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR: { + unmarshal_VkVideoDecodeH264CapabilitiesKHR( + vkStream, rootType, + reinterpret_cast<VkVideoDecodeH264CapabilitiesKHR*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR: { + unmarshal_VkVideoDecodeH264SessionParametersAddInfoKHR( vkStream, rootType, - reinterpret_cast<VkPipelineRenderingCreateInfoKHR*>(structExtension_out)); + reinterpret_cast<VkVideoDecodeH264SessionParametersAddInfoKHR*>( + structExtension_out)); break; } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR: { - unmarshal_VkPhysicalDeviceDynamicRenderingFeaturesKHR( + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR: { + unmarshal_VkVideoDecodeH264SessionParametersCreateInfoKHR( vkStream, rootType, - reinterpret_cast<VkPhysicalDeviceDynamicRenderingFeaturesKHR*>( + reinterpret_cast<VkVideoDecodeH264SessionParametersCreateInfoKHR*>( structExtension_out)); break; } - case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR: { - unmarshal_VkCommandBufferInheritanceRenderingInfoKHR( + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR: { + unmarshal_VkVideoDecodeH264PictureInfoKHR( vkStream, rootType, - reinterpret_cast<VkCommandBufferInheritanceRenderingInfoKHR*>(structExtension_out)); + reinterpret_cast<VkVideoDecodeH264PictureInfoKHR*>(structExtension_out)); break; } + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR: { + unmarshal_VkVideoDecodeH264DpbSlotInfoKHR( + vkStream, rootType, + reinterpret_cast<VkVideoDecodeH264DpbSlotInfoKHR*>(structExtension_out)); + break; + } +#endif +#ifdef VK_KHR_dynamic_rendering case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: { unmarshal_VkRenderingFragmentShadingRateAttachmentInfoKHR( vkStream, rootType, @@ -36880,6 +45583,7 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType } #endif #ifdef VK_KHR_portability_subset +#ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR: { unmarshal_VkPhysicalDevicePortabilitySubsetFeaturesKHR( vkStream, rootType, @@ -36887,6 +45591,8 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType structExtension_out)); break; } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR: { unmarshal_VkPhysicalDevicePortabilitySubsetPropertiesKHR( vkStream, rootType, @@ -36894,6 +45600,7 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType structExtension_out)); break; } +#endif // VK_ENABLE_BETA_EXTENSIONS #endif #ifdef VK_KHR_shader_clock case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR: { @@ -36903,14 +45610,66 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType break; } #endif -#ifdef VK_KHR_shader_terminate_invocation - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR: { - unmarshal_VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR( +#ifdef VK_KHR_video_decode_h265 + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR: { + unmarshal_VkVideoDecodeH265ProfileInfoKHR( + vkStream, rootType, + reinterpret_cast<VkVideoDecodeH265ProfileInfoKHR*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR: { + unmarshal_VkVideoDecodeH265CapabilitiesKHR( + vkStream, rootType, + reinterpret_cast<VkVideoDecodeH265CapabilitiesKHR*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR: { + unmarshal_VkVideoDecodeH265SessionParametersAddInfoKHR( vkStream, rootType, - reinterpret_cast<VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR*>( + reinterpret_cast<VkVideoDecodeH265SessionParametersAddInfoKHR*>( structExtension_out)); break; } + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR: { + unmarshal_VkVideoDecodeH265SessionParametersCreateInfoKHR( + vkStream, rootType, + reinterpret_cast<VkVideoDecodeH265SessionParametersCreateInfoKHR*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR: { + unmarshal_VkVideoDecodeH265PictureInfoKHR( + vkStream, rootType, + reinterpret_cast<VkVideoDecodeH265PictureInfoKHR*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR: { + unmarshal_VkVideoDecodeH265DpbSlotInfoKHR( + vkStream, rootType, + reinterpret_cast<VkVideoDecodeH265DpbSlotInfoKHR*>(structExtension_out)); + break; + } +#endif +#ifdef VK_KHR_global_priority + case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR: { + unmarshal_VkDeviceQueueGlobalPriorityCreateInfoKHR( + vkStream, rootType, + reinterpret_cast<VkDeviceQueueGlobalPriorityCreateInfoKHR*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR: { + unmarshal_VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR: { + unmarshal_VkQueueFamilyGlobalPriorityPropertiesKHR( + vkStream, rootType, + reinterpret_cast<VkQueueFamilyGlobalPriorityPropertiesKHR*>(structExtension_out)); + break; + } #endif #ifdef VK_KHR_fragment_shading_rate case VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: { @@ -36966,19 +45725,11 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType break; } #endif -#ifdef VK_KHR_shader_integer_dot_product - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR: { - unmarshal_VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR( - vkStream, rootType, - reinterpret_cast<VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR*>( - structExtension_out)); - break; - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR: { - unmarshal_VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR( +#ifdef VK_KHR_pipeline_library + case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR: { + unmarshal_VkPipelineLibraryCreateInfoKHR( vkStream, rootType, - reinterpret_cast<VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR*>( - structExtension_out)); + reinterpret_cast<VkPipelineLibraryCreateInfoKHR*>(structExtension_out)); break; } #endif @@ -36996,30 +45747,69 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType } #endif #ifdef VK_KHR_video_encode_queue +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR: { + unmarshal_VkVideoEncodeCapabilitiesKHR( + vkStream, rootType, + reinterpret_cast<VkVideoEncodeCapabilitiesKHR*>(structExtension_out)); + break; + } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR: { + unmarshal_VkQueryPoolVideoEncodeFeedbackCreateInfoKHR( + vkStream, rootType, + reinterpret_cast<VkQueryPoolVideoEncodeFeedbackCreateInfoKHR*>( + structExtension_out)); + break; + } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR: { + unmarshal_VkVideoEncodeUsageInfoKHR( + vkStream, rootType, + reinterpret_cast<VkVideoEncodeUsageInfoKHR*>(structExtension_out)); + break; + } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR: { + unmarshal_VkVideoEncodeRateControlLayerInfoKHR( + vkStream, rootType, + reinterpret_cast<VkVideoEncodeRateControlLayerInfoKHR*>(structExtension_out)); + break; + } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR: { unmarshal_VkVideoEncodeRateControlInfoKHR( vkStream, rootType, reinterpret_cast<VkVideoEncodeRateControlInfoKHR*>(structExtension_out)); break; } +#endif // VK_ENABLE_BETA_EXTENSIONS #endif #ifdef VK_KHR_synchronization2 - case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR: { - unmarshal_VkMemoryBarrier2KHR( - vkStream, rootType, reinterpret_cast<VkMemoryBarrier2KHR*>(structExtension_out)); + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: { + unmarshal_VkQueueFamilyCheckpointProperties2NV( + vkStream, rootType, + reinterpret_cast<VkQueueFamilyCheckpointProperties2NV*>(structExtension_out)); break; } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR: { - unmarshal_VkPhysicalDeviceSynchronization2FeaturesKHR( +#endif +#ifdef VK_KHR_fragment_shader_barycentric + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR: { + unmarshal_VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR( vkStream, rootType, - reinterpret_cast<VkPhysicalDeviceSynchronization2FeaturesKHR*>( + reinterpret_cast<VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR*>( structExtension_out)); break; } - case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: { - unmarshal_VkQueueFamilyCheckpointProperties2NV( + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR: { + unmarshal_VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR( vkStream, rootType, - reinterpret_cast<VkQueueFamilyCheckpointProperties2NV*>(structExtension_out)); + reinterpret_cast<VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR*>( + structExtension_out)); break; } #endif @@ -37032,15 +45822,6 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType break; } #endif -#ifdef VK_KHR_zero_initialize_workgroup_memory - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR: { - unmarshal_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR( - vkStream, rootType, - reinterpret_cast<VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR*>( - structExtension_out)); - break; - } -#endif #ifdef VK_KHR_workgroup_memory_explicit_layout case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR: { unmarshal_VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR( @@ -37050,24 +45831,21 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType break; } #endif -#ifdef VK_KHR_format_feature_flags2 - case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR: { - unmarshal_VkFormatProperties3KHR( - vkStream, rootType, reinterpret_cast<VkFormatProperties3KHR*>(structExtension_out)); - break; - } -#endif -#ifdef VK_KHR_maintenance4 - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR: { - unmarshal_VkPhysicalDeviceMaintenance4FeaturesKHR( +#ifdef VK_KHR_ray_tracing_maintenance1 + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR: { + unmarshal_VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR( vkStream, rootType, - reinterpret_cast<VkPhysicalDeviceMaintenance4FeaturesKHR*>(structExtension_out)); + reinterpret_cast<VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR*>( + structExtension_out)); break; } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR: { - unmarshal_VkPhysicalDeviceMaintenance4PropertiesKHR( +#endif +#ifdef VK_KHR_ray_tracing_position_fetch + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR: { + unmarshal_VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR( vkStream, rootType, - reinterpret_cast<VkPhysicalDeviceMaintenance4PropertiesKHR*>(structExtension_out)); + reinterpret_cast<VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR*>( + structExtension_out)); break; } #endif @@ -37139,18 +45917,15 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType } #endif #ifdef VK_EXT_video_encode_h264 +#ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT: { unmarshal_VkVideoEncodeH264CapabilitiesEXT( vkStream, rootType, reinterpret_cast<VkVideoEncodeH264CapabilitiesEXT*>(structExtension_out)); break; } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT: { - unmarshal_VkVideoEncodeH264SessionCreateInfoEXT( - vkStream, rootType, - reinterpret_cast<VkVideoEncodeH264SessionCreateInfoEXT*>(structExtension_out)); - break; - } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT: { unmarshal_VkVideoEncodeH264SessionParametersAddInfoEXT( vkStream, rootType, @@ -37158,6 +45933,8 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType structExtension_out)); break; } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT: { unmarshal_VkVideoEncodeH264SessionParametersCreateInfoEXT( vkStream, rootType, @@ -37165,38 +45942,58 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType structExtension_out)); break; } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT: { unmarshal_VkVideoEncodeH264VclFrameInfoEXT( vkStream, rootType, reinterpret_cast<VkVideoEncodeH264VclFrameInfoEXT*>(structExtension_out)); break; } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT: { - unmarshal_VkVideoEncodeH264EmitPictureParametersEXT( +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT: { + unmarshal_VkVideoEncodeH264DpbSlotInfoEXT( + vkStream, rootType, + reinterpret_cast<VkVideoEncodeH264DpbSlotInfoEXT*>(structExtension_out)); + break; + } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_EXT: { + unmarshal_VkVideoEncodeH264ProfileInfoEXT( vkStream, rootType, - reinterpret_cast<VkVideoEncodeH264EmitPictureParametersEXT*>(structExtension_out)); + reinterpret_cast<VkVideoEncodeH264ProfileInfoEXT*>(structExtension_out)); break; } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT: { - unmarshal_VkVideoEncodeH264ProfileEXT( +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT: { + unmarshal_VkVideoEncodeH264RateControlInfoEXT( vkStream, rootType, - reinterpret_cast<VkVideoEncodeH264ProfileEXT*>(structExtension_out)); + reinterpret_cast<VkVideoEncodeH264RateControlInfoEXT*>(structExtension_out)); break; } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT: { + unmarshal_VkVideoEncodeH264RateControlLayerInfoEXT( + vkStream, rootType, + reinterpret_cast<VkVideoEncodeH264RateControlLayerInfoEXT*>(structExtension_out)); + break; + } +#endif // VK_ENABLE_BETA_EXTENSIONS #endif #ifdef VK_EXT_video_encode_h265 +#ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT: { unmarshal_VkVideoEncodeH265CapabilitiesEXT( vkStream, rootType, reinterpret_cast<VkVideoEncodeH265CapabilitiesEXT*>(structExtension_out)); break; } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT: { - unmarshal_VkVideoEncodeH265SessionCreateInfoEXT( - vkStream, rootType, - reinterpret_cast<VkVideoEncodeH265SessionCreateInfoEXT*>(structExtension_out)); - break; - } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT: { unmarshal_VkVideoEncodeH265SessionParametersAddInfoEXT( vkStream, rootType, @@ -37204,6 +46001,8 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType structExtension_out)); break; } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT: { unmarshal_VkVideoEncodeH265SessionParametersCreateInfoEXT( vkStream, rootType, @@ -37211,76 +46010,47 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType structExtension_out)); break; } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT: { unmarshal_VkVideoEncodeH265VclFrameInfoEXT( vkStream, rootType, reinterpret_cast<VkVideoEncodeH265VclFrameInfoEXT*>(structExtension_out)); break; } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT: { - unmarshal_VkVideoEncodeH265EmitPictureParametersEXT( - vkStream, rootType, - reinterpret_cast<VkVideoEncodeH265EmitPictureParametersEXT*>(structExtension_out)); - break; - } - case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_EXT: { - unmarshal_VkVideoEncodeH265ProfileEXT( - vkStream, rootType, - reinterpret_cast<VkVideoEncodeH265ProfileEXT*>(structExtension_out)); - break; - } -#endif -#ifdef VK_EXT_video_decode_h264 - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT: { - unmarshal_VkVideoDecodeH264ProfileEXT( - vkStream, rootType, - reinterpret_cast<VkVideoDecodeH264ProfileEXT*>(structExtension_out)); - break; - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT: { - unmarshal_VkVideoDecodeH264CapabilitiesEXT( - vkStream, rootType, - reinterpret_cast<VkVideoDecodeH264CapabilitiesEXT*>(structExtension_out)); - break; - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT: { - unmarshal_VkVideoDecodeH264SessionCreateInfoEXT( - vkStream, rootType, - reinterpret_cast<VkVideoDecodeH264SessionCreateInfoEXT*>(structExtension_out)); - break; - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT: { - unmarshal_VkVideoDecodeH264SessionParametersAddInfoEXT( - vkStream, rootType, - reinterpret_cast<VkVideoDecodeH264SessionParametersAddInfoEXT*>( - structExtension_out)); - break; - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT: { - unmarshal_VkVideoDecodeH264SessionParametersCreateInfoEXT( +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT: { + unmarshal_VkVideoEncodeH265DpbSlotInfoEXT( vkStream, rootType, - reinterpret_cast<VkVideoDecodeH264SessionParametersCreateInfoEXT*>( - structExtension_out)); + reinterpret_cast<VkVideoEncodeH265DpbSlotInfoEXT*>(structExtension_out)); break; } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT: { - unmarshal_VkVideoDecodeH264PictureInfoEXT( +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_EXT: { + unmarshal_VkVideoEncodeH265ProfileInfoEXT( vkStream, rootType, - reinterpret_cast<VkVideoDecodeH264PictureInfoEXT*>(structExtension_out)); + reinterpret_cast<VkVideoEncodeH265ProfileInfoEXT*>(structExtension_out)); break; } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT: { - unmarshal_VkVideoDecodeH264MvcEXT( +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT: { + unmarshal_VkVideoEncodeH265RateControlInfoEXT( vkStream, rootType, - reinterpret_cast<VkVideoDecodeH264MvcEXT*>(structExtension_out)); + reinterpret_cast<VkVideoEncodeH265RateControlInfoEXT*>(structExtension_out)); break; } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT: { - unmarshal_VkVideoDecodeH264DpbSlotInfoEXT( +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT: { + unmarshal_VkVideoEncodeH265RateControlLayerInfoEXT( vkStream, rootType, - reinterpret_cast<VkVideoDecodeH264DpbSlotInfoEXT*>(structExtension_out)); + reinterpret_cast<VkVideoEncodeH265RateControlLayerInfoEXT*>(structExtension_out)); break; } +#endif // VK_ENABLE_BETA_EXTENSIONS #endif #ifdef VK_AMD_texture_gather_bias_lod case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD: { @@ -37342,15 +46112,6 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType break; } #endif -#ifdef VK_EXT_texture_compression_astc_hdr - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT: { - unmarshal_VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT( - vkStream, rootType, - reinterpret_cast<VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT*>( - structExtension_out)); - break; - } -#endif #ifdef VK_EXT_astc_decode_mode case VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT: { unmarshal_VkImageViewASTCDecodeModeEXT( @@ -37365,6 +46126,28 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType break; } #endif +#ifdef VK_EXT_pipeline_robustness + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT: { + unmarshal_VkPhysicalDevicePipelineRobustnessFeaturesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDevicePipelineRobustnessFeaturesEXT*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT: { + unmarshal_VkPhysicalDevicePipelineRobustnessPropertiesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDevicePipelineRobustnessPropertiesEXT*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT: { + unmarshal_VkPipelineRobustnessCreateInfoEXT( + vkStream, rootType, + reinterpret_cast<VkPipelineRobustnessCreateInfoEXT*>(structExtension_out)); + break; + } +#endif #ifdef VK_EXT_conditional_rendering case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT: { unmarshal_VkPhysicalDeviceConditionalRenderingFeaturesEXT( @@ -37471,6 +46254,12 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType } #endif #ifdef VK_EXT_debug_utils + case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT: { + unmarshal_VkDebugUtilsObjectNameInfoEXT( + vkStream, rootType, + reinterpret_cast<VkDebugUtilsObjectNameInfoEXT*>(structExtension_out)); + break; + } case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: { unmarshal_VkDebugUtilsMessengerCreateInfoEXT( vkStream, rootType, @@ -37512,35 +46301,6 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType break; } #endif -#ifdef VK_EXT_inline_uniform_block - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT: { - unmarshal_VkPhysicalDeviceInlineUniformBlockFeaturesEXT( - vkStream, rootType, - reinterpret_cast<VkPhysicalDeviceInlineUniformBlockFeaturesEXT*>( - structExtension_out)); - break; - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT: { - unmarshal_VkPhysicalDeviceInlineUniformBlockPropertiesEXT( - vkStream, rootType, - reinterpret_cast<VkPhysicalDeviceInlineUniformBlockPropertiesEXT*>( - structExtension_out)); - break; - } - case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT: { - unmarshal_VkWriteDescriptorSetInlineUniformBlockEXT( - vkStream, rootType, - reinterpret_cast<VkWriteDescriptorSetInlineUniformBlockEXT*>(structExtension_out)); - break; - } - case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT: { - unmarshal_VkDescriptorPoolInlineUniformBlockCreateInfoEXT( - vkStream, rootType, - reinterpret_cast<VkDescriptorPoolInlineUniformBlockCreateInfoEXT*>( - structExtension_out)); - break; - } -#endif #ifdef VK_EXT_sample_locations case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT: { unmarshal_VkSampleLocationsInfoEXT( @@ -37742,14 +46502,6 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType break; } #endif -#ifdef VK_EXT_global_priority - case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT: { - unmarshal_VkDeviceQueueGlobalPriorityCreateInfoEXT( - vkStream, rootType, - reinterpret_cast<VkDeviceQueueGlobalPriorityCreateInfoEXT*>(structExtension_out)); - break; - } -#endif #ifdef VK_EXT_external_memory_host case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: { unmarshal_VkImportMemoryHostPointerInfoEXT( @@ -37781,52 +46533,6 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType break; } #endif -#ifdef VK_EXT_video_decode_h265 - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT: { - unmarshal_VkVideoDecodeH265ProfileEXT( - vkStream, rootType, - reinterpret_cast<VkVideoDecodeH265ProfileEXT*>(structExtension_out)); - break; - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT: { - unmarshal_VkVideoDecodeH265CapabilitiesEXT( - vkStream, rootType, - reinterpret_cast<VkVideoDecodeH265CapabilitiesEXT*>(structExtension_out)); - break; - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT: { - unmarshal_VkVideoDecodeH265SessionCreateInfoEXT( - vkStream, rootType, - reinterpret_cast<VkVideoDecodeH265SessionCreateInfoEXT*>(structExtension_out)); - break; - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT: { - unmarshal_VkVideoDecodeH265SessionParametersAddInfoEXT( - vkStream, rootType, - reinterpret_cast<VkVideoDecodeH265SessionParametersAddInfoEXT*>( - structExtension_out)); - break; - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT: { - unmarshal_VkVideoDecodeH265SessionParametersCreateInfoEXT( - vkStream, rootType, - reinterpret_cast<VkVideoDecodeH265SessionParametersCreateInfoEXT*>( - structExtension_out)); - break; - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT: { - unmarshal_VkVideoDecodeH265PictureInfoEXT( - vkStream, rootType, - reinterpret_cast<VkVideoDecodeH265PictureInfoEXT*>(structExtension_out)); - break; - } - case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT: { - unmarshal_VkVideoDecodeH265DpbSlotInfoEXT( - vkStream, rootType, - reinterpret_cast<VkVideoDecodeH265DpbSlotInfoEXT*>(structExtension_out)); - break; - } -#endif #ifdef VK_AMD_memory_overallocation_behavior case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD: { unmarshal_VkDeviceMemoryOverallocationCreateInfoAMD( @@ -37865,14 +46571,6 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType break; } #endif -#ifdef VK_EXT_pipeline_creation_feedback - case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT: { - unmarshal_VkPipelineCreationFeedbackCreateInfoEXT( - vkStream, rootType, - reinterpret_cast<VkPipelineCreationFeedbackCreateInfoEXT*>(structExtension_out)); - break; - } -#endif #ifdef VK_NV_compute_shader_derivatives case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV: { unmarshal_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV( @@ -37896,15 +46594,6 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType break; } #endif -#ifdef VK_NV_fragment_shader_barycentric - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV: { - unmarshal_VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV( - vkStream, rootType, - reinterpret_cast<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV*>( - structExtension_out)); - break; - } -#endif #ifdef VK_NV_shader_image_footprint case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV: { unmarshal_VkPhysicalDeviceShaderImageFootprintFeaturesNV( @@ -38067,29 +46756,6 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType break; } #endif -#ifdef VK_EXT_subgroup_size_control - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT: { - unmarshal_VkPhysicalDeviceSubgroupSizeControlFeaturesEXT( - vkStream, rootType, - reinterpret_cast<VkPhysicalDeviceSubgroupSizeControlFeaturesEXT*>( - structExtension_out)); - break; - } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT: { - unmarshal_VkPhysicalDeviceSubgroupSizeControlPropertiesEXT( - vkStream, rootType, - reinterpret_cast<VkPhysicalDeviceSubgroupSizeControlPropertiesEXT*>( - structExtension_out)); - break; - } - case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT: { - unmarshal_VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT( - vkStream, rootType, - reinterpret_cast<VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT*>( - structExtension_out)); - break; - } -#endif #ifdef VK_AMD_shader_core_properties2 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD: { unmarshal_VkPhysicalDeviceShaderCoreProperties2AMD( @@ -38320,14 +46986,58 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType break; } #endif -#ifdef VK_EXT_shader_demote_to_helper_invocation - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT: { - unmarshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT( +#ifdef VK_EXT_surface_maintenance1 + case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT: { + unmarshal_VkSurfacePresentModeEXT( + vkStream, rootType, + reinterpret_cast<VkSurfacePresentModeEXT*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT: { + unmarshal_VkSurfacePresentScalingCapabilitiesEXT( + vkStream, rootType, + reinterpret_cast<VkSurfacePresentScalingCapabilitiesEXT*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT: { + unmarshal_VkSurfacePresentModeCompatibilityEXT( + vkStream, rootType, + reinterpret_cast<VkSurfacePresentModeCompatibilityEXT*>(structExtension_out)); + break; + } +#endif +#ifdef VK_EXT_swapchain_maintenance1 + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT: { + unmarshal_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT( vkStream, rootType, - reinterpret_cast<VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT*>( + reinterpret_cast<VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT*>( structExtension_out)); break; } + case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT: { + unmarshal_VkSwapchainPresentFenceInfoEXT( + vkStream, rootType, + reinterpret_cast<VkSwapchainPresentFenceInfoEXT*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT: { + unmarshal_VkSwapchainPresentModesCreateInfoEXT( + vkStream, rootType, + reinterpret_cast<VkSwapchainPresentModesCreateInfoEXT*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT: { + unmarshal_VkSwapchainPresentModeInfoEXT( + vkStream, rootType, + reinterpret_cast<VkSwapchainPresentModeInfoEXT*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT: { + unmarshal_VkSwapchainPresentScalingCreateInfoEXT( + vkStream, rootType, + reinterpret_cast<VkSwapchainPresentScalingCreateInfoEXT*>(structExtension_out)); + break; + } #endif #ifdef VK_NV_device_generated_commands case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV: { @@ -38375,13 +47085,6 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType structExtension_out)); break; } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT: { - unmarshal_VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT( - vkStream, rootType, - reinterpret_cast<VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT*>( - structExtension_out)); - break; - } #endif #ifdef VK_QCOM_render_pass_transform case VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM: { @@ -38449,26 +47152,23 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType break; } #endif -#ifdef VK_EXT_private_data - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT: { - unmarshal_VkPhysicalDevicePrivateDataFeaturesEXT( +#ifdef VK_NV_present_barrier + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV: { + unmarshal_VkPhysicalDevicePresentBarrierFeaturesNV( vkStream, rootType, - reinterpret_cast<VkPhysicalDevicePrivateDataFeaturesEXT*>(structExtension_out)); + reinterpret_cast<VkPhysicalDevicePresentBarrierFeaturesNV*>(structExtension_out)); break; } - case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT: { - unmarshal_VkDevicePrivateDataCreateInfoEXT( + case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV: { + unmarshal_VkSurfaceCapabilitiesPresentBarrierNV( vkStream, rootType, - reinterpret_cast<VkDevicePrivateDataCreateInfoEXT*>(structExtension_out)); + reinterpret_cast<VkSurfaceCapabilitiesPresentBarrierNV*>(structExtension_out)); break; } -#endif -#ifdef VK_EXT_pipeline_creation_cache_control - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT: { - unmarshal_VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT( + case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV: { + unmarshal_VkSwapchainPresentBarrierCreateInfoNV( vkStream, rootType, - reinterpret_cast<VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT*>( - structExtension_out)); + reinterpret_cast<VkSwapchainPresentBarrierCreateInfoNV*>(structExtension_out)); break; } #endif @@ -38487,6 +47187,149 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType break; } #endif +#ifdef VK_NV_low_latency + case VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV: { + unmarshal_VkQueryLowLatencySupportNV( + vkStream, rootType, + reinterpret_cast<VkQueryLowLatencySupportNV*>(structExtension_out)); + break; + } +#endif +#ifdef VK_EXT_metal_objects + case VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT: { + unmarshal_VkExportMetalObjectCreateInfoEXT( + vkStream, rootType, + reinterpret_cast<VkExportMetalObjectCreateInfoEXT*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT: { + unmarshal_VkExportMetalDeviceInfoEXT( + vkStream, rootType, + reinterpret_cast<VkExportMetalDeviceInfoEXT*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT: { + unmarshal_VkExportMetalCommandQueueInfoEXT( + vkStream, rootType, + reinterpret_cast<VkExportMetalCommandQueueInfoEXT*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT: { + unmarshal_VkExportMetalBufferInfoEXT( + vkStream, rootType, + reinterpret_cast<VkExportMetalBufferInfoEXT*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT: { + unmarshal_VkImportMetalBufferInfoEXT( + vkStream, rootType, + reinterpret_cast<VkImportMetalBufferInfoEXT*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT: { + unmarshal_VkExportMetalTextureInfoEXT( + vkStream, rootType, + reinterpret_cast<VkExportMetalTextureInfoEXT*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT: { + unmarshal_VkImportMetalTextureInfoEXT( + vkStream, rootType, + reinterpret_cast<VkImportMetalTextureInfoEXT*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT: { + unmarshal_VkExportMetalIOSurfaceInfoEXT( + vkStream, rootType, + reinterpret_cast<VkExportMetalIOSurfaceInfoEXT*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT: { + unmarshal_VkImportMetalIOSurfaceInfoEXT( + vkStream, rootType, + reinterpret_cast<VkImportMetalIOSurfaceInfoEXT*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT: { + unmarshal_VkExportMetalSharedEventInfoEXT( + vkStream, rootType, + reinterpret_cast<VkExportMetalSharedEventInfoEXT*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT: { + unmarshal_VkImportMetalSharedEventInfoEXT( + vkStream, rootType, + reinterpret_cast<VkImportMetalSharedEventInfoEXT*>(structExtension_out)); + break; + } +#endif +#ifdef VK_EXT_descriptor_buffer + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT: { + unmarshal_VkPhysicalDeviceDescriptorBufferPropertiesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceDescriptorBufferPropertiesEXT*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT: { + unmarshal_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT: { + unmarshal_VkPhysicalDeviceDescriptorBufferFeaturesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceDescriptorBufferFeaturesEXT*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT: { + unmarshal_VkDescriptorBufferBindingPushDescriptorBufferHandleEXT( + vkStream, rootType, + reinterpret_cast<VkDescriptorBufferBindingPushDescriptorBufferHandleEXT*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT: { + unmarshal_VkOpaqueCaptureDescriptorDataCreateInfoEXT( + vkStream, rootType, + reinterpret_cast<VkOpaqueCaptureDescriptorDataCreateInfoEXT*>(structExtension_out)); + break; + } +#endif +#ifdef VK_EXT_graphics_pipeline_library + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: { + unmarshal_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT: { + unmarshal_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT: { + unmarshal_VkGraphicsPipelineLibraryCreateInfoEXT( + vkStream, rootType, + reinterpret_cast<VkGraphicsPipelineLibraryCreateInfoEXT*>(structExtension_out)); + break; + } +#endif +#ifdef VK_AMD_shader_early_and_late_fragment_tests + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD: { + unmarshal_VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD*>( + structExtension_out)); + break; + } +#endif #ifdef VK_NV_fragment_shading_rate_enums case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV: { unmarshal_VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV( @@ -38565,11 +47408,33 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType break; } #endif -#ifdef VK_EXT_image_robustness - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT: { - unmarshal_VkPhysicalDeviceImageRobustnessFeaturesEXT( +#ifdef VK_EXT_image_compression_control + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT: { + unmarshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT( vkStream, rootType, - reinterpret_cast<VkPhysicalDeviceImageRobustnessFeaturesEXT*>(structExtension_out)); + reinterpret_cast<VkPhysicalDeviceImageCompressionControlFeaturesEXT*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT: { + unmarshal_VkImageCompressionControlEXT( + vkStream, rootType, + reinterpret_cast<VkImageCompressionControlEXT*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT: { + unmarshal_VkImageCompressionPropertiesEXT( + vkStream, rootType, + reinterpret_cast<VkImageCompressionPropertiesEXT*>(structExtension_out)); + break; + } +#endif +#ifdef VK_EXT_attachment_feedback_loop_layout + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT: { + unmarshal_VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT*>( + structExtension_out)); break; } #endif @@ -38581,6 +47446,23 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType break; } #endif +#ifdef VK_EXT_device_fault + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT: { + unmarshal_VkPhysicalDeviceFaultFeaturesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceFaultFeaturesEXT*>(structExtension_out)); + break; + } +#endif +#ifdef VK_ARM_rasterization_order_attachment_access + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT: { + unmarshal_VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT*>( + structExtension_out)); + break; + } +#endif #ifdef VK_EXT_rgba10x6_formats case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT: { unmarshal_VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT( @@ -38590,17 +47472,17 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType } #endif #ifdef VK_VALVE_mutable_descriptor_type - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE: { - unmarshal_VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE( + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT: { + unmarshal_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT( vkStream, rootType, - reinterpret_cast<VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE*>( + reinterpret_cast<VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT*>( structExtension_out)); break; } - case VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE: { - unmarshal_VkMutableDescriptorTypeCreateInfoVALVE( + case VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT: { + unmarshal_VkMutableDescriptorTypeCreateInfoEXT( vkStream, rootType, - reinterpret_cast<VkMutableDescriptorTypeCreateInfoVALVE*>(structExtension_out)); + reinterpret_cast<VkMutableDescriptorTypeCreateInfoEXT*>(structExtension_out)); break; } #endif @@ -38621,6 +47503,37 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType break; } #endif +#ifdef VK_EXT_device_address_binding_report + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT: { + unmarshal_VkPhysicalDeviceAddressBindingReportFeaturesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceAddressBindingReportFeaturesEXT*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT: { + unmarshal_VkDeviceAddressBindingCallbackDataEXT( + vkStream, rootType, + reinterpret_cast<VkDeviceAddressBindingCallbackDataEXT*>(structExtension_out)); + break; + } +#endif +#ifdef VK_EXT_depth_clip_control + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT: { + unmarshal_VkPhysicalDeviceDepthClipControlFeaturesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceDepthClipControlFeaturesEXT*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT: { + unmarshal_VkPipelineViewportDepthClipControlCreateInfoEXT( + vkStream, rootType, + reinterpret_cast<VkPipelineViewportDepthClipControlCreateInfoEXT*>( + structExtension_out)); + break; + } +#endif #ifdef VK_EXT_primitive_topology_list_restart case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT: { unmarshal_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT( @@ -38698,6 +47611,36 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType break; } #endif +#ifdef VK_EXT_pipeline_properties + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT: { + unmarshal_VkPhysicalDevicePipelinePropertiesFeaturesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDevicePipelinePropertiesFeaturesEXT*>( + structExtension_out)); + break; + } +#endif +#ifdef VK_EXT_multisampled_render_to_single_sampled + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT: { + unmarshal_VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT: { + unmarshal_VkSubpassResolvePerformanceQueryEXT( + vkStream, rootType, + reinterpret_cast<VkSubpassResolvePerformanceQueryEXT*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT: { + unmarshal_VkMultisampledRenderToSingleSampledInfoEXT( + vkStream, rootType, + reinterpret_cast<VkMultisampledRenderToSingleSampledInfoEXT*>(structExtension_out)); + break; + } +#endif #ifdef VK_EXT_extended_dynamic_state2 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT: { unmarshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT( @@ -38722,6 +47665,15 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType break; } #endif +#ifdef VK_EXT_primitives_generated_query + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT: { + unmarshal_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT*>( + structExtension_out)); + break; + } +#endif #ifdef VK_GOOGLE_gfxstream case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE: { unmarshal_VkImportColorBufferGOOGLE( @@ -38740,18 +47692,17 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType break; } #endif -#ifdef VK_EXT_global_priority_query - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT: { - unmarshal_VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT( +#ifdef VK_EXT_image_view_min_lod + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT: { + unmarshal_VkPhysicalDeviceImageViewMinLodFeaturesEXT( vkStream, rootType, - reinterpret_cast<VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT*>( - structExtension_out)); + reinterpret_cast<VkPhysicalDeviceImageViewMinLodFeaturesEXT*>(structExtension_out)); break; } - case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT: { - unmarshal_VkQueueFamilyGlobalPriorityPropertiesEXT( + case VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT: { + unmarshal_VkImageViewMinLodCreateInfoEXT( vkStream, rootType, - reinterpret_cast<VkQueueFamilyGlobalPriorityPropertiesEXT*>(structExtension_out)); + reinterpret_cast<VkImageViewMinLodCreateInfoEXT*>(structExtension_out)); break; } #endif @@ -38769,6 +47720,96 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType break; } #endif +#ifdef VK_EXT_image_2d_view_of_3d + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT: { + unmarshal_VkPhysicalDeviceImage2DViewOf3DFeaturesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceImage2DViewOf3DFeaturesEXT*>(structExtension_out)); + break; + } +#endif +#ifdef VK_EXT_shader_tile_image + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT: { + unmarshal_VkPhysicalDeviceShaderTileImageFeaturesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceShaderTileImageFeaturesEXT*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT: { + unmarshal_VkPhysicalDeviceShaderTileImagePropertiesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceShaderTileImagePropertiesEXT*>( + structExtension_out)); + break; + } +#endif +#ifdef VK_EXT_opacity_micromap + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT: { + unmarshal_VkPhysicalDeviceOpacityMicromapFeaturesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceOpacityMicromapFeaturesEXT*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT: { + unmarshal_VkPhysicalDeviceOpacityMicromapPropertiesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceOpacityMicromapPropertiesEXT*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT: { + unmarshal_VkAccelerationStructureTrianglesOpacityMicromapEXT( + vkStream, rootType, + reinterpret_cast<VkAccelerationStructureTrianglesOpacityMicromapEXT*>( + structExtension_out)); + break; + } +#endif +#ifdef VK_NV_displacement_micromap +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV: { + unmarshal_VkPhysicalDeviceDisplacementMicromapFeaturesNV( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceDisplacementMicromapFeaturesNV*>( + structExtension_out)); + break; + } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV: { + unmarshal_VkPhysicalDeviceDisplacementMicromapPropertiesNV( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceDisplacementMicromapPropertiesNV*>( + structExtension_out)); + break; + } +#endif // VK_ENABLE_BETA_EXTENSIONS +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV: { + unmarshal_VkAccelerationStructureTrianglesDisplacementMicromapNV( + vkStream, rootType, + reinterpret_cast<VkAccelerationStructureTrianglesDisplacementMicromapNV*>( + structExtension_out)); + break; + } +#endif // VK_ENABLE_BETA_EXTENSIONS +#endif +#ifdef VK_HUAWEI_cluster_culling_shader + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI: { + unmarshal_VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI: { + unmarshal_VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI*>( + structExtension_out)); + break; + } +#endif #ifdef VK_EXT_border_color_swizzle case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT: { unmarshal_VkPhysicalDeviceBorderColorSwizzleFeaturesEXT( @@ -38794,6 +47835,380 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType break; } #endif +#ifdef VK_ARM_shader_core_properties + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM: { + unmarshal_VkPhysicalDeviceShaderCorePropertiesARM( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceShaderCorePropertiesARM*>(structExtension_out)); + break; + } +#endif +#ifdef VK_EXT_image_sliced_view_of_3d + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT: { + unmarshal_VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT: { + unmarshal_VkImageViewSlicedCreateInfoEXT( + vkStream, rootType, + reinterpret_cast<VkImageViewSlicedCreateInfoEXT*>(structExtension_out)); + break; + } +#endif +#ifdef VK_VALVE_descriptor_set_host_mapping + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE: { + unmarshal_VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE*>( + structExtension_out)); + break; + } +#endif +#ifdef VK_EXT_depth_clamp_zero_one + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT: { + unmarshal_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceDepthClampZeroOneFeaturesEXT*>( + structExtension_out)); + break; + } +#endif +#ifdef VK_EXT_non_seamless_cube_map + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT: { + unmarshal_VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT*>( + structExtension_out)); + break; + } +#endif +#ifdef VK_QCOM_fragment_density_map_offset + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM: { + unmarshal_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM: { + unmarshal_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM: { + unmarshal_VkSubpassFragmentDensityMapOffsetEndInfoQCOM( + vkStream, rootType, + reinterpret_cast<VkSubpassFragmentDensityMapOffsetEndInfoQCOM*>( + structExtension_out)); + break; + } +#endif +#ifdef VK_NV_copy_memory_indirect + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV: { + unmarshal_VkPhysicalDeviceCopyMemoryIndirectFeaturesNV( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceCopyMemoryIndirectFeaturesNV*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV: { + unmarshal_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceCopyMemoryIndirectPropertiesNV*>( + structExtension_out)); + break; + } +#endif +#ifdef VK_NV_memory_decompression + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV: { + unmarshal_VkPhysicalDeviceMemoryDecompressionFeaturesNV( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceMemoryDecompressionFeaturesNV*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV: { + unmarshal_VkPhysicalDeviceMemoryDecompressionPropertiesNV( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceMemoryDecompressionPropertiesNV*>( + structExtension_out)); + break; + } +#endif +#ifdef VK_NV_linear_color_attachment + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV: { + unmarshal_VkPhysicalDeviceLinearColorAttachmentFeaturesNV( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceLinearColorAttachmentFeaturesNV*>( + structExtension_out)); + break; + } +#endif +#ifdef VK_EXT_image_compression_control_swapchain + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT: { + unmarshal_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT*>( + structExtension_out)); + break; + } +#endif +#ifdef VK_QCOM_image_processing + case VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM: { + unmarshal_VkImageViewSampleWeightCreateInfoQCOM( + vkStream, rootType, + reinterpret_cast<VkImageViewSampleWeightCreateInfoQCOM*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM: { + unmarshal_VkPhysicalDeviceImageProcessingFeaturesQCOM( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceImageProcessingFeaturesQCOM*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM: { + unmarshal_VkPhysicalDeviceImageProcessingPropertiesQCOM( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceImageProcessingPropertiesQCOM*>( + structExtension_out)); + break; + } +#endif +#ifdef VK_EXT_extended_dynamic_state3 + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT: { + unmarshal_VkPhysicalDeviceExtendedDynamicState3FeaturesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceExtendedDynamicState3FeaturesEXT*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT: { + unmarshal_VkPhysicalDeviceExtendedDynamicState3PropertiesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceExtendedDynamicState3PropertiesEXT*>( + structExtension_out)); + break; + } +#endif +#ifdef VK_EXT_subpass_merge_feedback + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT: { + unmarshal_VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT: { + unmarshal_VkRenderPassCreationControlEXT( + vkStream, rootType, + reinterpret_cast<VkRenderPassCreationControlEXT*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT: { + unmarshal_VkRenderPassCreationFeedbackCreateInfoEXT( + vkStream, rootType, + reinterpret_cast<VkRenderPassCreationFeedbackCreateInfoEXT*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT: { + unmarshal_VkRenderPassSubpassFeedbackCreateInfoEXT( + vkStream, rootType, + reinterpret_cast<VkRenderPassSubpassFeedbackCreateInfoEXT*>(structExtension_out)); + break; + } +#endif +#ifdef VK_LUNARG_direct_driver_loading + case VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG: { + unmarshal_VkDirectDriverLoadingListLUNARG( + vkStream, rootType, + reinterpret_cast<VkDirectDriverLoadingListLUNARG*>(structExtension_out)); + break; + } +#endif +#ifdef VK_EXT_shader_module_identifier + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT: { + unmarshal_VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT: { + unmarshal_VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT: { + unmarshal_VkPipelineShaderStageModuleIdentifierCreateInfoEXT( + vkStream, rootType, + reinterpret_cast<VkPipelineShaderStageModuleIdentifierCreateInfoEXT*>( + structExtension_out)); + break; + } +#endif +#ifdef VK_NV_optical_flow + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV: { + unmarshal_VkPhysicalDeviceOpticalFlowFeaturesNV( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceOpticalFlowFeaturesNV*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV: { + unmarshal_VkPhysicalDeviceOpticalFlowPropertiesNV( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceOpticalFlowPropertiesNV*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV: { + unmarshal_VkOpticalFlowImageFormatInfoNV( + vkStream, rootType, + reinterpret_cast<VkOpticalFlowImageFormatInfoNV*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV: { + unmarshal_VkOpticalFlowSessionCreatePrivateDataInfoNV( + vkStream, rootType, + reinterpret_cast<VkOpticalFlowSessionCreatePrivateDataInfoNV*>( + structExtension_out)); + break; + } +#endif +#ifdef VK_EXT_legacy_dithering + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT: { + unmarshal_VkPhysicalDeviceLegacyDitheringFeaturesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceLegacyDitheringFeaturesEXT*>(structExtension_out)); + break; + } +#endif +#ifdef VK_EXT_pipeline_protected_access + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT: { + unmarshal_VkPhysicalDevicePipelineProtectedAccessFeaturesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDevicePipelineProtectedAccessFeaturesEXT*>( + structExtension_out)); + break; + } +#endif +#ifdef VK_EXT_shader_object + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT: { + unmarshal_VkPhysicalDeviceShaderObjectFeaturesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceShaderObjectFeaturesEXT*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT: { + unmarshal_VkPhysicalDeviceShaderObjectPropertiesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceShaderObjectPropertiesEXT*>(structExtension_out)); + break; + } +#endif +#ifdef VK_QCOM_tile_properties + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM: { + unmarshal_VkPhysicalDeviceTilePropertiesFeaturesQCOM( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceTilePropertiesFeaturesQCOM*>(structExtension_out)); + break; + } +#endif +#ifdef VK_SEC_amigo_profiling + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC: { + unmarshal_VkPhysicalDeviceAmigoProfilingFeaturesSEC( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceAmigoProfilingFeaturesSEC*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC: { + unmarshal_VkAmigoProfilingSubmitInfoSEC( + vkStream, rootType, + reinterpret_cast<VkAmigoProfilingSubmitInfoSEC*>(structExtension_out)); + break; + } +#endif +#ifdef VK_QCOM_multiview_per_view_viewports + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM: { + unmarshal_VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM*>( + structExtension_out)); + break; + } +#endif +#ifdef VK_NV_ray_tracing_invocation_reorder + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV: { + unmarshal_VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV: { + unmarshal_VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV*>( + structExtension_out)); + break; + } +#endif +#ifdef VK_ARM_shader_core_builtins + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM: { + unmarshal_VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM: { + unmarshal_VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM*>( + structExtension_out)); + break; + } +#endif +#ifdef VK_EXT_pipeline_library_group_handles + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT: { + unmarshal_VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT*>( + structExtension_out)); + break; + } +#endif +#ifdef VK_QCOM_multiview_per_view_render_areas + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM: { + unmarshal_VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM*>( + structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM: { + unmarshal_VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM( + vkStream, rootType, + reinterpret_cast<VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM*>( + structExtension_out)); + break; + } +#endif +#ifdef VK_EXT_attachment_feedback_loop_dynamic_state + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT: { + unmarshal_VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT*>( + structExtension_out)); + break; + } +#endif #ifdef VK_KHR_acceleration_structure case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR: { unmarshal_VkWriteDescriptorSetAccelerationStructureKHR( @@ -38841,6 +48256,20 @@ void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType break; } #endif +#ifdef VK_EXT_mesh_shader + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT: { + unmarshal_VkPhysicalDeviceMeshShaderFeaturesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceMeshShaderFeaturesEXT*>(structExtension_out)); + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT: { + unmarshal_VkPhysicalDeviceMeshShaderPropertiesEXT( + vkStream, rootType, + reinterpret_cast<VkPhysicalDeviceMeshShaderPropertiesEXT*>(structExtension_out)); + break; + } +#endif default: { // fatal; the switch is only taken if the extension struct is known abort(); @@ -39936,28 +49365,6 @@ const char* api_opcode_to_string(const uint32_t opcode) { case OP_vkGetLinearImageLayoutGOOGLE: { return "OP_vkGetLinearImageLayoutGOOGLE"; } -#endif -#ifdef VK_MVK_moltenvk - case OP_vkGetMTLDeviceMVK: { - return "OP_vkGetMTLDeviceMVK"; - } - case OP_vkSetMTLTextureMVK: { - return "OP_vkSetMTLTextureMVK"; - } - case OP_vkGetMTLTextureMVK: { - return "OP_vkGetMTLTextureMVK"; - } - case OP_vkGetMTLBufferMVK: { - return "OP_vkGetMTLBufferMVK"; - } - case OP_vkUseIOSurfaceMVK: { - return "OP_vkUseIOSurfaceMVK"; - } - case OP_vkGetIOSurfaceMVK: { - return "OP_vkGetIOSurfaceMVK"; - } -#endif -#ifdef VK_GOOGLE_gfxstream case OP_vkQueueFlushCommandsGOOGLE: { return "OP_vkQueueFlushCommandsGOOGLE"; } @@ -39965,6 +49372,11 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkGetBlobGOOGLE"; } #endif +#ifdef VK_EXT_extended_dynamic_state3 + case OP_vkCmdSetRasterizationSamplesEXT: { + return "OP_vkCmdSetRasterizationSamplesEXT"; + } +#endif #ifdef VK_KHR_dynamic_rendering case OP_vkCmdEndRenderingKHR: { return "OP_vkCmdEndRenderingKHR"; @@ -39990,6 +49402,16 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkCmdSetColorWriteEnableEXT"; } #endif +#ifdef VK_EXT_descriptor_buffer + case OP_vkGetDescriptorEXT: { + return "OP_vkGetDescriptorEXT"; + } +#endif +#ifdef VK_EXT_extended_dynamic_state3 + case OP_vkCmdSetColorBlendAdvancedEXT: { + return "OP_vkCmdSetColorBlendAdvancedEXT"; + } +#endif #ifdef VK_NV_ray_tracing case OP_vkBindAccelerationStructureMemoryNV: { return "OP_vkBindAccelerationStructureMemoryNV"; @@ -40005,6 +49427,16 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkGetDeferredOperationMaxConcurrencyKHR"; } #endif +#ifdef VK_NV_optical_flow + case OP_vkCreateOpticalFlowSessionNV: { + return "OP_vkCreateOpticalFlowSessionNV"; + } +#endif +#ifdef VK_EXT_descriptor_buffer + case OP_vkCmdBindDescriptorBufferEmbeddedSamplersEXT: { + return "OP_vkCmdBindDescriptorBufferEmbeddedSamplersEXT"; + } +#endif #ifdef VK_EXT_calibrated_timestamps case OP_vkGetCalibratedTimestampsEXT: { return "OP_vkGetCalibratedTimestampsEXT"; @@ -40035,11 +49467,24 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkCmdSetScissorWithCountEXT"; } #endif +#ifdef VK_EXT_extended_dynamic_state3 + case OP_vkCmdSetViewportWScalingEnableNV: { + return "OP_vkCmdSetViewportWScalingEnableNV"; + } + case OP_vkCmdSetRasterizationStreamEXT: { + return "OP_vkCmdSetRasterizationStreamEXT"; + } +#endif #ifdef VK_KHR_ray_tracing_pipeline case OP_vkGetRayTracingShaderGroupStackSizeKHR: { return "OP_vkGetRayTracingShaderGroupStackSizeKHR"; } #endif +#ifdef VK_EXT_extended_dynamic_state3 + case OP_vkCmdSetSampleMaskEXT: { + return "OP_vkCmdSetSampleMaskEXT"; + } +#endif #ifdef VK_EXT_full_screen_exclusive case OP_vkGetDeviceGroupSurfacePresentModes2EXT: { return "OP_vkGetDeviceGroupSurfacePresentModes2EXT"; @@ -40060,6 +49505,14 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkCmdWriteAccelerationStructuresPropertiesNV"; } #endif +#ifdef VK_EXT_opacity_micromap + case OP_vkCmdBuildMicromapsEXT: { + return "OP_vkCmdBuildMicromapsEXT"; + } + case OP_vkWriteMicromapsPropertiesEXT: { + return "OP_vkWriteMicromapsPropertiesEXT"; + } +#endif #ifdef VK_EXT_extended_dynamic_state2 case OP_vkCmdSetPatchControlPointsEXT: { return "OP_vkCmdSetPatchControlPointsEXT"; @@ -40070,11 +49523,26 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkDestroyPrivateDataSlotEXT"; } #endif +#ifdef VK_VERSION_1_3 + case OP_vkCmdSetDepthTestEnable: { + return "OP_vkCmdSetDepthTestEnable"; + } +#endif #ifdef VK_NV_ray_tracing case OP_vkCmdTraceRaysNV: { return "OP_vkCmdTraceRaysNV"; } #endif +#ifdef VK_EXT_opacity_micromap + case OP_vkCmdWriteMicromapsPropertiesEXT: { + return "OP_vkCmdWriteMicromapsPropertiesEXT"; + } +#endif +#ifdef VK_HUAWEI_cluster_culling_shader + case OP_vkCmdDrawClusterIndirectHUAWEI: { + return "OP_vkCmdDrawClusterIndirectHUAWEI"; + } +#endif #ifdef VK_NVX_image_view_handle case OP_vkGetImageViewAddressNVX: { return "OP_vkGetImageViewAddressNVX"; @@ -40125,11 +49593,21 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkCmdTraceRaysKHR"; } #endif +#ifdef VK_EXT_shader_module_identifier + case OP_vkGetShaderModuleCreateInfoIdentifierEXT: { + return "OP_vkGetShaderModuleCreateInfoIdentifierEXT"; + } +#endif #ifdef VK_FUCHSIA_external_memory case OP_vkGetMemoryZirconHandleFUCHSIA: { return "OP_vkGetMemoryZirconHandleFUCHSIA"; } #endif +#ifdef VK_VERSION_1_3 + case OP_vkCmdCopyImageToBuffer2: { + return "OP_vkCmdCopyImageToBuffer2"; + } +#endif #ifdef VK_NV_shading_rate_image case OP_vkCmdSetViewportShadingRatePaletteNV: { return "OP_vkCmdSetViewportShadingRatePaletteNV"; @@ -40145,6 +49623,14 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkBindVideoSessionMemoryKHR"; } #endif +#ifdef VK_NV_optical_flow + case OP_vkBindOpticalFlowSessionImageNV: { + return "OP_vkBindOpticalFlowSessionImageNV"; + } + case OP_vkCmdOpticalFlowExecuteNV: { + return "OP_vkCmdOpticalFlowExecuteNV"; + } +#endif #ifdef VK_KHR_deferred_host_operations case OP_vkDeferredOperationJoinKHR: { return "OP_vkDeferredOperationJoinKHR"; @@ -40160,16 +49646,31 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkGetBufferDeviceAddressKHR"; } #endif +#ifdef VK_VERSION_1_3 + case OP_vkCmdSetDepthBoundsTestEnable: { + return "OP_vkCmdSetDepthBoundsTestEnable"; + } +#endif #ifdef VK_KHR_acceleration_structure case OP_vkGetAccelerationStructureBuildSizesKHR: { return "OP_vkGetAccelerationStructureBuildSizesKHR"; } #endif +#ifdef VK_VERSION_1_3 + case OP_vkCmdSetScissorWithCount: { + return "OP_vkCmdSetScissorWithCount"; + } +#endif #ifdef VK_NVX_binary_import case OP_vkCmdCuLaunchKernelNVX: { return "OP_vkCmdCuLaunchKernelNVX"; } #endif +#ifdef VK_NV_memory_decompression + case OP_vkCmdDecompressMemoryNV: { + return "OP_vkCmdDecompressMemoryNV"; + } +#endif #ifdef VK_NV_ray_tracing case OP_vkGetAccelerationStructureMemoryRequirementsNV: { return "OP_vkGetAccelerationStructureMemoryRequirementsNV"; @@ -40180,6 +49681,11 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkCmdSubpassShadingHUAWEI"; } #endif +#ifdef VK_VERSION_1_3 + case OP_vkCmdEndRendering: { + return "OP_vkCmdEndRendering"; + } +#endif #ifdef VK_EXT_directfb_surface case OP_vkCreateDirectFBSurfaceEXT: { return "OP_vkCreateDirectFBSurfaceEXT"; @@ -40190,6 +49696,11 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkCmdEndRenderPass2"; } #endif +#ifdef VK_EXT_descriptor_buffer + case OP_vkGetDescriptorSetLayoutBindingOffsetEXT: { + return "OP_vkGetDescriptorSetLayoutBindingOffsetEXT"; + } +#endif #ifdef VK_KHR_ray_tracing_pipeline case OP_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR: { return "OP_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR"; @@ -40200,6 +49711,16 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkGetBufferDeviceAddress"; } #endif +#ifdef VK_VERSION_1_3 + case OP_vkCmdSetFrontFace: { + return "OP_vkCmdSetFrontFace"; + } +#endif +#ifdef VK_EXT_discard_rectangles + case OP_vkCmdSetDiscardRectangleModeEXT: { + return "OP_vkCmdSetDiscardRectangleModeEXT"; + } +#endif #ifdef VK_EXT_extended_dynamic_state case OP_vkCmdSetDepthBoundsTestEnableEXT: { return "OP_vkCmdSetDepthBoundsTestEnableEXT"; @@ -40209,10 +49730,22 @@ const char* api_opcode_to_string(const uint32_t opcode) { case OP_vkGetAccelerationStructureDeviceAddressKHR: { return "OP_vkGetAccelerationStructureDeviceAddressKHR"; } +#endif +#ifdef VK_EXT_extended_dynamic_state3 + case OP_vkCmdSetColorBlendEquationEXT: { + return "OP_vkCmdSetColorBlendEquationEXT"; + } +#endif +#ifdef VK_KHR_acceleration_structure case OP_vkCmdCopyAccelerationStructureToMemoryKHR: { return "OP_vkCmdCopyAccelerationStructureToMemoryKHR"; } #endif +#ifdef VK_EXT_mesh_shader + case OP_vkCmdDrawMeshTasksIndirectEXT: { + return "OP_vkCmdDrawMeshTasksIndirectEXT"; + } +#endif #ifdef VK_NV_mesh_shader case OP_vkCmdDrawMeshTasksIndirectCountNV: { return "OP_vkCmdDrawMeshTasksIndirectCountNV"; @@ -40243,6 +49776,14 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkCreateScreenSurfaceQNX"; } #endif +#ifdef VK_VERSION_1_3 + case OP_vkDestroyPrivateDataSlot: { + return "OP_vkDestroyPrivateDataSlot"; + } + case OP_vkCmdSetCullMode: { + return "OP_vkCmdSetCullMode"; + } +#endif #ifdef VK_KHR_synchronization2 case OP_vkCmdWriteBufferMarker2AMD: { return "OP_vkCmdWriteBufferMarker2AMD"; @@ -40258,11 +49799,21 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkDestroyBufferCollectionFUCHSIA"; } #endif +#ifdef VK_EXT_extended_dynamic_state3 + case OP_vkCmdSetCoverageModulationModeNV: { + return "OP_vkCmdSetCoverageModulationModeNV"; + } +#endif #ifdef VK_EXT_private_data case OP_vkSetPrivateDataEXT: { return "OP_vkSetPrivateDataEXT"; } #endif +#ifdef VK_EXT_descriptor_buffer + case OP_vkGetImageViewOpaqueCaptureDescriptorDataEXT: { + return "OP_vkGetImageViewOpaqueCaptureDescriptorDataEXT"; + } +#endif #ifdef VK_HUAWEI_subpass_shading case OP_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI: { return "OP_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI"; @@ -40273,6 +49824,11 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkCmdSetExclusiveScissorNV"; } #endif +#ifdef VK_EXT_extended_dynamic_state3 + case OP_vkCmdSetLineStippleEnableEXT: { + return "OP_vkCmdSetLineStippleEnableEXT"; + } +#endif #ifdef VK_KHR_copy_commands2 case OP_vkCmdCopyImage2KHR: { return "OP_vkCmdCopyImage2KHR"; @@ -40288,11 +49844,21 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkCreateVideoSessionKHR"; } #endif +#ifdef VK_EXT_extended_dynamic_state3 + case OP_vkCmdSetColorWriteMaskEXT: { + return "OP_vkCmdSetColorWriteMaskEXT"; + } +#endif #ifdef VK_KHR_timeline_semaphore case OP_vkGetSemaphoreCounterValueKHR: { return "OP_vkGetSemaphoreCounterValueKHR"; } #endif +#ifdef VK_KHR_map_memory2 + case OP_vkUnmapMemory2KHR: { + return "OP_vkUnmapMemory2KHR"; + } +#endif #ifdef VK_NV_ray_tracing case OP_vkGetRayTracingShaderGroupHandlesNV: { return "OP_vkGetRayTracingShaderGroupHandlesNV"; @@ -40303,11 +49869,46 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkGetBufferOpaqueCaptureAddress"; } #endif +#ifdef VK_VERSION_1_3 + case OP_vkCmdSetPrimitiveRestartEnable: { + return "OP_vkCmdSetPrimitiveRestartEnable"; + } +#endif +#ifdef VK_EXT_swapchain_maintenance1 + case OP_vkReleaseSwapchainImagesEXT: { + return "OP_vkReleaseSwapchainImagesEXT"; + } +#endif +#ifdef VK_VERSION_1_3 + case OP_vkCmdSetEvent2: { + return "OP_vkCmdSetEvent2"; + } +#endif +#ifdef VK_EXT_descriptor_buffer + case OP_vkGetDescriptorSetLayoutSizeEXT: { + return "OP_vkGetDescriptorSetLayoutSizeEXT"; + } +#endif +#ifdef VK_KHR_map_memory2 + case OP_vkMapMemory2KHR: { + return "OP_vkMapMemory2KHR"; + } +#endif +#ifdef VK_VERSION_1_3 + case OP_vkGetDeviceImageSparseMemoryRequirements: { + return "OP_vkGetDeviceImageSparseMemoryRequirements"; + } +#endif #ifdef VK_EXT_extended_dynamic_state case OP_vkCmdSetDepthTestEnableEXT: { return "OP_vkCmdSetDepthTestEnableEXT"; } #endif +#ifdef VK_EXT_opacity_micromap + case OP_vkCmdCopyMicromapToMemoryEXT: { + return "OP_vkCmdCopyMicromapToMemoryEXT"; + } +#endif #ifdef VK_NV_device_generated_commands case OP_vkCmdExecuteGeneratedCommandsNV: { return "OP_vkCmdExecuteGeneratedCommandsNV"; @@ -40318,16 +49919,31 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkCmdBeginRenderPass2"; } #endif +#ifdef VK_VERSION_1_3 + case OP_vkCmdSetStencilOp: { + return "OP_vkCmdSetStencilOp"; + } +#endif #ifdef VK_EXT_private_data case OP_vkCreatePrivateDataSlotEXT: { return "OP_vkCreatePrivateDataSlotEXT"; } #endif +#ifdef VK_VERSION_1_3 + case OP_vkCmdCopyBuffer2: { + return "OP_vkCmdCopyBuffer2"; + } +#endif #ifdef VK_NV_shading_rate_image case OP_vkCmdSetCoarseSampleOrderNV: { return "OP_vkCmdSetCoarseSampleOrderNV"; } #endif +#ifdef VK_VERSION_1_3 + case OP_vkGetPrivateData: { + return "OP_vkGetPrivateData"; + } +#endif #ifdef VK_KHR_video_queue case OP_vkDestroyVideoSessionParametersKHR: { return "OP_vkDestroyVideoSessionParametersKHR"; @@ -40351,11 +49967,26 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkCmdBeginVideoCodingKHR"; } #endif +#ifdef VK_QCOM_tile_properties + case OP_vkGetDynamicRenderingTilePropertiesQCOM: { + return "OP_vkGetDynamicRenderingTilePropertiesQCOM"; + } +#endif +#ifdef VK_VERSION_1_3 + case OP_vkCmdSetDepthWriteEnable: { + return "OP_vkCmdSetDepthWriteEnable"; + } +#endif #ifdef VK_KHR_acceleration_structure case OP_vkCopyAccelerationStructureKHR: { return "OP_vkCopyAccelerationStructureKHR"; } #endif +#ifdef VK_EXT_opacity_micromap + case OP_vkBuildMicromapsEXT: { + return "OP_vkBuildMicromapsEXT"; + } +#endif #ifdef VK_GGP_stream_descriptor_surface case OP_vkCreateStreamDescriptorSurfaceGGP: { return "OP_vkCreateStreamDescriptorSurfaceGGP"; @@ -40366,11 +49997,26 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkBuildAccelerationStructuresKHR"; } #endif +#ifdef VK_VERSION_1_3 + case OP_vkSetPrivateData: { + return "OP_vkSetPrivateData"; + } +#endif #ifdef VK_FUCHSIA_buffer_collection case OP_vkGetBufferCollectionPropertiesFUCHSIA: { return "OP_vkGetBufferCollectionPropertiesFUCHSIA"; } #endif +#ifdef VK_EXT_shader_object + case OP_vkDestroyShaderEXT: { + return "OP_vkDestroyShaderEXT"; + } +#endif +#ifdef VK_EXT_opacity_micromap + case OP_vkDestroyMicromapEXT: { + return "OP_vkDestroyMicromapEXT"; + } +#endif #ifdef VK_EXT_host_query_reset case OP_vkResetQueryPoolEXT: { return "OP_vkResetQueryPoolEXT"; @@ -40386,21 +50032,61 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkCmdBindVertexBuffers2EXT"; } #endif +#ifdef VK_EXT_pipeline_properties + case OP_vkGetPipelinePropertiesEXT: { + return "OP_vkGetPipelinePropertiesEXT"; + } +#endif #ifdef VK_GOOGLE_gfxstream case OP_vkQueueSignalReleaseImageANDROIDAsyncGOOGLE: { return "OP_vkQueueSignalReleaseImageANDROIDAsyncGOOGLE"; } #endif +#ifdef VK_EXT_descriptor_buffer + case OP_vkGetImageOpaqueCaptureDescriptorDataEXT: { + return "OP_vkGetImageOpaqueCaptureDescriptorDataEXT"; + } +#endif +#ifdef VK_EXT_extended_dynamic_state3 + case OP_vkCmdSetPolygonModeEXT: { + return "OP_vkCmdSetPolygonModeEXT"; + } +#endif +#ifdef VK_VERSION_1_3 + case OP_vkCmdWaitEvents2: { + return "OP_vkCmdWaitEvents2"; + } +#endif +#ifdef VK_GOOGLE_gfxstream + case OP_vkUpdateDescriptorSetWithTemplateSized2GOOGLE: { + return "OP_vkUpdateDescriptorSetWithTemplateSized2GOOGLE"; + } +#endif +#ifdef VK_EXT_extended_dynamic_state3 + case OP_vkCmdSetRepresentativeFragmentTestEnableNV: { + return "OP_vkCmdSetRepresentativeFragmentTestEnableNV"; + } +#endif #ifdef VK_VERSION_1_2 case OP_vkCmdNextSubpass2: { return "OP_vkCmdNextSubpass2"; } #endif +#ifdef VK_NV_copy_memory_indirect + case OP_vkCmdCopyMemoryIndirectNV: { + return "OP_vkCmdCopyMemoryIndirectNV"; + } +#endif #ifdef VK_KHR_synchronization2 case OP_vkCmdWaitEvents2KHR: { return "OP_vkCmdWaitEvents2KHR"; } #endif +#ifdef VK_EXT_extended_dynamic_state3 + case OP_vkCmdSetCoverageToColorLocationNV: { + return "OP_vkCmdSetCoverageToColorLocationNV"; + } +#endif #ifdef VK_VERSION_1_2 case OP_vkCmdDrawIndexedIndirectCount: { return "OP_vkCmdDrawIndexedIndirectCount"; @@ -40411,11 +50097,24 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkCmdSetRasterizerDiscardEnableEXT"; } #endif +#ifdef VK_VERSION_1_3 + case OP_vkCmdSetDepthCompareOp: { + return "OP_vkCmdSetDepthCompareOp"; + } +#endif #ifdef VK_INTEL_performance_query case OP_vkAcquirePerformanceConfigurationINTEL: { return "OP_vkAcquirePerformanceConfigurationINTEL"; } #endif +#ifdef VK_VERSION_1_3 + case OP_vkCmdWriteTimestamp2: { + return "OP_vkCmdWriteTimestamp2"; + } + case OP_vkCmdCopyImage2: { + return "OP_vkCmdCopyImage2"; + } +#endif #ifdef VK_KHR_ray_tracing_pipeline case OP_vkCreateRayTracingPipelinesKHR: { return "OP_vkCreateRayTracingPipelinesKHR"; @@ -40436,6 +50135,11 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkGetPhysicalDeviceVideoCapabilitiesKHR"; } #endif +#ifdef VK_QCOM_tile_properties + case OP_vkGetFramebufferTilePropertiesQCOM: { + return "OP_vkGetFramebufferTilePropertiesQCOM"; + } +#endif #ifdef VK_FUCHSIA_external_semaphore case OP_vkGetSemaphoreZirconHandleFUCHSIA: { return "OP_vkGetSemaphoreZirconHandleFUCHSIA"; @@ -40456,6 +50160,14 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkAcquireDrmDisplayEXT"; } #endif +#ifdef VK_EXT_extended_dynamic_state3 + case OP_vkCmdSetAlphaToCoverageEnableEXT: { + return "OP_vkCmdSetAlphaToCoverageEnableEXT"; + } + case OP_vkCmdSetDepthClampEnableEXT: { + return "OP_vkCmdSetDepthClampEnableEXT"; + } +#endif #ifdef VK_EXT_image_drm_format_modifier case OP_vkGetImageDrmFormatModifierPropertiesEXT: { return "OP_vkGetImageDrmFormatModifierPropertiesEXT"; @@ -40466,6 +50178,16 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkCmdSetPerformanceOverrideINTEL"; } #endif +#ifdef VK_EXT_extended_dynamic_state3 + case OP_vkCmdSetProvokingVertexModeEXT: { + return "OP_vkCmdSetProvokingVertexModeEXT"; + } +#endif +#ifdef VK_EXT_mesh_shader + case OP_vkCmdDrawMeshTasksIndirectCountEXT: { + return "OP_vkCmdDrawMeshTasksIndirectCountEXT"; + } +#endif #ifdef VK_VERSION_1_2 case OP_vkResetQueryPool: { return "OP_vkResetQueryPool"; @@ -40501,6 +50223,11 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkDestroyCuFunctionNVX"; } #endif +#ifdef VK_HUAWEI_cluster_culling_shader + case OP_vkCmdDrawClusterHUAWEI: { + return "OP_vkCmdDrawClusterHUAWEI"; + } +#endif #ifdef VK_KHR_copy_commands2 case OP_vkCmdResolveImage2KHR: { return "OP_vkCmdResolveImage2KHR"; @@ -40511,6 +50238,11 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkCreateMetalSurfaceEXT"; } #endif +#ifdef VK_NV_optical_flow + case OP_vkDestroyOpticalFlowSessionNV: { + return "OP_vkDestroyOpticalFlowSessionNV"; + } +#endif #ifdef VK_KHR_acceleration_structure case OP_vkCopyAccelerationStructureToMemoryKHR: { return "OP_vkCopyAccelerationStructureToMemoryKHR"; @@ -40546,6 +50278,11 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkGetPhysicalDeviceScreenPresentationSupportQNX"; } #endif +#ifdef VK_VERSION_1_3 + case OP_vkCmdBindVertexBuffers2: { + return "OP_vkCmdBindVertexBuffers2"; + } +#endif #ifdef VK_KHR_acceleration_structure case OP_vkCreateAccelerationStructureKHR: { return "OP_vkCreateAccelerationStructureKHR"; @@ -40556,11 +50293,26 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkCmdSetDepthBiasEnableEXT"; } #endif +#ifdef VK_EXT_extended_dynamic_state3 + case OP_vkCmdSetCoverageReductionModeNV: { + return "OP_vkCmdSetCoverageReductionModeNV"; + } +#endif #ifdef VK_NV_ray_tracing case OP_vkCreateAccelerationStructureNV: { return "OP_vkCreateAccelerationStructureNV"; } #endif +#ifdef VK_EXT_extended_dynamic_state3 + case OP_vkCmdSetCoverageModulationTableNV: { + return "OP_vkCmdSetCoverageModulationTableNV"; + } +#endif +#ifdef VK_EXT_opacity_micromap + case OP_vkCreateMicromapEXT: { + return "OP_vkCreateMicromapEXT"; + } +#endif #ifdef VK_KHR_copy_commands2 case OP_vkCmdBlitImage2KHR: { return "OP_vkCmdBlitImage2KHR"; @@ -40581,6 +50333,11 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkCmdSetPrimitiveTopologyEXT"; } #endif +#ifdef VK_KHR_ray_tracing_maintenance1 + case OP_vkCmdTraceRaysIndirect2KHR: { + return "OP_vkCmdTraceRaysIndirect2KHR"; + } +#endif #ifdef VK_KHR_video_queue case OP_vkUpdateVideoSessionParametersKHR: { return "OP_vkUpdateVideoSessionParametersKHR"; @@ -40606,6 +50363,19 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkGetPhysicalDeviceVideoFormatPropertiesKHR"; } #endif +#ifdef VK_EXT_extended_dynamic_state3 + case OP_vkCmdSetViewportSwizzleNV: { + return "OP_vkCmdSetViewportSwizzleNV"; + } +#endif +#ifdef VK_VERSION_1_3 + case OP_vkCreatePrivateDataSlot: { + return "OP_vkCreatePrivateDataSlot"; + } + case OP_vkCmdSetPrimitiveTopology: { + return "OP_vkCmdSetPrimitiveTopology"; + } +#endif #ifdef VK_KHR_present_wait case OP_vkWaitForPresentKHR: { return "OP_vkWaitForPresentKHR"; @@ -40636,6 +50406,11 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkCmdSetFragmentShadingRateEnumNV"; } #endif +#ifdef VK_EXT_extended_dynamic_state3 + case OP_vkCmdSetTessellationDomainOriginEXT: { + return "OP_vkCmdSetTessellationDomainOriginEXT"; + } +#endif #ifdef VK_KHR_video_queue case OP_vkCreateVideoSessionParametersKHR: { return "OP_vkCreateVideoSessionParametersKHR"; @@ -40656,6 +50431,21 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkGetSemaphoreCounterValue"; } #endif +#ifdef VK_VERSION_1_3 + case OP_vkCmdSetDepthBiasEnable: { + return "OP_vkCmdSetDepthBiasEnable"; + } +#endif +#ifdef VK_EXT_opacity_micromap + case OP_vkCopyMicromapToMemoryEXT: { + return "OP_vkCopyMicromapToMemoryEXT"; + } +#endif +#ifdef VK_VERSION_1_3 + case OP_vkCmdSetViewportWithCount: { + return "OP_vkCmdSetViewportWithCount"; + } +#endif #ifdef VK_EXT_extended_dynamic_state2 case OP_vkCmdSetLogicOpEXT: { return "OP_vkCmdSetLogicOpEXT"; @@ -40676,21 +50466,41 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkQueueCommitDescriptorSetUpdatesGOOGLE"; } #endif +#ifdef VK_VERSION_1_3 + case OP_vkCmdCopyBufferToImage2: { + return "OP_vkCmdCopyBufferToImage2"; + } +#endif #ifdef VK_EXT_full_screen_exclusive case OP_vkGetPhysicalDeviceSurfacePresentModes2EXT: { return "OP_vkGetPhysicalDeviceSurfacePresentModes2EXT"; } #endif +#ifdef VK_EXT_extended_dynamic_state3 + case OP_vkCmdSetSampleLocationsEnableEXT: { + return "OP_vkCmdSetSampleLocationsEnableEXT"; + } +#endif #ifdef VK_NV_ray_tracing case OP_vkCmdBuildAccelerationStructureNV: { return "OP_vkCmdBuildAccelerationStructureNV"; } #endif +#ifdef VK_EXT_descriptor_buffer + case OP_vkCmdBindDescriptorBuffersEXT: { + return "OP_vkCmdBindDescriptorBuffersEXT"; + } +#endif #ifdef VK_KHR_pipeline_executable_properties case OP_vkGetPipelineExecutablePropertiesKHR: { return "OP_vkGetPipelineExecutablePropertiesKHR"; } #endif +#ifdef VK_EXT_shader_object + case OP_vkCmdBindShadersEXT: { + return "OP_vkCmdBindShadersEXT"; + } +#endif #ifdef VK_NV_ray_tracing case OP_vkGetAccelerationStructureHandleNV: { return "OP_vkGetAccelerationStructureHandleNV"; @@ -40716,16 +50526,31 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkCmdSetEvent2KHR"; } #endif +#ifdef VK_EXT_opacity_micromap + case OP_vkCopyMicromapEXT: { + return "OP_vkCopyMicromapEXT"; + } +#endif #ifdef VK_VERSION_1_2 case OP_vkSignalSemaphore: { return "OP_vkSignalSemaphore"; } #endif +#ifdef VK_EXT_descriptor_buffer + case OP_vkCmdSetDescriptorBufferOffsetsEXT: { + return "OP_vkCmdSetDescriptorBufferOffsetsEXT"; + } +#endif #ifdef VK_KHR_pipeline_executable_properties case OP_vkGetPipelineExecutableStatisticsKHR: { return "OP_vkGetPipelineExecutableStatisticsKHR"; } #endif +#ifdef VK_EXT_shader_object + case OP_vkGetShaderBinaryDataEXT: { + return "OP_vkGetShaderBinaryDataEXT"; + } +#endif #ifdef VK_KHR_acceleration_structure case OP_vkCmdWriteAccelerationStructuresPropertiesKHR: { return "OP_vkCmdWriteAccelerationStructuresPropertiesKHR"; @@ -40736,6 +50561,11 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkGetRayTracingShaderGroupHandlesKHR"; } #endif +#ifdef VK_VERSION_1_3 + case OP_vkCmdResetEvent2: { + return "OP_vkCmdResetEvent2"; + } +#endif #ifdef VK_EXT_transform_feedback case OP_vkCmdEndTransformFeedbackEXT: { return "OP_vkCmdEndTransformFeedbackEXT"; @@ -40756,6 +50586,11 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkDestroyCuModuleNVX"; } #endif +#ifdef VK_EXT_descriptor_buffer + case OP_vkGetSamplerOpaqueCaptureDescriptorDataEXT: { + return "OP_vkGetSamplerOpaqueCaptureDescriptorDataEXT"; + } +#endif #ifdef VK_NV_mesh_shader case OP_vkCmdDrawMeshTasksIndirectNV: { return "OP_vkCmdDrawMeshTasksIndirectNV"; @@ -40776,11 +50611,24 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkCreateDeferredOperationKHR"; } #endif +#ifdef VK_EXT_extended_dynamic_state3 + case OP_vkCmdSetCoverageToColorEnableNV: { + return "OP_vkCmdSetCoverageToColorEnableNV"; + } +#endif #ifdef VK_FUCHSIA_buffer_collection case OP_vkSetBufferCollectionImageConstraintsFUCHSIA: { return "OP_vkSetBufferCollectionImageConstraintsFUCHSIA"; } #endif +#ifdef VK_VERSION_1_3 + case OP_vkCmdBlitImage2: { + return "OP_vkCmdBlitImage2"; + } + case OP_vkQueueSubmit2: { + return "OP_vkQueueSubmit2"; + } +#endif #ifdef VK_KHR_maintenance4 case OP_vkGetDeviceImageSparseMemoryRequirementsKHR: { return "OP_vkGetDeviceImageSparseMemoryRequirementsKHR"; @@ -40796,6 +50644,16 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkCmdBeginQueryIndexedEXT"; } #endif +#ifdef VK_VERSION_1_3 + case OP_vkCmdSetRasterizerDiscardEnable: { + return "OP_vkCmdSetRasterizerDiscardEnable"; + } +#endif +#ifdef VK_NV_copy_memory_indirect + case OP_vkCmdCopyMemoryToImageIndirectNV: { + return "OP_vkCmdCopyMemoryToImageIndirectNV"; + } +#endif #ifdef VK_EXT_extended_dynamic_state case OP_vkCmdSetStencilOpEXT: { return "OP_vkCmdSetStencilOpEXT"; @@ -40806,11 +50664,26 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkCreateBufferCollectionFUCHSIA"; } #endif +#ifdef VK_EXT_metal_objects + case OP_vkExportMetalObjectsEXT: { + return "OP_vkExportMetalObjectsEXT"; + } +#endif #ifdef VK_NV_ray_tracing case OP_vkCompileDeferredNV: { return "OP_vkCompileDeferredNV"; } #endif +#ifdef VK_EXT_device_fault + case OP_vkGetDeviceFaultInfoEXT: { + return "OP_vkGetDeviceFaultInfoEXT"; + } +#endif +#ifdef VK_EXT_extended_dynamic_state3 + case OP_vkCmdSetDepthClipNegativeOneToOneEXT: { + return "OP_vkCmdSetDepthClipNegativeOneToOneEXT"; + } +#endif #ifdef VK_KHR_acceleration_structure case OP_vkCmdCopyAccelerationStructureKHR: { return "OP_vkCmdCopyAccelerationStructureKHR"; @@ -40831,6 +50704,26 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkCmdEndVideoCodingKHR"; } #endif +#ifdef VK_VALVE_descriptor_set_host_mapping + case OP_vkGetDescriptorSetHostMappingVALVE: { + return "OP_vkGetDescriptorSetHostMappingVALVE"; + } +#endif +#ifdef VK_EXT_descriptor_buffer + case OP_vkGetBufferOpaqueCaptureDescriptorDataEXT: { + return "OP_vkGetBufferOpaqueCaptureDescriptorDataEXT"; + } +#endif +#ifdef VK_EXT_shader_object + case OP_vkCreateShadersEXT: { + return "OP_vkCreateShadersEXT"; + } +#endif +#ifdef VK_EXT_opacity_micromap + case OP_vkCmdCopyMemoryToMicromapEXT: { + return "OP_vkCmdCopyMemoryToMicromapEXT"; + } +#endif #ifdef VK_KHR_performance_query case OP_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR: { return "OP_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR"; @@ -40846,6 +50739,14 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkGetLinearImageLayout2GOOGLE"; } #endif +#ifdef VK_VERSION_1_3 + case OP_vkCmdResolveImage2: { + return "OP_vkCmdResolveImage2"; + } + case OP_vkGetDeviceImageMemoryRequirements: { + return "OP_vkGetDeviceImageMemoryRequirements"; + } +#endif #ifdef VK_EXT_acquire_drm_display case OP_vkGetDrmDisplayEXT: { return "OP_vkGetDrmDisplayEXT"; @@ -40856,11 +50757,36 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkCmdDrawIndirectCount"; } #endif +#ifdef VK_EXT_extended_dynamic_state3 + case OP_vkCmdSetLogicOpEnableEXT: { + return "OP_vkCmdSetLogicOpEnableEXT"; + } +#endif +#ifdef VK_EXT_opacity_micromap + case OP_vkGetDeviceMicromapCompatibilityEXT: { + return "OP_vkGetDeviceMicromapCompatibilityEXT"; + } +#endif #ifdef VK_KHR_synchronization2 case OP_vkCmdResetEvent2KHR: { return "OP_vkCmdResetEvent2KHR"; } #endif +#ifdef VK_EXT_extended_dynamic_state3 + case OP_vkCmdSetDepthClipEnableEXT: { + return "OP_vkCmdSetDepthClipEnableEXT"; + } +#endif +#ifdef VK_EXT_discard_rectangles + case OP_vkCmdSetDiscardRectangleEnableEXT: { + return "OP_vkCmdSetDiscardRectangleEnableEXT"; + } +#endif +#ifdef VK_NV_memory_decompression + case OP_vkCmdDecompressMemoryIndirectCountNV: { + return "OP_vkCmdDecompressMemoryIndirectCountNV"; + } +#endif #ifdef VK_EXT_multi_draw case OP_vkCmdDrawMultiIndexedEXT: { return "OP_vkCmdDrawMultiIndexedEXT"; @@ -40876,6 +50802,11 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkCreateIndirectCommandsLayoutNV"; } #endif +#ifdef VK_EXT_mesh_shader + case OP_vkCmdDrawMeshTasksEXT: { + return "OP_vkCmdDrawMeshTasksEXT"; + } +#endif #ifdef VK_EXT_directfb_surface case OP_vkGetPhysicalDeviceDirectFBPresentationSupportEXT: { return "OP_vkGetPhysicalDeviceDirectFBPresentationSupportEXT"; @@ -40886,31 +50817,94 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkGetBufferOpaqueCaptureAddressKHR"; } #endif +#ifdef VK_EXT_extended_dynamic_state3 + case OP_vkCmdSetCoverageModulationTableEnableNV: { + return "OP_vkCmdSetCoverageModulationTableEnableNV"; + } +#endif #ifdef VK_EXT_extended_dynamic_state case OP_vkCmdSetStencilTestEnableEXT: { return "OP_vkCmdSetStencilTestEnableEXT"; } #endif +#ifdef VK_EXT_attachment_feedback_loop_dynamic_state + case OP_vkCmdSetAttachmentFeedbackLoopEnableEXT: { + return "OP_vkCmdSetAttachmentFeedbackLoopEnableEXT"; + } +#endif +#ifdef VK_VERSION_1_3 + case OP_vkCmdSetStencilTestEnable: { + return "OP_vkCmdSetStencilTestEnable"; + } + case OP_vkGetPhysicalDeviceToolProperties: { + return "OP_vkGetPhysicalDeviceToolProperties"; + } +#endif #ifdef VK_NV_cooperative_matrix case OP_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV: { return "OP_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV"; } #endif +#ifdef VK_ANDROID_native_buffer + case OP_vkGetSwapchainGrallocUsage2ANDROID: { + return "OP_vkGetSwapchainGrallocUsage2ANDROID"; + } +#endif +#ifdef VK_EXT_opacity_micromap + case OP_vkCmdCopyMicromapEXT: { + return "OP_vkCmdCopyMicromapEXT"; + } +#endif +#ifdef VK_EXT_shader_module_identifier + case OP_vkGetShaderModuleIdentifierEXT: { + return "OP_vkGetShaderModuleIdentifierEXT"; + } +#endif +#ifdef VK_EXT_descriptor_buffer + case OP_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT: { + return "OP_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT"; + } +#endif #ifdef VK_KHR_acceleration_structure case OP_vkWriteAccelerationStructuresPropertiesKHR: { return "OP_vkWriteAccelerationStructuresPropertiesKHR"; } #endif +#ifdef VK_EXT_extended_dynamic_state3 + case OP_vkCmdSetAlphaToOneEnableEXT: { + return "OP_vkCmdSetAlphaToOneEnableEXT"; + } +#endif #ifdef VK_GOOGLE_gfxstream case OP_vkQueueFlushCommandsFromAuxMemoryGOOGLE: { return "OP_vkQueueFlushCommandsFromAuxMemoryGOOGLE"; } #endif +#ifdef VK_EXT_opacity_micromap + case OP_vkGetMicromapBuildSizesEXT: { + return "OP_vkGetMicromapBuildSizesEXT"; + } +#endif +#ifdef VK_NV_scissor_exclusive + case OP_vkCmdSetExclusiveScissorEnableNV: { + return "OP_vkCmdSetExclusiveScissorEnableNV"; + } +#endif +#ifdef VK_NV_optical_flow + case OP_vkGetPhysicalDeviceOpticalFlowImageFormatsNV: { + return "OP_vkGetPhysicalDeviceOpticalFlowImageFormatsNV"; + } +#endif #ifdef VK_EXT_private_data case OP_vkGetPrivateDataEXT: { return "OP_vkGetPrivateDataEXT"; } #endif +#ifdef VK_EXT_extended_dynamic_state3 + case OP_vkCmdSetExtraPrimitiveOverestimationSizeEXT: { + return "OP_vkCmdSetExtraPrimitiveOverestimationSizeEXT"; + } +#endif #ifdef VK_NV_coverage_reduction_mode case OP_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV: { return "OP_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV"; @@ -40921,6 +50915,11 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkGetQueueCheckpointData2NV"; } #endif +#ifdef VK_EXT_opacity_micromap + case OP_vkCopyMemoryToMicromapEXT: { + return "OP_vkCopyMemoryToMicromapEXT"; + } +#endif #ifdef VK_NV_device_generated_commands case OP_vkDestroyIndirectCommandsLayoutNV: { return "OP_vkDestroyIndirectCommandsLayoutNV"; @@ -40931,6 +50930,19 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkQueueSubmit2KHR"; } #endif +#ifdef VK_EXT_extended_dynamic_state3 + case OP_vkCmdSetConservativeRasterizationModeEXT: { + return "OP_vkCmdSetConservativeRasterizationModeEXT"; + } + case OP_vkCmdSetLineRasterizationModeEXT: { + return "OP_vkCmdSetLineRasterizationModeEXT"; + } +#endif +#ifdef VK_VERSION_1_3 + case OP_vkGetDeviceBufferMemoryRequirements: { + return "OP_vkGetDeviceBufferMemoryRequirements"; + } +#endif #ifdef VK_NV_acquire_winrt_display case OP_vkGetWinrtDisplayNV: { return "OP_vkGetWinrtDisplayNV"; @@ -40941,6 +50953,11 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkCmdBeginTransformFeedbackEXT"; } #endif +#ifdef VK_VERSION_1_3 + case OP_vkCmdBeginRendering: { + return "OP_vkCmdBeginRendering"; + } +#endif #ifdef VK_KHR_buffer_device_address case OP_vkGetDeviceMemoryOpaqueCaptureAddressKHR: { return "OP_vkGetDeviceMemoryOpaqueCaptureAddressKHR"; @@ -40951,6 +50968,11 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkQueueSetPerformanceConfigurationINTEL"; } #endif +#ifdef VK_EXT_extended_dynamic_state3 + case OP_vkCmdSetColorBlendEnableEXT: { + return "OP_vkCmdSetColorBlendEnableEXT"; + } +#endif #ifdef VK_EXT_calibrated_timestamps case OP_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT: { return "OP_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT"; @@ -40966,6 +50988,21 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkUninitializePerformanceApiINTEL"; } #endif +#ifdef VK_EXT_image_compression_control + case OP_vkGetImageSubresourceLayout2EXT: { + return "OP_vkGetImageSubresourceLayout2EXT"; + } +#endif +#ifdef VK_VALVE_descriptor_set_host_mapping + case OP_vkGetDescriptorSetLayoutHostMappingInfoVALVE: { + return "OP_vkGetDescriptorSetLayoutHostMappingInfoVALVE"; + } +#endif +#ifdef VK_VERSION_1_3 + case OP_vkCmdPipelineBarrier2: { + return "OP_vkCmdPipelineBarrier2"; + } +#endif #ifdef VK_NV_device_generated_commands case OP_vkCmdPreprocessGeneratedCommandsNV: { return "OP_vkCmdPreprocessGeneratedCommandsNV"; @@ -41001,6 +51038,11 @@ const char* api_opcode_to_string(const uint32_t opcode) { return "OP_vkCmdSetPrimitiveRestartEnableEXT"; } #endif +#ifdef VK_EXT_extended_dynamic_state3 + case OP_vkCmdSetShadingRateImageEnableNV: { + return "OP_vkCmdSetShadingRateImageEnableNV"; + } +#endif default: { return "OP_UNKNOWN_API_CALL"; } |