blob: 734b309565490ef5f8ec8c996000b6d76bb81483 [file] [log] [blame]
// Copyright (C) 2018 The Android Open Source Project
// Copyright (C) 2018 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Autogenerated module goldfish_vk_marshaling
//
// (impl) generated by codegen/vulkan/vulkan-docs-next/scripts/genvk.py -registry
// codegen/vulkan/vulkan-docs-next/xml/vk.xml -registryGfxstream
// codegen/vulkan/vulkan-docs-next/xml/vk_gfxstream.xml cereal -o host/vulkan/cereal
//
// Please do not modify directly;
// re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
// or directly from Python by defining:
// VULKAN_REGISTRY_XML_DIR : Directory containing vk.xml
// VULKAN_REGISTRY_SCRIPTS_DIR : Directory containing genvk.py
// CEREAL_OUTPUT_DIR: Where to put the generated sources.
//
// python3 $VULKAN_REGISTRY_SCRIPTS_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o
// $CEREAL_OUTPUT_DIR
//
#include "goldfish_vk_marshaling.h"
#include <string.h>
#include "goldfish_vk_extension_structs.h"
#include "goldfish_vk_private_defs.h"
namespace gfxstream {
namespace vk {
void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType,
const void* structExtension);
void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType,
void* structExtension_out);
#ifdef VK_VERSION_1_0
void marshal_VkExtent2D(VulkanStream* vkStream, VkStructureType rootType,
const VkExtent2D* forMarshaling) {
(void)rootType;
vkStream->write((uint32_t*)&forMarshaling->width, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->height, sizeof(uint32_t));
}
void unmarshal_VkExtent2D(VulkanStream* vkStream, VkStructureType rootType,
VkExtent2D* forUnmarshaling) {
(void)rootType;
vkStream->read((uint32_t*)&forUnmarshaling->width, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->height, sizeof(uint32_t));
}
void marshal_VkExtent3D(VulkanStream* vkStream, VkStructureType rootType,
const VkExtent3D* forMarshaling) {
(void)rootType;
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_VkExtent3D(VulkanStream* vkStream, VkStructureType rootType,
VkExtent3D* forUnmarshaling) {
(void)rootType;
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));
}
void marshal_VkOffset2D(VulkanStream* vkStream, VkStructureType rootType,
const VkOffset2D* forMarshaling) {
(void)rootType;
vkStream->write((int32_t*)&forMarshaling->x, sizeof(int32_t));
vkStream->write((int32_t*)&forMarshaling->y, sizeof(int32_t));
}
void unmarshal_VkOffset2D(VulkanStream* vkStream, VkStructureType rootType,
VkOffset2D* forUnmarshaling) {
(void)rootType;
vkStream->read((int32_t*)&forUnmarshaling->x, sizeof(int32_t));
vkStream->read((int32_t*)&forUnmarshaling->y, sizeof(int32_t));
}
void marshal_VkOffset3D(VulkanStream* vkStream, VkStructureType rootType,
const VkOffset3D* forMarshaling) {
(void)rootType;
vkStream->write((int32_t*)&forMarshaling->x, sizeof(int32_t));
vkStream->write((int32_t*)&forMarshaling->y, sizeof(int32_t));
vkStream->write((int32_t*)&forMarshaling->z, sizeof(int32_t));
}
void unmarshal_VkOffset3D(VulkanStream* vkStream, VkStructureType rootType,
VkOffset3D* forUnmarshaling) {
(void)rootType;
vkStream->read((int32_t*)&forUnmarshaling->x, sizeof(int32_t));
vkStream->read((int32_t*)&forUnmarshaling->y, sizeof(int32_t));
vkStream->read((int32_t*)&forUnmarshaling->z, sizeof(int32_t));
}
void marshal_VkRect2D(VulkanStream* vkStream, VkStructureType rootType,
const VkRect2D* forMarshaling) {
(void)rootType;
marshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forMarshaling->offset));
marshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->extent));
}
void unmarshal_VkRect2D(VulkanStream* vkStream, VkStructureType rootType,
VkRect2D* forUnmarshaling) {
(void)rootType;
unmarshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forUnmarshaling->offset));
unmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forUnmarshaling->extent));
}
void marshal_VkBaseInStructure(VulkanStream* vkStream, VkStructureType rootType,
const VkBaseInStructure* forMarshaling) {
(void)rootType;
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_VkBaseInStructure(VulkanStream* vkStream, VkStructureType rootType,
VkBaseInStructure* 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((VkBaseInStructure*)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_VkBaseOutStructure(VulkanStream* vkStream, VkStructureType rootType,
const VkBaseOutStructure* forMarshaling) {
(void)rootType;
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_VkBaseOutStructure(VulkanStream* vkStream, VkStructureType rootType,
VkBaseOutStructure* 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((VkBaseOutStructure*)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_VkBufferMemoryBarrier(VulkanStream* vkStream, VkStructureType rootType,
const VkBufferMemoryBarrier* forMarshaling) {
(void)rootType;
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((VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
vkStream->write((VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
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_VkBufferMemoryBarrier(VulkanStream* vkStream, VkStructureType rootType,
VkBufferMemoryBarrier* 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((VkAccessFlags*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags));
vkStream->read((VkAccessFlags*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags));
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_VkDispatchIndirectCommand(VulkanStream* vkStream, VkStructureType rootType,
const VkDispatchIndirectCommand* forMarshaling) {
(void)rootType;
vkStream->write((uint32_t*)&forMarshaling->x, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->y, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->z, sizeof(uint32_t));
}
void unmarshal_VkDispatchIndirectCommand(VulkanStream* vkStream, VkStructureType rootType,
VkDispatchIndirectCommand* forUnmarshaling) {
(void)rootType;
vkStream->read((uint32_t*)&forUnmarshaling->x, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->y, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->z, sizeof(uint32_t));
}
void marshal_VkDrawIndexedIndirectCommand(VulkanStream* vkStream, VkStructureType rootType,
const VkDrawIndexedIndirectCommand* forMarshaling) {
(void)rootType;
vkStream->write((uint32_t*)&forMarshaling->indexCount, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->instanceCount, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->firstIndex, sizeof(uint32_t));
vkStream->write((int32_t*)&forMarshaling->vertexOffset, sizeof(int32_t));
vkStream->write((uint32_t*)&forMarshaling->firstInstance, sizeof(uint32_t));
}
void unmarshal_VkDrawIndexedIndirectCommand(VulkanStream* vkStream, VkStructureType rootType,
VkDrawIndexedIndirectCommand* forUnmarshaling) {
(void)rootType;
vkStream->read((uint32_t*)&forUnmarshaling->indexCount, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->instanceCount, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->firstIndex, sizeof(uint32_t));
vkStream->read((int32_t*)&forUnmarshaling->vertexOffset, sizeof(int32_t));
vkStream->read((uint32_t*)&forUnmarshaling->firstInstance, sizeof(uint32_t));
}
void marshal_VkDrawIndirectCommand(VulkanStream* vkStream, VkStructureType rootType,
const VkDrawIndirectCommand* forMarshaling) {
(void)rootType;
vkStream->write((uint32_t*)&forMarshaling->vertexCount, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->instanceCount, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->firstVertex, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->firstInstance, sizeof(uint32_t));
}
void unmarshal_VkDrawIndirectCommand(VulkanStream* vkStream, VkStructureType rootType,
VkDrawIndirectCommand* forUnmarshaling) {
(void)rootType;
vkStream->read((uint32_t*)&forUnmarshaling->vertexCount, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->instanceCount, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->firstVertex, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->firstInstance, sizeof(uint32_t));
}
void marshal_VkImageSubresourceRange(VulkanStream* vkStream, VkStructureType rootType,
const VkImageSubresourceRange* forMarshaling) {
(void)rootType;
vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
vkStream->write((uint32_t*)&forMarshaling->baseMipLevel, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->levelCount, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->baseArrayLayer, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t));
}
void unmarshal_VkImageSubresourceRange(VulkanStream* vkStream, VkStructureType rootType,
VkImageSubresourceRange* forUnmarshaling) {
(void)rootType;
vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags));
vkStream->read((uint32_t*)&forUnmarshaling->baseMipLevel, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->levelCount, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->baseArrayLayer, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->layerCount, sizeof(uint32_t));
}
void marshal_VkImageMemoryBarrier(VulkanStream* vkStream, VkStructureType rootType,
const VkImageMemoryBarrier* forMarshaling) {
(void)rootType;
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((VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
vkStream->write((VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
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_VkImageMemoryBarrier(VulkanStream* vkStream, VkStructureType rootType,
VkImageMemoryBarrier* 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((VkAccessFlags*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags));
vkStream->read((VkAccessFlags*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags));
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_VkMemoryBarrier(VulkanStream* vkStream, VkStructureType rootType,
const VkMemoryBarrier* forMarshaling) {
(void)rootType;
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((VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
vkStream->write((VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
}
void unmarshal_VkMemoryBarrier(VulkanStream* vkStream, VkStructureType rootType,
VkMemoryBarrier* 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((VkAccessFlags*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags));
vkStream->read((VkAccessFlags*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags));
}
void marshal_VkPipelineCacheHeaderVersionOne(VulkanStream* vkStream, VkStructureType rootType,
const VkPipelineCacheHeaderVersionOne* forMarshaling) {
(void)rootType;
vkStream->write((uint32_t*)&forMarshaling->headerSize, sizeof(uint32_t));
vkStream->write((VkPipelineCacheHeaderVersion*)&forMarshaling->headerVersion,
sizeof(VkPipelineCacheHeaderVersion));
vkStream->write((uint32_t*)&forMarshaling->vendorID, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->deviceID, sizeof(uint32_t));
vkStream->write((uint8_t*)forMarshaling->pipelineCacheUUID, VK_UUID_SIZE * sizeof(uint8_t));
}
void unmarshal_VkPipelineCacheHeaderVersionOne(VulkanStream* vkStream, VkStructureType rootType,
VkPipelineCacheHeaderVersionOne* forUnmarshaling) {
(void)rootType;
vkStream->read((uint32_t*)&forUnmarshaling->headerSize, sizeof(uint32_t));
vkStream->read((VkPipelineCacheHeaderVersion*)&forUnmarshaling->headerVersion,
sizeof(VkPipelineCacheHeaderVersion));
vkStream->read((uint32_t*)&forUnmarshaling->vendorID, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->deviceID, sizeof(uint32_t));
vkStream->read((uint8_t*)forUnmarshaling->pipelineCacheUUID, VK_UUID_SIZE * sizeof(uint8_t));
}
void marshal_VkAllocationCallbacks(VulkanStream* vkStream, VkStructureType rootType,
const VkAllocationCallbacks* forMarshaling) {
(void)rootType;
// WARNING PTR CHECK
uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pUserData;
vkStream->putBe64(cgen_var_0);
if (forMarshaling->pUserData) {
vkStream->write((void*)forMarshaling->pUserData, sizeof(uint8_t));
}
uint64_t cgen_var_1 = (uint64_t)forMarshaling->pfnAllocation;
vkStream->putBe64(cgen_var_1);
uint64_t cgen_var_2 = (uint64_t)forMarshaling->pfnReallocation;
vkStream->putBe64(cgen_var_2);
uint64_t cgen_var_3 = (uint64_t)forMarshaling->pfnFree;
vkStream->putBe64(cgen_var_3);
uint64_t cgen_var_4 = (uint64_t)forMarshaling->pfnInternalAllocation;
vkStream->putBe64(cgen_var_4);
uint64_t cgen_var_5 = (uint64_t)forMarshaling->pfnInternalFree;
vkStream->putBe64(cgen_var_5);
}
void unmarshal_VkAllocationCallbacks(VulkanStream* vkStream, VkStructureType rootType,
VkAllocationCallbacks* forUnmarshaling) {
(void)rootType;
// WARNING PTR CHECK
forUnmarshaling->pUserData = (void*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pUserData) {
vkStream->alloc((void**)&forUnmarshaling->pUserData, sizeof(uint8_t));
vkStream->read((void*)forUnmarshaling->pUserData, sizeof(uint8_t));
}
forUnmarshaling->pfnAllocation = (PFN_vkAllocationFunction)vkStream->getBe64();
forUnmarshaling->pfnReallocation = (PFN_vkReallocationFunction)vkStream->getBe64();
forUnmarshaling->pfnFree = (PFN_vkFreeFunction)vkStream->getBe64();
forUnmarshaling->pfnInternalAllocation =
(PFN_vkInternalAllocationNotification)vkStream->getBe64();
forUnmarshaling->pfnInternalFree = (PFN_vkInternalFreeNotification)vkStream->getBe64();
}
void marshal_VkApplicationInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkApplicationInfo* forMarshaling) {
(void)rootType;
vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forMarshaling->sType;
}
marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
// WARNING PTR CHECK
uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pApplicationName;
vkStream->putBe64(cgen_var_0);
if (forMarshaling->pApplicationName) {
vkStream->putString(forMarshaling->pApplicationName);
}
} else {
vkStream->putString(forMarshaling->pApplicationName);
}
vkStream->write((uint32_t*)&forMarshaling->applicationVersion, sizeof(uint32_t));
if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
// WARNING PTR CHECK
uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pEngineName;
vkStream->putBe64(cgen_var_0);
if (forMarshaling->pEngineName) {
vkStream->putString(forMarshaling->pEngineName);
}
} else {
vkStream->putString(forMarshaling->pEngineName);
}
vkStream->write((uint32_t*)&forMarshaling->engineVersion, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->apiVersion, sizeof(uint32_t));
}
void unmarshal_VkApplicationInfo(VulkanStream* vkStream, VkStructureType rootType,
VkApplicationInfo* 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));
}
if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
// WARNING PTR CHECK
forUnmarshaling->pApplicationName = (const char*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pApplicationName) {
vkStream->loadStringInPlace((char**)&forUnmarshaling->pApplicationName);
}
} else {
vkStream->loadStringInPlace((char**)&forUnmarshaling->pApplicationName);
}
vkStream->read((uint32_t*)&forUnmarshaling->applicationVersion, sizeof(uint32_t));
if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
// WARNING PTR CHECK
forUnmarshaling->pEngineName = (const char*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pEngineName) {
vkStream->loadStringInPlace((char**)&forUnmarshaling->pEngineName);
}
} else {
vkStream->loadStringInPlace((char**)&forUnmarshaling->pEngineName);
}
vkStream->read((uint32_t*)&forUnmarshaling->engineVersion, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->apiVersion, sizeof(uint32_t));
}
void marshal_VkFormatProperties(VulkanStream* vkStream, VkStructureType rootType,
const VkFormatProperties* forMarshaling) {
(void)rootType;
vkStream->write((VkFormatFeatureFlags*)&forMarshaling->linearTilingFeatures,
sizeof(VkFormatFeatureFlags));
vkStream->write((VkFormatFeatureFlags*)&forMarshaling->optimalTilingFeatures,
sizeof(VkFormatFeatureFlags));
vkStream->write((VkFormatFeatureFlags*)&forMarshaling->bufferFeatures,
sizeof(VkFormatFeatureFlags));
}
void unmarshal_VkFormatProperties(VulkanStream* vkStream, VkStructureType rootType,
VkFormatProperties* forUnmarshaling) {
(void)rootType;
vkStream->read((VkFormatFeatureFlags*)&forUnmarshaling->linearTilingFeatures,
sizeof(VkFormatFeatureFlags));
vkStream->read((VkFormatFeatureFlags*)&forUnmarshaling->optimalTilingFeatures,
sizeof(VkFormatFeatureFlags));
vkStream->read((VkFormatFeatureFlags*)&forUnmarshaling->bufferFeatures,
sizeof(VkFormatFeatureFlags));
}
void marshal_VkImageFormatProperties(VulkanStream* vkStream, VkStructureType rootType,
const VkImageFormatProperties* forMarshaling) {
(void)rootType;
marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->maxExtent));
vkStream->write((uint32_t*)&forMarshaling->maxMipLevels, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxArrayLayers, sizeof(uint32_t));
vkStream->write((VkSampleCountFlags*)&forMarshaling->sampleCounts, sizeof(VkSampleCountFlags));
vkStream->write((VkDeviceSize*)&forMarshaling->maxResourceSize, sizeof(VkDeviceSize));
}
void unmarshal_VkImageFormatProperties(VulkanStream* vkStream, VkStructureType rootType,
VkImageFormatProperties* forUnmarshaling) {
(void)rootType;
unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->maxExtent));
vkStream->read((uint32_t*)&forUnmarshaling->maxMipLevels, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxArrayLayers, sizeof(uint32_t));
vkStream->read((VkSampleCountFlags*)&forUnmarshaling->sampleCounts, sizeof(VkSampleCountFlags));
vkStream->read((VkDeviceSize*)&forUnmarshaling->maxResourceSize, sizeof(VkDeviceSize));
}
void marshal_VkInstanceCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkInstanceCreateInfo* forMarshaling) {
(void)rootType;
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((VkInstanceCreateFlags*)&forMarshaling->flags, sizeof(VkInstanceCreateFlags));
// WARNING PTR CHECK
uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pApplicationInfo;
vkStream->putBe64(cgen_var_0);
if (forMarshaling->pApplicationInfo) {
marshal_VkApplicationInfo(vkStream, rootType,
(const VkApplicationInfo*)(forMarshaling->pApplicationInfo));
}
vkStream->write((uint32_t*)&forMarshaling->enabledLayerCount, sizeof(uint32_t));
saveStringArray(vkStream, forMarshaling->ppEnabledLayerNames, forMarshaling->enabledLayerCount);
vkStream->write((uint32_t*)&forMarshaling->enabledExtensionCount, sizeof(uint32_t));
saveStringArray(vkStream, forMarshaling->ppEnabledExtensionNames,
forMarshaling->enabledExtensionCount);
}
void unmarshal_VkInstanceCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkInstanceCreateInfo* 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((VkInstanceCreateFlags*)&forUnmarshaling->flags, sizeof(VkInstanceCreateFlags));
// WARNING PTR CHECK
forUnmarshaling->pApplicationInfo = (const VkApplicationInfo*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pApplicationInfo) {
vkStream->alloc((void**)&forUnmarshaling->pApplicationInfo,
sizeof(const VkApplicationInfo));
unmarshal_VkApplicationInfo(vkStream, rootType,
(VkApplicationInfo*)(forUnmarshaling->pApplicationInfo));
}
vkStream->read((uint32_t*)&forUnmarshaling->enabledLayerCount, sizeof(uint32_t));
vkStream->loadStringArrayInPlace((char***)&forUnmarshaling->ppEnabledLayerNames);
vkStream->read((uint32_t*)&forUnmarshaling->enabledExtensionCount, sizeof(uint32_t));
vkStream->loadStringArrayInPlace((char***)&forUnmarshaling->ppEnabledExtensionNames);
}
void marshal_VkMemoryHeap(VulkanStream* vkStream, VkStructureType rootType,
const VkMemoryHeap* forMarshaling) {
(void)rootType;
vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
vkStream->write((VkMemoryHeapFlags*)&forMarshaling->flags, sizeof(VkMemoryHeapFlags));
}
void unmarshal_VkMemoryHeap(VulkanStream* vkStream, VkStructureType rootType,
VkMemoryHeap* forUnmarshaling) {
(void)rootType;
vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
vkStream->read((VkMemoryHeapFlags*)&forUnmarshaling->flags, sizeof(VkMemoryHeapFlags));
}
void marshal_VkMemoryType(VulkanStream* vkStream, VkStructureType rootType,
const VkMemoryType* forMarshaling) {
(void)rootType;
vkStream->write((VkMemoryPropertyFlags*)&forMarshaling->propertyFlags,
sizeof(VkMemoryPropertyFlags));
vkStream->write((uint32_t*)&forMarshaling->heapIndex, sizeof(uint32_t));
}
void unmarshal_VkMemoryType(VulkanStream* vkStream, VkStructureType rootType,
VkMemoryType* forUnmarshaling) {
(void)rootType;
vkStream->read((VkMemoryPropertyFlags*)&forUnmarshaling->propertyFlags,
sizeof(VkMemoryPropertyFlags));
vkStream->read((uint32_t*)&forUnmarshaling->heapIndex, sizeof(uint32_t));
}
void marshal_VkPhysicalDeviceFeatures(VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceFeatures* forMarshaling) {
(void)rootType;
vkStream->write((VkBool32*)&forMarshaling->robustBufferAccess, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->fullDrawIndexUint32, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->imageCubeArray, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->independentBlend, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->geometryShader, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->tessellationShader, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->sampleRateShading, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->dualSrcBlend, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->logicOp, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->multiDrawIndirect, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->drawIndirectFirstInstance, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->depthClamp, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->depthBiasClamp, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->fillModeNonSolid, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->depthBounds, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->wideLines, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->largePoints, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->alphaToOne, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->multiViewport, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->samplerAnisotropy, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->textureCompressionETC2, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->textureCompressionASTC_LDR, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->textureCompressionBC, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->occlusionQueryPrecise, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->pipelineStatisticsQuery, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->vertexPipelineStoresAndAtomics, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->fragmentStoresAndAtomics, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderTessellationAndGeometryPointSize,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderImageGatherExtended, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageExtendedFormats, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageMultisample, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageReadWithoutFormat,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageWriteWithoutFormat,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderUniformBufferArrayDynamicIndexing,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderSampledImageArrayDynamicIndexing,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderStorageBufferArrayDynamicIndexing,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageArrayDynamicIndexing,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderClipDistance, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderCullDistance, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderFloat64, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderInt64, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderInt16, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderResourceResidency, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderResourceMinLod, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->sparseBinding, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->sparseResidencyBuffer, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->sparseResidencyImage2D, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->sparseResidencyImage3D, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->sparseResidency2Samples, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->sparseResidency4Samples, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->sparseResidency8Samples, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->sparseResidency16Samples, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->sparseResidencyAliased, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->variableMultisampleRate, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->inheritedQueries, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceFeatures(VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceFeatures* forUnmarshaling) {
(void)rootType;
vkStream->read((VkBool32*)&forUnmarshaling->robustBufferAccess, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->fullDrawIndexUint32, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->imageCubeArray, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->independentBlend, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->geometryShader, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->tessellationShader, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->sampleRateShading, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->dualSrcBlend, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->logicOp, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->multiDrawIndirect, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->drawIndirectFirstInstance, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->depthClamp, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->depthBiasClamp, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->fillModeNonSolid, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->depthBounds, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->wideLines, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->largePoints, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->alphaToOne, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->multiViewport, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->samplerAnisotropy, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->textureCompressionETC2, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->textureCompressionASTC_LDR, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->textureCompressionBC, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->occlusionQueryPrecise, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->pipelineStatisticsQuery, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->vertexPipelineStoresAndAtomics, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->fragmentStoresAndAtomics, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderTessellationAndGeometryPointSize,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderImageGatherExtended, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageExtendedFormats,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageMultisample, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageReadWithoutFormat,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageWriteWithoutFormat,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformBufferArrayDynamicIndexing,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderSampledImageArrayDynamicIndexing,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageBufferArrayDynamicIndexing,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageArrayDynamicIndexing,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderClipDistance, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderCullDistance, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderFloat64, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderInt64, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderInt16, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderResourceResidency, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderResourceMinLod, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->sparseBinding, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->sparseResidencyBuffer, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->sparseResidencyImage2D, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->sparseResidencyImage3D, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->sparseResidency2Samples, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->sparseResidency4Samples, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->sparseResidency8Samples, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->sparseResidency16Samples, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->sparseResidencyAliased, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->variableMultisampleRate, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->inheritedQueries, sizeof(VkBool32));
}
void marshal_VkPhysicalDeviceLimits(VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceLimits* forMarshaling) {
(void)rootType;
vkStream->write((uint32_t*)&forMarshaling->maxImageDimension1D, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxImageDimension2D, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxImageDimension3D, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxImageDimensionCube, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxImageArrayLayers, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxTexelBufferElements, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxUniformBufferRange, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxStorageBufferRange, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxPushConstantsSize, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxMemoryAllocationCount, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxSamplerAllocationCount, sizeof(uint32_t));
vkStream->write((VkDeviceSize*)&forMarshaling->bufferImageGranularity, sizeof(VkDeviceSize));
vkStream->write((VkDeviceSize*)&forMarshaling->sparseAddressSpaceSize, sizeof(VkDeviceSize));
vkStream->write((uint32_t*)&forMarshaling->maxBoundDescriptorSets, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorSamplers, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUniformBuffers,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorStorageBuffers,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorSampledImages,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorStorageImages,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorInputAttachments,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxPerStageResources, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetSamplers, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUniformBuffers, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUniformBuffersDynamic,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetStorageBuffers, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetStorageBuffersDynamic,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetSampledImages, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetStorageImages, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetInputAttachments, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxVertexInputAttributes, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxVertexInputBindings, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxVertexInputAttributeOffset, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxVertexInputBindingStride, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxVertexOutputComponents, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxTessellationGenerationLevel, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxTessellationPatchSize, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxTessellationControlPerVertexInputComponents,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxTessellationControlPerVertexOutputComponents,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxTessellationControlPerPatchOutputComponents,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxTessellationControlTotalOutputComponents,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxTessellationEvaluationInputComponents,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxTessellationEvaluationOutputComponents,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxGeometryShaderInvocations, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxGeometryInputComponents, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxGeometryOutputComponents, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxGeometryOutputVertices, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxGeometryTotalOutputComponents, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxFragmentInputComponents, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxFragmentOutputAttachments, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxFragmentDualSrcAttachments, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxFragmentCombinedOutputResources,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxComputeSharedMemorySize, sizeof(uint32_t));
vkStream->write((uint32_t*)forMarshaling->maxComputeWorkGroupCount, 3 * sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxComputeWorkGroupInvocations, sizeof(uint32_t));
vkStream->write((uint32_t*)forMarshaling->maxComputeWorkGroupSize, 3 * sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->subPixelPrecisionBits, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->subTexelPrecisionBits, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->mipmapPrecisionBits, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxDrawIndexedIndexValue, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxDrawIndirectCount, sizeof(uint32_t));
vkStream->write((float*)&forMarshaling->maxSamplerLodBias, sizeof(float));
vkStream->write((float*)&forMarshaling->maxSamplerAnisotropy, sizeof(float));
vkStream->write((uint32_t*)&forMarshaling->maxViewports, sizeof(uint32_t));
vkStream->write((uint32_t*)forMarshaling->maxViewportDimensions, 2 * sizeof(uint32_t));
vkStream->write((float*)forMarshaling->viewportBoundsRange, 2 * sizeof(float));
vkStream->write((uint32_t*)&forMarshaling->viewportSubPixelBits, sizeof(uint32_t));
uint64_t cgen_var_0 = (uint64_t)forMarshaling->minMemoryMapAlignment;
vkStream->putBe64(cgen_var_0);
vkStream->write((VkDeviceSize*)&forMarshaling->minTexelBufferOffsetAlignment,
sizeof(VkDeviceSize));
vkStream->write((VkDeviceSize*)&forMarshaling->minUniformBufferOffsetAlignment,
sizeof(VkDeviceSize));
vkStream->write((VkDeviceSize*)&forMarshaling->minStorageBufferOffsetAlignment,
sizeof(VkDeviceSize));
vkStream->write((int32_t*)&forMarshaling->minTexelOffset, sizeof(int32_t));
vkStream->write((uint32_t*)&forMarshaling->maxTexelOffset, sizeof(uint32_t));
vkStream->write((int32_t*)&forMarshaling->minTexelGatherOffset, sizeof(int32_t));
vkStream->write((uint32_t*)&forMarshaling->maxTexelGatherOffset, sizeof(uint32_t));
vkStream->write((float*)&forMarshaling->minInterpolationOffset, sizeof(float));
vkStream->write((float*)&forMarshaling->maxInterpolationOffset, sizeof(float));
vkStream->write((uint32_t*)&forMarshaling->subPixelInterpolationOffsetBits, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxFramebufferWidth, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxFramebufferHeight, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxFramebufferLayers, sizeof(uint32_t));
vkStream->write((VkSampleCountFlags*)&forMarshaling->framebufferColorSampleCounts,
sizeof(VkSampleCountFlags));
vkStream->write((VkSampleCountFlags*)&forMarshaling->framebufferDepthSampleCounts,
sizeof(VkSampleCountFlags));
vkStream->write((VkSampleCountFlags*)&forMarshaling->framebufferStencilSampleCounts,
sizeof(VkSampleCountFlags));
vkStream->write((VkSampleCountFlags*)&forMarshaling->framebufferNoAttachmentsSampleCounts,
sizeof(VkSampleCountFlags));
vkStream->write((uint32_t*)&forMarshaling->maxColorAttachments, sizeof(uint32_t));
vkStream->write((VkSampleCountFlags*)&forMarshaling->sampledImageColorSampleCounts,
sizeof(VkSampleCountFlags));
vkStream->write((VkSampleCountFlags*)&forMarshaling->sampledImageIntegerSampleCounts,
sizeof(VkSampleCountFlags));
vkStream->write((VkSampleCountFlags*)&forMarshaling->sampledImageDepthSampleCounts,
sizeof(VkSampleCountFlags));
vkStream->write((VkSampleCountFlags*)&forMarshaling->sampledImageStencilSampleCounts,
sizeof(VkSampleCountFlags));
vkStream->write((VkSampleCountFlags*)&forMarshaling->storageImageSampleCounts,
sizeof(VkSampleCountFlags));
vkStream->write((uint32_t*)&forMarshaling->maxSampleMaskWords, sizeof(uint32_t));
vkStream->write((VkBool32*)&forMarshaling->timestampComputeAndGraphics, sizeof(VkBool32));
vkStream->write((float*)&forMarshaling->timestampPeriod, sizeof(float));
vkStream->write((uint32_t*)&forMarshaling->maxClipDistances, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxCullDistances, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxCombinedClipAndCullDistances, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->discreteQueuePriorities, sizeof(uint32_t));
vkStream->write((float*)forMarshaling->pointSizeRange, 2 * sizeof(float));
vkStream->write((float*)forMarshaling->lineWidthRange, 2 * sizeof(float));
vkStream->write((float*)&forMarshaling->pointSizeGranularity, sizeof(float));
vkStream->write((float*)&forMarshaling->lineWidthGranularity, sizeof(float));
vkStream->write((VkBool32*)&forMarshaling->strictLines, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->standardSampleLocations, sizeof(VkBool32));
vkStream->write((VkDeviceSize*)&forMarshaling->optimalBufferCopyOffsetAlignment,
sizeof(VkDeviceSize));
vkStream->write((VkDeviceSize*)&forMarshaling->optimalBufferCopyRowPitchAlignment,
sizeof(VkDeviceSize));
vkStream->write((VkDeviceSize*)&forMarshaling->nonCoherentAtomSize, sizeof(VkDeviceSize));
}
void unmarshal_VkPhysicalDeviceLimits(VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceLimits* forUnmarshaling) {
(void)rootType;
vkStream->read((uint32_t*)&forUnmarshaling->maxImageDimension1D, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxImageDimension2D, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxImageDimension3D, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxImageDimensionCube, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxImageArrayLayers, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxTexelBufferElements, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxUniformBufferRange, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxStorageBufferRange, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxPushConstantsSize, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxMemoryAllocationCount, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxSamplerAllocationCount, sizeof(uint32_t));
vkStream->read((VkDeviceSize*)&forUnmarshaling->bufferImageGranularity, sizeof(VkDeviceSize));
vkStream->read((VkDeviceSize*)&forUnmarshaling->sparseAddressSpaceSize, sizeof(VkDeviceSize));
vkStream->read((uint32_t*)&forUnmarshaling->maxBoundDescriptorSets, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorSamplers, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUniformBuffers,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorStorageBuffers,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorSampledImages,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorStorageImages,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorInputAttachments,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageResources, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetSamplers, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUniformBuffers, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUniformBuffersDynamic,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetStorageBuffers, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetStorageBuffersDynamic,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetSampledImages, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetStorageImages, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetInputAttachments, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxVertexInputAttributes, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxVertexInputBindings, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxVertexInputAttributeOffset, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxVertexInputBindingStride, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxVertexOutputComponents, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationGenerationLevel, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationPatchSize, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationControlPerVertexInputComponents,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationControlPerVertexOutputComponents,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationControlPerPatchOutputComponents,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationControlTotalOutputComponents,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationEvaluationInputComponents,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationEvaluationOutputComponents,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxGeometryShaderInvocations, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxGeometryInputComponents, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxGeometryOutputComponents, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxGeometryOutputVertices, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxGeometryTotalOutputComponents, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxFragmentInputComponents, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxFragmentOutputAttachments, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxFragmentDualSrcAttachments, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxFragmentCombinedOutputResources,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxComputeSharedMemorySize, sizeof(uint32_t));
vkStream->read((uint32_t*)forUnmarshaling->maxComputeWorkGroupCount, 3 * sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxComputeWorkGroupInvocations, sizeof(uint32_t));
vkStream->read((uint32_t*)forUnmarshaling->maxComputeWorkGroupSize, 3 * sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->subPixelPrecisionBits, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->subTexelPrecisionBits, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->mipmapPrecisionBits, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxDrawIndexedIndexValue, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxDrawIndirectCount, sizeof(uint32_t));
vkStream->read((float*)&forUnmarshaling->maxSamplerLodBias, sizeof(float));
vkStream->read((float*)&forUnmarshaling->maxSamplerAnisotropy, sizeof(float));
vkStream->read((uint32_t*)&forUnmarshaling->maxViewports, sizeof(uint32_t));
vkStream->read((uint32_t*)forUnmarshaling->maxViewportDimensions, 2 * sizeof(uint32_t));
vkStream->read((float*)forUnmarshaling->viewportBoundsRange, 2 * sizeof(float));
vkStream->read((uint32_t*)&forUnmarshaling->viewportSubPixelBits, sizeof(uint32_t));
forUnmarshaling->minMemoryMapAlignment = (size_t)vkStream->getBe64();
vkStream->read((VkDeviceSize*)&forUnmarshaling->minTexelBufferOffsetAlignment,
sizeof(VkDeviceSize));
vkStream->read((VkDeviceSize*)&forUnmarshaling->minUniformBufferOffsetAlignment,
sizeof(VkDeviceSize));
vkStream->read((VkDeviceSize*)&forUnmarshaling->minStorageBufferOffsetAlignment,
sizeof(VkDeviceSize));
vkStream->read((int32_t*)&forUnmarshaling->minTexelOffset, sizeof(int32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxTexelOffset, sizeof(uint32_t));
vkStream->read((int32_t*)&forUnmarshaling->minTexelGatherOffset, sizeof(int32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxTexelGatherOffset, sizeof(uint32_t));
vkStream->read((float*)&forUnmarshaling->minInterpolationOffset, sizeof(float));
vkStream->read((float*)&forUnmarshaling->maxInterpolationOffset, sizeof(float));
vkStream->read((uint32_t*)&forUnmarshaling->subPixelInterpolationOffsetBits, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxFramebufferWidth, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxFramebufferHeight, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxFramebufferLayers, sizeof(uint32_t));
vkStream->read((VkSampleCountFlags*)&forUnmarshaling->framebufferColorSampleCounts,
sizeof(VkSampleCountFlags));
vkStream->read((VkSampleCountFlags*)&forUnmarshaling->framebufferDepthSampleCounts,
sizeof(VkSampleCountFlags));
vkStream->read((VkSampleCountFlags*)&forUnmarshaling->framebufferStencilSampleCounts,
sizeof(VkSampleCountFlags));
vkStream->read((VkSampleCountFlags*)&forUnmarshaling->framebufferNoAttachmentsSampleCounts,
sizeof(VkSampleCountFlags));
vkStream->read((uint32_t*)&forUnmarshaling->maxColorAttachments, sizeof(uint32_t));
vkStream->read((VkSampleCountFlags*)&forUnmarshaling->sampledImageColorSampleCounts,
sizeof(VkSampleCountFlags));
vkStream->read((VkSampleCountFlags*)&forUnmarshaling->sampledImageIntegerSampleCounts,
sizeof(VkSampleCountFlags));
vkStream->read((VkSampleCountFlags*)&forUnmarshaling->sampledImageDepthSampleCounts,
sizeof(VkSampleCountFlags));
vkStream->read((VkSampleCountFlags*)&forUnmarshaling->sampledImageStencilSampleCounts,
sizeof(VkSampleCountFlags));
vkStream->read((VkSampleCountFlags*)&forUnmarshaling->storageImageSampleCounts,
sizeof(VkSampleCountFlags));
vkStream->read((uint32_t*)&forUnmarshaling->maxSampleMaskWords, sizeof(uint32_t));
vkStream->read((VkBool32*)&forUnmarshaling->timestampComputeAndGraphics, sizeof(VkBool32));
vkStream->read((float*)&forUnmarshaling->timestampPeriod, sizeof(float));
vkStream->read((uint32_t*)&forUnmarshaling->maxClipDistances, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxCullDistances, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxCombinedClipAndCullDistances, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->discreteQueuePriorities, sizeof(uint32_t));
vkStream->read((float*)forUnmarshaling->pointSizeRange, 2 * sizeof(float));
vkStream->read((float*)forUnmarshaling->lineWidthRange, 2 * sizeof(float));
vkStream->read((float*)&forUnmarshaling->pointSizeGranularity, sizeof(float));
vkStream->read((float*)&forUnmarshaling->lineWidthGranularity, sizeof(float));
vkStream->read((VkBool32*)&forUnmarshaling->strictLines, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->standardSampleLocations, sizeof(VkBool32));
vkStream->read((VkDeviceSize*)&forUnmarshaling->optimalBufferCopyOffsetAlignment,
sizeof(VkDeviceSize));
vkStream->read((VkDeviceSize*)&forUnmarshaling->optimalBufferCopyRowPitchAlignment,
sizeof(VkDeviceSize));
vkStream->read((VkDeviceSize*)&forUnmarshaling->nonCoherentAtomSize, sizeof(VkDeviceSize));
}
void marshal_VkPhysicalDeviceMemoryProperties(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceMemoryProperties* forMarshaling) {
(void)rootType;
vkStream->write((uint32_t*)&forMarshaling->memoryTypeCount, sizeof(uint32_t));
for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_TYPES; ++i) {
marshal_VkMemoryType(vkStream, rootType, (VkMemoryType*)(forMarshaling->memoryTypes + i));
}
vkStream->write((uint32_t*)&forMarshaling->memoryHeapCount, sizeof(uint32_t));
for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_HEAPS; ++i) {
marshal_VkMemoryHeap(vkStream, rootType, (VkMemoryHeap*)(forMarshaling->memoryHeaps + i));
}
}
void unmarshal_VkPhysicalDeviceMemoryProperties(VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceMemoryProperties* forUnmarshaling) {
(void)rootType;
vkStream->read((uint32_t*)&forUnmarshaling->memoryTypeCount, sizeof(uint32_t));
for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_TYPES; ++i) {
unmarshal_VkMemoryType(vkStream, rootType,
(VkMemoryType*)(forUnmarshaling->memoryTypes + i));
}
vkStream->read((uint32_t*)&forUnmarshaling->memoryHeapCount, sizeof(uint32_t));
for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_HEAPS; ++i) {
unmarshal_VkMemoryHeap(vkStream, rootType,
(VkMemoryHeap*)(forUnmarshaling->memoryHeaps + i));
}
}
void marshal_VkPhysicalDeviceSparseProperties(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceSparseProperties* forMarshaling) {
(void)rootType;
vkStream->write((VkBool32*)&forMarshaling->residencyStandard2DBlockShape, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->residencyStandard2DMultisampleBlockShape,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->residencyStandard3DBlockShape, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->residencyAlignedMipSize, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->residencyNonResidentStrict, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceSparseProperties(VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceSparseProperties* forUnmarshaling) {
(void)rootType;
vkStream->read((VkBool32*)&forUnmarshaling->residencyStandard2DBlockShape, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->residencyStandard2DMultisampleBlockShape,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->residencyStandard3DBlockShape, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->residencyAlignedMipSize, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->residencyNonResidentStrict, sizeof(VkBool32));
}
void marshal_VkPhysicalDeviceProperties(VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceProperties* forMarshaling) {
(void)rootType;
vkStream->write((uint32_t*)&forMarshaling->apiVersion, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->driverVersion, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->vendorID, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->deviceID, sizeof(uint32_t));
vkStream->write((VkPhysicalDeviceType*)&forMarshaling->deviceType,
sizeof(VkPhysicalDeviceType));
vkStream->write((char*)forMarshaling->deviceName,
VK_MAX_PHYSICAL_DEVICE_NAME_SIZE * sizeof(char));
vkStream->write((uint8_t*)forMarshaling->pipelineCacheUUID, VK_UUID_SIZE * sizeof(uint8_t));
marshal_VkPhysicalDeviceLimits(vkStream, rootType,
(VkPhysicalDeviceLimits*)(&forMarshaling->limits));
marshal_VkPhysicalDeviceSparseProperties(
vkStream, rootType, (VkPhysicalDeviceSparseProperties*)(&forMarshaling->sparseProperties));
}
void unmarshal_VkPhysicalDeviceProperties(VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceProperties* forUnmarshaling) {
(void)rootType;
vkStream->read((uint32_t*)&forUnmarshaling->apiVersion, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->driverVersion, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->vendorID, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->deviceID, sizeof(uint32_t));
vkStream->read((VkPhysicalDeviceType*)&forUnmarshaling->deviceType,
sizeof(VkPhysicalDeviceType));
vkStream->read((char*)forUnmarshaling->deviceName,
VK_MAX_PHYSICAL_DEVICE_NAME_SIZE * sizeof(char));
vkStream->read((uint8_t*)forUnmarshaling->pipelineCacheUUID, VK_UUID_SIZE * sizeof(uint8_t));
unmarshal_VkPhysicalDeviceLimits(vkStream, rootType,
(VkPhysicalDeviceLimits*)(&forUnmarshaling->limits));
unmarshal_VkPhysicalDeviceSparseProperties(
vkStream, rootType,
(VkPhysicalDeviceSparseProperties*)(&forUnmarshaling->sparseProperties));
}
void marshal_VkQueueFamilyProperties(VulkanStream* vkStream, VkStructureType rootType,
const VkQueueFamilyProperties* forMarshaling) {
(void)rootType;
vkStream->write((VkQueueFlags*)&forMarshaling->queueFlags, sizeof(VkQueueFlags));
vkStream->write((uint32_t*)&forMarshaling->queueCount, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->timestampValidBits, sizeof(uint32_t));
marshal_VkExtent3D(vkStream, rootType,
(VkExtent3D*)(&forMarshaling->minImageTransferGranularity));
}
void unmarshal_VkQueueFamilyProperties(VulkanStream* vkStream, VkStructureType rootType,
VkQueueFamilyProperties* forUnmarshaling) {
(void)rootType;
vkStream->read((VkQueueFlags*)&forUnmarshaling->queueFlags, sizeof(VkQueueFlags));
vkStream->read((uint32_t*)&forUnmarshaling->queueCount, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->timestampValidBits, sizeof(uint32_t));
unmarshal_VkExtent3D(vkStream, rootType,
(VkExtent3D*)(&forUnmarshaling->minImageTransferGranularity));
}
void marshal_VkDeviceQueueCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkDeviceQueueCreateInfo* forMarshaling) {
(void)rootType;
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((VkDeviceQueueCreateFlags*)&forMarshaling->flags,
sizeof(VkDeviceQueueCreateFlags));
vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndex, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->queueCount, sizeof(uint32_t));
vkStream->write((const float*)forMarshaling->pQueuePriorities,
forMarshaling->queueCount * sizeof(const float));
}
void unmarshal_VkDeviceQueueCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkDeviceQueueCreateInfo* 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((VkDeviceQueueCreateFlags*)&forUnmarshaling->flags,
sizeof(VkDeviceQueueCreateFlags));
vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndex, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->queueCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pQueuePriorities,
forUnmarshaling->queueCount * sizeof(const float));
vkStream->read((float*)forUnmarshaling->pQueuePriorities,
forUnmarshaling->queueCount * sizeof(const float));
}
void marshal_VkDeviceCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkDeviceCreateInfo* forMarshaling) {
(void)rootType;
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((VkDeviceCreateFlags*)&forMarshaling->flags, sizeof(VkDeviceCreateFlags));
vkStream->write((uint32_t*)&forMarshaling->queueCreateInfoCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->queueCreateInfoCount; ++i) {
marshal_VkDeviceQueueCreateInfo(
vkStream, rootType,
(const VkDeviceQueueCreateInfo*)(forMarshaling->pQueueCreateInfos + i));
}
}
vkStream->write((uint32_t*)&forMarshaling->enabledLayerCount, sizeof(uint32_t));
saveStringArray(vkStream, forMarshaling->ppEnabledLayerNames, forMarshaling->enabledLayerCount);
vkStream->write((uint32_t*)&forMarshaling->enabledExtensionCount, sizeof(uint32_t));
saveStringArray(vkStream, forMarshaling->ppEnabledExtensionNames,
forMarshaling->enabledExtensionCount);
// WARNING PTR CHECK
uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pEnabledFeatures;
vkStream->putBe64(cgen_var_0);
if (forMarshaling->pEnabledFeatures) {
marshal_VkPhysicalDeviceFeatures(
vkStream, rootType, (const VkPhysicalDeviceFeatures*)(forMarshaling->pEnabledFeatures));
}
}
void unmarshal_VkDeviceCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkDeviceCreateInfo* 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((VkDeviceCreateFlags*)&forUnmarshaling->flags, sizeof(VkDeviceCreateFlags));
vkStream->read((uint32_t*)&forUnmarshaling->queueCreateInfoCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pQueueCreateInfos,
forUnmarshaling->queueCreateInfoCount * sizeof(const VkDeviceQueueCreateInfo));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->queueCreateInfoCount; ++i) {
unmarshal_VkDeviceQueueCreateInfo(
vkStream, rootType,
(VkDeviceQueueCreateInfo*)(forUnmarshaling->pQueueCreateInfos + i));
}
}
vkStream->read((uint32_t*)&forUnmarshaling->enabledLayerCount, sizeof(uint32_t));
vkStream->loadStringArrayInPlace((char***)&forUnmarshaling->ppEnabledLayerNames);
vkStream->read((uint32_t*)&forUnmarshaling->enabledExtensionCount, sizeof(uint32_t));
vkStream->loadStringArrayInPlace((char***)&forUnmarshaling->ppEnabledExtensionNames);
// WARNING PTR CHECK
forUnmarshaling->pEnabledFeatures =
(const VkPhysicalDeviceFeatures*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pEnabledFeatures) {
vkStream->alloc((void**)&forUnmarshaling->pEnabledFeatures,
sizeof(const VkPhysicalDeviceFeatures));
unmarshal_VkPhysicalDeviceFeatures(
vkStream, rootType, (VkPhysicalDeviceFeatures*)(forUnmarshaling->pEnabledFeatures));
}
}
void marshal_VkExtensionProperties(VulkanStream* vkStream, VkStructureType rootType,
const VkExtensionProperties* forMarshaling) {
(void)rootType;
vkStream->write((char*)forMarshaling->extensionName, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
vkStream->write((uint32_t*)&forMarshaling->specVersion, sizeof(uint32_t));
}
void unmarshal_VkExtensionProperties(VulkanStream* vkStream, VkStructureType rootType,
VkExtensionProperties* forUnmarshaling) {
(void)rootType;
vkStream->read((char*)forUnmarshaling->extensionName,
VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
vkStream->read((uint32_t*)&forUnmarshaling->specVersion, sizeof(uint32_t));
}
void marshal_VkLayerProperties(VulkanStream* vkStream, VkStructureType rootType,
const VkLayerProperties* forMarshaling) {
(void)rootType;
vkStream->write((char*)forMarshaling->layerName, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
vkStream->write((uint32_t*)&forMarshaling->specVersion, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->implementationVersion, sizeof(uint32_t));
vkStream->write((char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
}
void unmarshal_VkLayerProperties(VulkanStream* vkStream, VkStructureType rootType,
VkLayerProperties* forUnmarshaling) {
(void)rootType;
vkStream->read((char*)forUnmarshaling->layerName, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
vkStream->read((uint32_t*)&forUnmarshaling->specVersion, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->implementationVersion, sizeof(uint32_t));
vkStream->read((char*)forUnmarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
}
void marshal_VkSubmitInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkSubmitInfo* forMarshaling) {
(void)rootType;
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->waitSemaphoreCount, sizeof(uint32_t));
if (forMarshaling->waitSemaphoreCount) {
uint64_t* cgen_var_0;
vkStream->alloc((void**)&cgen_var_0, forMarshaling->waitSemaphoreCount * 8);
vkStream->handleMapping()->mapHandles_VkSemaphore_u64(
forMarshaling->pWaitSemaphores, cgen_var_0, forMarshaling->waitSemaphoreCount);
vkStream->write((uint64_t*)cgen_var_0, forMarshaling->waitSemaphoreCount * 8);
}
vkStream->write((const VkPipelineStageFlags*)forMarshaling->pWaitDstStageMask,
forMarshaling->waitSemaphoreCount * sizeof(const VkPipelineStageFlags));
vkStream->write((uint32_t*)&forMarshaling->commandBufferCount, sizeof(uint32_t));
if (forMarshaling->commandBufferCount) {
uint64_t* cgen_var_1;
vkStream->alloc((void**)&cgen_var_1, forMarshaling->commandBufferCount * 8);
vkStream->handleMapping()->mapHandles_VkCommandBuffer_u64(
forMarshaling->pCommandBuffers, cgen_var_1, forMarshaling->commandBufferCount);
vkStream->write((uint64_t*)cgen_var_1, forMarshaling->commandBufferCount * 8);
}
vkStream->write((uint32_t*)&forMarshaling->signalSemaphoreCount, sizeof(uint32_t));
if (forMarshaling->signalSemaphoreCount) {
uint64_t* cgen_var_2;
vkStream->alloc((void**)&cgen_var_2, forMarshaling->signalSemaphoreCount * 8);
vkStream->handleMapping()->mapHandles_VkSemaphore_u64(
forMarshaling->pSignalSemaphores, cgen_var_2, forMarshaling->signalSemaphoreCount);
vkStream->write((uint64_t*)cgen_var_2, forMarshaling->signalSemaphoreCount * 8);
}
}
void unmarshal_VkSubmitInfo(VulkanStream* vkStream, VkStructureType rootType,
VkSubmitInfo* 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->waitSemaphoreCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pWaitSemaphores,
forUnmarshaling->waitSemaphoreCount * sizeof(const VkSemaphore));
if (forUnmarshaling->waitSemaphoreCount) {
uint64_t* cgen_var_0;
vkStream->alloc((void**)&cgen_var_0, forUnmarshaling->waitSemaphoreCount * 8);
vkStream->read((uint64_t*)cgen_var_0, forUnmarshaling->waitSemaphoreCount * 8);
vkStream->handleMapping()->mapHandles_u64_VkSemaphore(
cgen_var_0, (VkSemaphore*)forUnmarshaling->pWaitSemaphores,
forUnmarshaling->waitSemaphoreCount);
}
vkStream->alloc((void**)&forUnmarshaling->pWaitDstStageMask,
forUnmarshaling->waitSemaphoreCount * sizeof(const VkPipelineStageFlags));
vkStream->read((VkPipelineStageFlags*)forUnmarshaling->pWaitDstStageMask,
forUnmarshaling->waitSemaphoreCount * sizeof(const VkPipelineStageFlags));
vkStream->read((uint32_t*)&forUnmarshaling->commandBufferCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pCommandBuffers,
forUnmarshaling->commandBufferCount * sizeof(const VkCommandBuffer));
if (forUnmarshaling->commandBufferCount) {
uint64_t* cgen_var_1;
vkStream->alloc((void**)&cgen_var_1, forUnmarshaling->commandBufferCount * 8);
vkStream->read((uint64_t*)cgen_var_1, forUnmarshaling->commandBufferCount * 8);
vkStream->handleMapping()->mapHandles_u64_VkCommandBuffer(
cgen_var_1, (VkCommandBuffer*)forUnmarshaling->pCommandBuffers,
forUnmarshaling->commandBufferCount);
}
vkStream->read((uint32_t*)&forUnmarshaling->signalSemaphoreCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pSignalSemaphores,
forUnmarshaling->signalSemaphoreCount * sizeof(const VkSemaphore));
if (forUnmarshaling->signalSemaphoreCount) {
uint64_t* cgen_var_2;
vkStream->alloc((void**)&cgen_var_2, forUnmarshaling->signalSemaphoreCount * 8);
vkStream->read((uint64_t*)cgen_var_2, forUnmarshaling->signalSemaphoreCount * 8);
vkStream->handleMapping()->mapHandles_u64_VkSemaphore(
cgen_var_2, (VkSemaphore*)forUnmarshaling->pSignalSemaphores,
forUnmarshaling->signalSemaphoreCount);
}
}
void marshal_VkMappedMemoryRange(VulkanStream* vkStream, VkStructureType rootType,
const VkMappedMemoryRange* forMarshaling) {
(void)rootType;
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((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
}
void unmarshal_VkMappedMemoryRange(VulkanStream* vkStream, VkStructureType rootType,
VkMappedMemoryRange* 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((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize));
vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
}
void marshal_VkMemoryAllocateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkMemoryAllocateInfo* forMarshaling) {
(void)rootType;
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->allocationSize, sizeof(VkDeviceSize));
vkStream->write((uint32_t*)&forMarshaling->memoryTypeIndex, sizeof(uint32_t));
}
void unmarshal_VkMemoryAllocateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkMemoryAllocateInfo* 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->allocationSize, sizeof(VkDeviceSize));
vkStream->read((uint32_t*)&forUnmarshaling->memoryTypeIndex, sizeof(uint32_t));
}
void marshal_VkMemoryRequirements(VulkanStream* vkStream, VkStructureType rootType,
const VkMemoryRequirements* forMarshaling) {
(void)rootType;
vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
vkStream->write((VkDeviceSize*)&forMarshaling->alignment, sizeof(VkDeviceSize));
vkStream->write((uint32_t*)&forMarshaling->memoryTypeBits, sizeof(uint32_t));
}
void unmarshal_VkMemoryRequirements(VulkanStream* vkStream, VkStructureType rootType,
VkMemoryRequirements* forUnmarshaling) {
(void)rootType;
vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
vkStream->read((VkDeviceSize*)&forUnmarshaling->alignment, sizeof(VkDeviceSize));
vkStream->read((uint32_t*)&forUnmarshaling->memoryTypeBits, sizeof(uint32_t));
}
void marshal_VkSparseMemoryBind(VulkanStream* vkStream, VkStructureType rootType,
const VkSparseMemoryBind* forMarshaling) {
(void)rootType;
vkStream->write((VkDeviceSize*)&forMarshaling->resourceOffset, sizeof(VkDeviceSize));
vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
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->memoryOffset, sizeof(VkDeviceSize));
vkStream->write((VkSparseMemoryBindFlags*)&forMarshaling->flags,
sizeof(VkSparseMemoryBindFlags));
}
void unmarshal_VkSparseMemoryBind(VulkanStream* vkStream, VkStructureType rootType,
VkSparseMemoryBind* forUnmarshaling) {
(void)rootType;
vkStream->read((VkDeviceSize*)&forUnmarshaling->resourceOffset, sizeof(VkDeviceSize));
vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
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->memoryOffset, sizeof(VkDeviceSize));
vkStream->read((VkSparseMemoryBindFlags*)&forUnmarshaling->flags,
sizeof(VkSparseMemoryBindFlags));
}
void marshal_VkSparseBufferMemoryBindInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkSparseBufferMemoryBindInfo* forMarshaling) {
(void)rootType;
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((uint32_t*)&forMarshaling->bindCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->bindCount; ++i) {
marshal_VkSparseMemoryBind(vkStream, rootType,
(const VkSparseMemoryBind*)(forMarshaling->pBinds + i));
}
}
}
void unmarshal_VkSparseBufferMemoryBindInfo(VulkanStream* vkStream, VkStructureType rootType,
VkSparseBufferMemoryBindInfo* forUnmarshaling) {
(void)rootType;
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((uint32_t*)&forUnmarshaling->bindCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pBinds,
forUnmarshaling->bindCount * sizeof(const VkSparseMemoryBind));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bindCount; ++i) {
unmarshal_VkSparseMemoryBind(vkStream, rootType,
(VkSparseMemoryBind*)(forUnmarshaling->pBinds + i));
}
}
}
void marshal_VkSparseImageOpaqueMemoryBindInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkSparseImageOpaqueMemoryBindInfo* forMarshaling) {
(void)rootType;
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((uint32_t*)&forMarshaling->bindCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->bindCount; ++i) {
marshal_VkSparseMemoryBind(vkStream, rootType,
(const VkSparseMemoryBind*)(forMarshaling->pBinds + i));
}
}
}
void unmarshal_VkSparseImageOpaqueMemoryBindInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkSparseImageOpaqueMemoryBindInfo* forUnmarshaling) {
(void)rootType;
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((uint32_t*)&forUnmarshaling->bindCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pBinds,
forUnmarshaling->bindCount * sizeof(const VkSparseMemoryBind));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bindCount; ++i) {
unmarshal_VkSparseMemoryBind(vkStream, rootType,
(VkSparseMemoryBind*)(forUnmarshaling->pBinds + i));
}
}
}
void marshal_VkImageSubresource(VulkanStream* vkStream, VkStructureType rootType,
const VkImageSubresource* forMarshaling) {
(void)rootType;
vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
vkStream->write((uint32_t*)&forMarshaling->mipLevel, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->arrayLayer, sizeof(uint32_t));
}
void unmarshal_VkImageSubresource(VulkanStream* vkStream, VkStructureType rootType,
VkImageSubresource* forUnmarshaling) {
(void)rootType;
vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags));
vkStream->read((uint32_t*)&forUnmarshaling->mipLevel, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->arrayLayer, sizeof(uint32_t));
}
void marshal_VkSparseImageMemoryBind(VulkanStream* vkStream, VkStructureType rootType,
const VkSparseImageMemoryBind* forMarshaling) {
(void)rootType;
marshal_VkImageSubresource(vkStream, rootType,
(VkImageSubresource*)(&forMarshaling->subresource));
marshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forMarshaling->offset));
marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent));
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->memoryOffset, sizeof(VkDeviceSize));
vkStream->write((VkSparseMemoryBindFlags*)&forMarshaling->flags,
sizeof(VkSparseMemoryBindFlags));
}
void unmarshal_VkSparseImageMemoryBind(VulkanStream* vkStream, VkStructureType rootType,
VkSparseImageMemoryBind* forUnmarshaling) {
(void)rootType;
unmarshal_VkImageSubresource(vkStream, rootType,
(VkImageSubresource*)(&forUnmarshaling->subresource));
unmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->offset));
unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->extent));
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->memoryOffset, sizeof(VkDeviceSize));
vkStream->read((VkSparseMemoryBindFlags*)&forUnmarshaling->flags,
sizeof(VkSparseMemoryBindFlags));
}
void marshal_VkSparseImageMemoryBindInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkSparseImageMemoryBindInfo* forMarshaling) {
(void)rootType;
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((uint32_t*)&forMarshaling->bindCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->bindCount; ++i) {
marshal_VkSparseImageMemoryBind(
vkStream, rootType, (const VkSparseImageMemoryBind*)(forMarshaling->pBinds + i));
}
}
}
void unmarshal_VkSparseImageMemoryBindInfo(VulkanStream* vkStream, VkStructureType rootType,
VkSparseImageMemoryBindInfo* forUnmarshaling) {
(void)rootType;
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((uint32_t*)&forUnmarshaling->bindCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pBinds,
forUnmarshaling->bindCount * sizeof(const VkSparseImageMemoryBind));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bindCount; ++i) {
unmarshal_VkSparseImageMemoryBind(
vkStream, rootType, (VkSparseImageMemoryBind*)(forUnmarshaling->pBinds + i));
}
}
}
void marshal_VkBindSparseInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkBindSparseInfo* forMarshaling) {
(void)rootType;
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->waitSemaphoreCount, sizeof(uint32_t));
if (forMarshaling->waitSemaphoreCount) {
uint64_t* cgen_var_0;
vkStream->alloc((void**)&cgen_var_0, forMarshaling->waitSemaphoreCount * 8);
vkStream->handleMapping()->mapHandles_VkSemaphore_u64(
forMarshaling->pWaitSemaphores, cgen_var_0, forMarshaling->waitSemaphoreCount);
vkStream->write((uint64_t*)cgen_var_0, forMarshaling->waitSemaphoreCount * 8);
}
vkStream->write((uint32_t*)&forMarshaling->bufferBindCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->bufferBindCount; ++i) {
marshal_VkSparseBufferMemoryBindInfo(
vkStream, rootType,
(const VkSparseBufferMemoryBindInfo*)(forMarshaling->pBufferBinds + i));
}
}
vkStream->write((uint32_t*)&forMarshaling->imageOpaqueBindCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->imageOpaqueBindCount; ++i) {
marshal_VkSparseImageOpaqueMemoryBindInfo(
vkStream, rootType,
(const VkSparseImageOpaqueMemoryBindInfo*)(forMarshaling->pImageOpaqueBinds + i));
}
}
vkStream->write((uint32_t*)&forMarshaling->imageBindCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->imageBindCount; ++i) {
marshal_VkSparseImageMemoryBindInfo(
vkStream, rootType,
(const VkSparseImageMemoryBindInfo*)(forMarshaling->pImageBinds + i));
}
}
vkStream->write((uint32_t*)&forMarshaling->signalSemaphoreCount, sizeof(uint32_t));
if (forMarshaling->signalSemaphoreCount) {
uint64_t* cgen_var_1;
vkStream->alloc((void**)&cgen_var_1, forMarshaling->signalSemaphoreCount * 8);
vkStream->handleMapping()->mapHandles_VkSemaphore_u64(
forMarshaling->pSignalSemaphores, cgen_var_1, forMarshaling->signalSemaphoreCount);
vkStream->write((uint64_t*)cgen_var_1, forMarshaling->signalSemaphoreCount * 8);
}
}
void unmarshal_VkBindSparseInfo(VulkanStream* vkStream, VkStructureType rootType,
VkBindSparseInfo* 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->waitSemaphoreCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pWaitSemaphores,
forUnmarshaling->waitSemaphoreCount * sizeof(const VkSemaphore));
if (forUnmarshaling->waitSemaphoreCount) {
uint64_t* cgen_var_0;
vkStream->alloc((void**)&cgen_var_0, forUnmarshaling->waitSemaphoreCount * 8);
vkStream->read((uint64_t*)cgen_var_0, forUnmarshaling->waitSemaphoreCount * 8);
vkStream->handleMapping()->mapHandles_u64_VkSemaphore(
cgen_var_0, (VkSemaphore*)forUnmarshaling->pWaitSemaphores,
forUnmarshaling->waitSemaphoreCount);
}
vkStream->read((uint32_t*)&forUnmarshaling->bufferBindCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pBufferBinds,
forUnmarshaling->bufferBindCount * sizeof(const VkSparseBufferMemoryBindInfo));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bufferBindCount; ++i) {
unmarshal_VkSparseBufferMemoryBindInfo(
vkStream, rootType,
(VkSparseBufferMemoryBindInfo*)(forUnmarshaling->pBufferBinds + i));
}
}
vkStream->read((uint32_t*)&forUnmarshaling->imageOpaqueBindCount, sizeof(uint32_t));
vkStream->alloc(
(void**)&forUnmarshaling->pImageOpaqueBinds,
forUnmarshaling->imageOpaqueBindCount * sizeof(const VkSparseImageOpaqueMemoryBindInfo));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->imageOpaqueBindCount; ++i) {
unmarshal_VkSparseImageOpaqueMemoryBindInfo(
vkStream, rootType,
(VkSparseImageOpaqueMemoryBindInfo*)(forUnmarshaling->pImageOpaqueBinds + i));
}
}
vkStream->read((uint32_t*)&forUnmarshaling->imageBindCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pImageBinds,
forUnmarshaling->imageBindCount * sizeof(const VkSparseImageMemoryBindInfo));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->imageBindCount; ++i) {
unmarshal_VkSparseImageMemoryBindInfo(
vkStream, rootType,
(VkSparseImageMemoryBindInfo*)(forUnmarshaling->pImageBinds + i));
}
}
vkStream->read((uint32_t*)&forUnmarshaling->signalSemaphoreCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pSignalSemaphores,
forUnmarshaling->signalSemaphoreCount * sizeof(const VkSemaphore));
if (forUnmarshaling->signalSemaphoreCount) {
uint64_t* cgen_var_1;
vkStream->alloc((void**)&cgen_var_1, forUnmarshaling->signalSemaphoreCount * 8);
vkStream->read((uint64_t*)cgen_var_1, forUnmarshaling->signalSemaphoreCount * 8);
vkStream->handleMapping()->mapHandles_u64_VkSemaphore(
cgen_var_1, (VkSemaphore*)forUnmarshaling->pSignalSemaphores,
forUnmarshaling->signalSemaphoreCount);
}
}
void marshal_VkSparseImageFormatProperties(VulkanStream* vkStream, VkStructureType rootType,
const VkSparseImageFormatProperties* forMarshaling) {
(void)rootType;
vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->imageGranularity));
vkStream->write((VkSparseImageFormatFlags*)&forMarshaling->flags,
sizeof(VkSparseImageFormatFlags));
}
void unmarshal_VkSparseImageFormatProperties(VulkanStream* vkStream, VkStructureType rootType,
VkSparseImageFormatProperties* forUnmarshaling) {
(void)rootType;
vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags));
unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->imageGranularity));
vkStream->read((VkSparseImageFormatFlags*)&forUnmarshaling->flags,
sizeof(VkSparseImageFormatFlags));
}
void marshal_VkSparseImageMemoryRequirements(VulkanStream* vkStream, VkStructureType rootType,
const VkSparseImageMemoryRequirements* forMarshaling) {
(void)rootType;
marshal_VkSparseImageFormatProperties(
vkStream, rootType, (VkSparseImageFormatProperties*)(&forMarshaling->formatProperties));
vkStream->write((uint32_t*)&forMarshaling->imageMipTailFirstLod, sizeof(uint32_t));
vkStream->write((VkDeviceSize*)&forMarshaling->imageMipTailSize, sizeof(VkDeviceSize));
vkStream->write((VkDeviceSize*)&forMarshaling->imageMipTailOffset, sizeof(VkDeviceSize));
vkStream->write((VkDeviceSize*)&forMarshaling->imageMipTailStride, sizeof(VkDeviceSize));
}
void unmarshal_VkSparseImageMemoryRequirements(VulkanStream* vkStream, VkStructureType rootType,
VkSparseImageMemoryRequirements* forUnmarshaling) {
(void)rootType;
unmarshal_VkSparseImageFormatProperties(
vkStream, rootType, (VkSparseImageFormatProperties*)(&forUnmarshaling->formatProperties));
vkStream->read((uint32_t*)&forUnmarshaling->imageMipTailFirstLod, sizeof(uint32_t));
vkStream->read((VkDeviceSize*)&forUnmarshaling->imageMipTailSize, sizeof(VkDeviceSize));
vkStream->read((VkDeviceSize*)&forUnmarshaling->imageMipTailOffset, sizeof(VkDeviceSize));
vkStream->read((VkDeviceSize*)&forUnmarshaling->imageMipTailStride, sizeof(VkDeviceSize));
}
void marshal_VkFenceCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkFenceCreateInfo* forMarshaling) {
(void)rootType;
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((VkFenceCreateFlags*)&forMarshaling->flags, sizeof(VkFenceCreateFlags));
}
void unmarshal_VkFenceCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkFenceCreateInfo* 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((VkFenceCreateFlags*)&forUnmarshaling->flags, sizeof(VkFenceCreateFlags));
}
void marshal_VkSemaphoreCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkSemaphoreCreateInfo* forMarshaling) {
(void)rootType;
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((VkSemaphoreCreateFlags*)&forMarshaling->flags, sizeof(VkSemaphoreCreateFlags));
}
void unmarshal_VkSemaphoreCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkSemaphoreCreateInfo* 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((VkSemaphoreCreateFlags*)&forUnmarshaling->flags,
sizeof(VkSemaphoreCreateFlags));
}
void marshal_VkEventCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkEventCreateInfo* forMarshaling) {
(void)rootType;
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((VkEventCreateFlags*)&forMarshaling->flags, sizeof(VkEventCreateFlags));
}
void unmarshal_VkEventCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkEventCreateInfo* 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((VkEventCreateFlags*)&forUnmarshaling->flags, sizeof(VkEventCreateFlags));
}
void marshal_VkQueryPoolCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkQueryPoolCreateInfo* forMarshaling) {
(void)rootType;
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((VkQueryPoolCreateFlags*)&forMarshaling->flags, sizeof(VkQueryPoolCreateFlags));
vkStream->write((VkQueryType*)&forMarshaling->queryType, sizeof(VkQueryType));
vkStream->write((uint32_t*)&forMarshaling->queryCount, sizeof(uint32_t));
vkStream->write((VkQueryPipelineStatisticFlags*)&forMarshaling->pipelineStatistics,
sizeof(VkQueryPipelineStatisticFlags));
}
void unmarshal_VkQueryPoolCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkQueryPoolCreateInfo* 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((VkQueryPoolCreateFlags*)&forUnmarshaling->flags,
sizeof(VkQueryPoolCreateFlags));
vkStream->read((VkQueryType*)&forUnmarshaling->queryType, sizeof(VkQueryType));
vkStream->read((uint32_t*)&forUnmarshaling->queryCount, sizeof(uint32_t));
vkStream->read((VkQueryPipelineStatisticFlags*)&forUnmarshaling->pipelineStatistics,
sizeof(VkQueryPipelineStatisticFlags));
}
void marshal_VkBufferCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkBufferCreateInfo* forMarshaling) {
(void)rootType;
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((VkBufferCreateFlags*)&forMarshaling->flags, sizeof(VkBufferCreateFlags));
vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
vkStream->write((VkBufferUsageFlags*)&forMarshaling->usage, sizeof(VkBufferUsageFlags));
vkStream->write((VkSharingMode*)&forMarshaling->sharingMode, sizeof(VkSharingMode));
vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndexCount, sizeof(uint32_t));
// WARNING PTR CHECK
uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pQueueFamilyIndices;
vkStream->putBe64(cgen_var_0);
if (forMarshaling->pQueueFamilyIndices) {
vkStream->write((const uint32_t*)forMarshaling->pQueueFamilyIndices,
forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
}
}
void unmarshal_VkBufferCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkBufferCreateInfo* 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((VkBufferCreateFlags*)&forUnmarshaling->flags, sizeof(VkBufferCreateFlags));
vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
vkStream->read((VkBufferUsageFlags*)&forUnmarshaling->usage, sizeof(VkBufferUsageFlags));
vkStream->read((VkSharingMode*)&forUnmarshaling->sharingMode, sizeof(VkSharingMode));
vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndexCount, sizeof(uint32_t));
// WARNING PTR CHECK
forUnmarshaling->pQueueFamilyIndices = (const uint32_t*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pQueueFamilyIndices) {
vkStream->alloc((void**)&forUnmarshaling->pQueueFamilyIndices,
forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
vkStream->read((uint32_t*)forUnmarshaling->pQueueFamilyIndices,
forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
}
}
void marshal_VkBufferViewCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkBufferViewCreateInfo* forMarshaling) {
(void)rootType;
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((VkBufferViewCreateFlags*)&forMarshaling->flags,
sizeof(VkBufferViewCreateFlags));
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((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
vkStream->write((VkDeviceSize*)&forMarshaling->range, sizeof(VkDeviceSize));
}
void unmarshal_VkBufferViewCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkBufferViewCreateInfo* 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((VkBufferViewCreateFlags*)&forUnmarshaling->flags,
sizeof(VkBufferViewCreateFlags));
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((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize));
vkStream->read((VkDeviceSize*)&forUnmarshaling->range, sizeof(VkDeviceSize));
}
void marshal_VkImageCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkImageCreateInfo* forMarshaling) {
(void)rootType;
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((VkImageCreateFlags*)&forMarshaling->flags, sizeof(VkImageCreateFlags));
vkStream->write((VkImageType*)&forMarshaling->imageType, sizeof(VkImageType));
vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
marshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forMarshaling->extent));
vkStream->write((uint32_t*)&forMarshaling->mipLevels, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->arrayLayers, sizeof(uint32_t));
vkStream->write((VkSampleCountFlagBits*)&forMarshaling->samples, sizeof(VkSampleCountFlagBits));
vkStream->write((VkImageTiling*)&forMarshaling->tiling, sizeof(VkImageTiling));
vkStream->write((VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags));
vkStream->write((VkSharingMode*)&forMarshaling->sharingMode, sizeof(VkSharingMode));
vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndexCount, sizeof(uint32_t));
// WARNING PTR CHECK
uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pQueueFamilyIndices;
vkStream->putBe64(cgen_var_0);
if (forMarshaling->pQueueFamilyIndices) {
vkStream->write((const uint32_t*)forMarshaling->pQueueFamilyIndices,
forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
}
vkStream->write((VkImageLayout*)&forMarshaling->initialLayout, sizeof(VkImageLayout));
}
void unmarshal_VkImageCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkImageCreateInfo* 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((VkImageCreateFlags*)&forUnmarshaling->flags, sizeof(VkImageCreateFlags));
vkStream->read((VkImageType*)&forUnmarshaling->imageType, sizeof(VkImageType));
vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
unmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->extent));
vkStream->read((uint32_t*)&forUnmarshaling->mipLevels, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->arrayLayers, sizeof(uint32_t));
vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->samples,
sizeof(VkSampleCountFlagBits));
vkStream->read((VkImageTiling*)&forUnmarshaling->tiling, sizeof(VkImageTiling));
vkStream->read((VkImageUsageFlags*)&forUnmarshaling->usage, sizeof(VkImageUsageFlags));
vkStream->read((VkSharingMode*)&forUnmarshaling->sharingMode, sizeof(VkSharingMode));
vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndexCount, sizeof(uint32_t));
// WARNING PTR CHECK
forUnmarshaling->pQueueFamilyIndices = (const uint32_t*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pQueueFamilyIndices) {
vkStream->alloc((void**)&forUnmarshaling->pQueueFamilyIndices,
forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
vkStream->read((uint32_t*)forUnmarshaling->pQueueFamilyIndices,
forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
}
vkStream->read((VkImageLayout*)&forUnmarshaling->initialLayout, sizeof(VkImageLayout));
}
void marshal_VkSubresourceLayout(VulkanStream* vkStream, VkStructureType rootType,
const VkSubresourceLayout* forMarshaling) {
(void)rootType;
vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
vkStream->write((VkDeviceSize*)&forMarshaling->rowPitch, sizeof(VkDeviceSize));
vkStream->write((VkDeviceSize*)&forMarshaling->arrayPitch, sizeof(VkDeviceSize));
vkStream->write((VkDeviceSize*)&forMarshaling->depthPitch, sizeof(VkDeviceSize));
}
void unmarshal_VkSubresourceLayout(VulkanStream* vkStream, VkStructureType rootType,
VkSubresourceLayout* forUnmarshaling) {
(void)rootType;
vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize));
vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
vkStream->read((VkDeviceSize*)&forUnmarshaling->rowPitch, sizeof(VkDeviceSize));
vkStream->read((VkDeviceSize*)&forUnmarshaling->arrayPitch, sizeof(VkDeviceSize));
vkStream->read((VkDeviceSize*)&forUnmarshaling->depthPitch, sizeof(VkDeviceSize));
}
void marshal_VkComponentMapping(VulkanStream* vkStream, VkStructureType rootType,
const VkComponentMapping* forMarshaling) {
(void)rootType;
vkStream->write((VkComponentSwizzle*)&forMarshaling->r, sizeof(VkComponentSwizzle));
vkStream->write((VkComponentSwizzle*)&forMarshaling->g, sizeof(VkComponentSwizzle));
vkStream->write((VkComponentSwizzle*)&forMarshaling->b, sizeof(VkComponentSwizzle));
vkStream->write((VkComponentSwizzle*)&forMarshaling->a, sizeof(VkComponentSwizzle));
}
void unmarshal_VkComponentMapping(VulkanStream* vkStream, VkStructureType rootType,
VkComponentMapping* forUnmarshaling) {
(void)rootType;
vkStream->read((VkComponentSwizzle*)&forUnmarshaling->r, sizeof(VkComponentSwizzle));
vkStream->read((VkComponentSwizzle*)&forUnmarshaling->g, sizeof(VkComponentSwizzle));
vkStream->read((VkComponentSwizzle*)&forUnmarshaling->b, sizeof(VkComponentSwizzle));
vkStream->read((VkComponentSwizzle*)&forUnmarshaling->a, sizeof(VkComponentSwizzle));
}
void marshal_VkImageViewCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkImageViewCreateInfo* forMarshaling) {
(void)rootType;
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((VkImageViewCreateFlags*)&forMarshaling->flags, sizeof(VkImageViewCreateFlags));
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((VkImageViewType*)&forMarshaling->viewType, sizeof(VkImageViewType));
vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
marshal_VkComponentMapping(vkStream, rootType,
(VkComponentMapping*)(&forMarshaling->components));
marshal_VkImageSubresourceRange(vkStream, rootType,
(VkImageSubresourceRange*)(&forMarshaling->subresourceRange));
}
void unmarshal_VkImageViewCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkImageViewCreateInfo* 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((VkImageViewCreateFlags*)&forUnmarshaling->flags,
sizeof(VkImageViewCreateFlags));
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((VkImageViewType*)&forUnmarshaling->viewType, sizeof(VkImageViewType));
vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
unmarshal_VkComponentMapping(vkStream, rootType,
(VkComponentMapping*)(&forUnmarshaling->components));
unmarshal_VkImageSubresourceRange(
vkStream, rootType, (VkImageSubresourceRange*)(&forUnmarshaling->subresourceRange));
}
void marshal_VkShaderModuleCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkShaderModuleCreateInfo* forMarshaling) {
(void)rootType;
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((VkShaderModuleCreateFlags*)&forMarshaling->flags,
sizeof(VkShaderModuleCreateFlags));
uint64_t cgen_var_0 = (uint64_t)forMarshaling->codeSize;
vkStream->putBe64(cgen_var_0);
vkStream->write((const uint32_t*)forMarshaling->pCode,
(forMarshaling->codeSize / 4) * sizeof(const uint32_t));
}
void unmarshal_VkShaderModuleCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkShaderModuleCreateInfo* 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((VkShaderModuleCreateFlags*)&forUnmarshaling->flags,
sizeof(VkShaderModuleCreateFlags));
forUnmarshaling->codeSize = (size_t)vkStream->getBe64();
vkStream->alloc((void**)&forUnmarshaling->pCode,
(forUnmarshaling->codeSize / 4) * sizeof(const uint32_t));
vkStream->read((uint32_t*)forUnmarshaling->pCode,
(forUnmarshaling->codeSize / 4) * sizeof(const uint32_t));
}
void marshal_VkPipelineCacheCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkPipelineCacheCreateInfo* forMarshaling) {
(void)rootType;
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((VkPipelineCacheCreateFlags*)&forMarshaling->flags,
sizeof(VkPipelineCacheCreateFlags));
uint64_t cgen_var_0 = (uint64_t)forMarshaling->initialDataSize;
vkStream->putBe64(cgen_var_0);
vkStream->write((const void*)forMarshaling->pInitialData,
forMarshaling->initialDataSize * sizeof(const uint8_t));
}
void unmarshal_VkPipelineCacheCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkPipelineCacheCreateInfo* 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((VkPipelineCacheCreateFlags*)&forUnmarshaling->flags,
sizeof(VkPipelineCacheCreateFlags));
forUnmarshaling->initialDataSize = (size_t)vkStream->getBe64();
vkStream->alloc((void**)&forUnmarshaling->pInitialData,
forUnmarshaling->initialDataSize * sizeof(const uint8_t));
vkStream->read((void*)forUnmarshaling->pInitialData,
forUnmarshaling->initialDataSize * sizeof(const uint8_t));
}
void marshal_VkSpecializationMapEntry(VulkanStream* vkStream, VkStructureType rootType,
const VkSpecializationMapEntry* forMarshaling) {
(void)rootType;
vkStream->write((uint32_t*)&forMarshaling->constantID, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->offset, sizeof(uint32_t));
uint64_t cgen_var_0 = (uint64_t)forMarshaling->size;
vkStream->putBe64(cgen_var_0);
}
void unmarshal_VkSpecializationMapEntry(VulkanStream* vkStream, VkStructureType rootType,
VkSpecializationMapEntry* forUnmarshaling) {
(void)rootType;
vkStream->read((uint32_t*)&forUnmarshaling->constantID, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->offset, sizeof(uint32_t));
forUnmarshaling->size = (size_t)vkStream->getBe64();
}
void marshal_VkSpecializationInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkSpecializationInfo* forMarshaling) {
(void)rootType;
vkStream->write((uint32_t*)&forMarshaling->mapEntryCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->mapEntryCount; ++i) {
marshal_VkSpecializationMapEntry(
vkStream, rootType,
(const VkSpecializationMapEntry*)(forMarshaling->pMapEntries + i));
}
}
uint64_t cgen_var_0 = (uint64_t)forMarshaling->dataSize;
vkStream->putBe64(cgen_var_0);
vkStream->write((const void*)forMarshaling->pData,
forMarshaling->dataSize * sizeof(const uint8_t));
}
void unmarshal_VkSpecializationInfo(VulkanStream* vkStream, VkStructureType rootType,
VkSpecializationInfo* forUnmarshaling) {
(void)rootType;
vkStream->read((uint32_t*)&forUnmarshaling->mapEntryCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pMapEntries,
forUnmarshaling->mapEntryCount * sizeof(const VkSpecializationMapEntry));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->mapEntryCount; ++i) {
unmarshal_VkSpecializationMapEntry(
vkStream, rootType, (VkSpecializationMapEntry*)(forUnmarshaling->pMapEntries + i));
}
}
forUnmarshaling->dataSize = (size_t)vkStream->getBe64();
vkStream->alloc((void**)&forUnmarshaling->pData,
forUnmarshaling->dataSize * sizeof(const uint8_t));
vkStream->read((void*)forUnmarshaling->pData,
forUnmarshaling->dataSize * sizeof(const uint8_t));
}
void marshal_VkPipelineShaderStageCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkPipelineShaderStageCreateInfo* forMarshaling) {
(void)rootType;
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((VkPipelineShaderStageCreateFlags*)&forMarshaling->flags,
sizeof(VkPipelineShaderStageCreateFlags));
vkStream->write((VkShaderStageFlagBits*)&forMarshaling->stage, sizeof(VkShaderStageFlagBits));
uint64_t cgen_var_0;
vkStream->handleMapping()->mapHandles_VkShaderModule_u64(&forMarshaling->module, &cgen_var_0,
1);
vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
vkStream->putString(forMarshaling->pName);
// WARNING PTR CHECK
uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pSpecializationInfo;
vkStream->putBe64(cgen_var_1);
if (forMarshaling->pSpecializationInfo) {
marshal_VkSpecializationInfo(
vkStream, rootType, (const VkSpecializationInfo*)(forMarshaling->pSpecializationInfo));
}
}
void unmarshal_VkPipelineShaderStageCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkPipelineShaderStageCreateInfo* 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((VkPipelineShaderStageCreateFlags*)&forUnmarshaling->flags,
sizeof(VkPipelineShaderStageCreateFlags));
vkStream->read((VkShaderStageFlagBits*)&forUnmarshaling->stage, sizeof(VkShaderStageFlagBits));
uint64_t cgen_var_0;
vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
vkStream->handleMapping()->mapHandles_u64_VkShaderModule(
&cgen_var_0, (VkShaderModule*)&forUnmarshaling->module, 1);
vkStream->loadStringInPlace((char**)&forUnmarshaling->pName);
// 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));
}
}
void marshal_VkComputePipelineCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkComputePipelineCreateInfo* forMarshaling) {
(void)rootType;
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((VkPipelineCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineCreateFlags));
marshal_VkPipelineShaderStageCreateInfo(
vkStream, rootType, (VkPipelineShaderStageCreateInfo*)(&forMarshaling->stage));
uint64_t cgen_var_0;
vkStream->handleMapping()->mapHandles_VkPipelineLayout_u64(&forMarshaling->layout, &cgen_var_0,
1);
vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
uint64_t cgen_var_1;
vkStream->handleMapping()->mapHandles_VkPipeline_u64(&forMarshaling->basePipelineHandle,
&cgen_var_1, 1);
vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
vkStream->write((int32_t*)&forMarshaling->basePipelineIndex, sizeof(int32_t));
}
void unmarshal_VkComputePipelineCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkComputePipelineCreateInfo* 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((VkPipelineCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineCreateFlags));
unmarshal_VkPipelineShaderStageCreateInfo(
vkStream, rootType, (VkPipelineShaderStageCreateInfo*)(&forUnmarshaling->stage));
uint64_t cgen_var_0;
vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
vkStream->handleMapping()->mapHandles_u64_VkPipelineLayout(
&cgen_var_0, (VkPipelineLayout*)&forUnmarshaling->layout, 1);
uint64_t cgen_var_1;
vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
vkStream->handleMapping()->mapHandles_u64_VkPipeline(
&cgen_var_1, (VkPipeline*)&forUnmarshaling->basePipelineHandle, 1);
vkStream->read((int32_t*)&forUnmarshaling->basePipelineIndex, sizeof(int32_t));
}
void marshal_VkVertexInputBindingDescription(VulkanStream* vkStream, VkStructureType rootType,
const VkVertexInputBindingDescription* forMarshaling) {
(void)rootType;
vkStream->write((uint32_t*)&forMarshaling->binding, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->stride, sizeof(uint32_t));
vkStream->write((VkVertexInputRate*)&forMarshaling->inputRate, sizeof(VkVertexInputRate));
}
void unmarshal_VkVertexInputBindingDescription(VulkanStream* vkStream, VkStructureType rootType,
VkVertexInputBindingDescription* forUnmarshaling) {
(void)rootType;
vkStream->read((uint32_t*)&forUnmarshaling->binding, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->stride, sizeof(uint32_t));
vkStream->read((VkVertexInputRate*)&forUnmarshaling->inputRate, sizeof(VkVertexInputRate));
}
void marshal_VkVertexInputAttributeDescription(
VulkanStream* vkStream, VkStructureType rootType,
const VkVertexInputAttributeDescription* forMarshaling) {
(void)rootType;
vkStream->write((uint32_t*)&forMarshaling->location, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->binding, sizeof(uint32_t));
vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
vkStream->write((uint32_t*)&forMarshaling->offset, sizeof(uint32_t));
}
void unmarshal_VkVertexInputAttributeDescription(
VulkanStream* vkStream, VkStructureType rootType,
VkVertexInputAttributeDescription* forUnmarshaling) {
(void)rootType;
vkStream->read((uint32_t*)&forUnmarshaling->location, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->binding, sizeof(uint32_t));
vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
vkStream->read((uint32_t*)&forUnmarshaling->offset, sizeof(uint32_t));
}
void marshal_VkPipelineVertexInputStateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkPipelineVertexInputStateCreateInfo* forMarshaling) {
(void)rootType;
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((VkPipelineVertexInputStateCreateFlags*)&forMarshaling->flags,
sizeof(VkPipelineVertexInputStateCreateFlags));
vkStream->write((uint32_t*)&forMarshaling->vertexBindingDescriptionCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->vertexBindingDescriptionCount; ++i) {
marshal_VkVertexInputBindingDescription(
vkStream, rootType,
(const VkVertexInputBindingDescription*)(forMarshaling->pVertexBindingDescriptions +
i));
}
}
vkStream->write((uint32_t*)&forMarshaling->vertexAttributeDescriptionCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->vertexAttributeDescriptionCount; ++i) {
marshal_VkVertexInputAttributeDescription(
vkStream, rootType,
(const VkVertexInputAttributeDescription*)(forMarshaling
->pVertexAttributeDescriptions +
i));
}
}
}
void unmarshal_VkPipelineVertexInputStateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineVertexInputStateCreateInfo* 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((VkPipelineVertexInputStateCreateFlags*)&forUnmarshaling->flags,
sizeof(VkPipelineVertexInputStateCreateFlags));
vkStream->read((uint32_t*)&forUnmarshaling->vertexBindingDescriptionCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pVertexBindingDescriptions,
forUnmarshaling->vertexBindingDescriptionCount *
sizeof(const VkVertexInputBindingDescription));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->vertexBindingDescriptionCount; ++i) {
unmarshal_VkVertexInputBindingDescription(
vkStream, rootType,
(VkVertexInputBindingDescription*)(forUnmarshaling->pVertexBindingDescriptions +
i));
}
}
vkStream->read((uint32_t*)&forUnmarshaling->vertexAttributeDescriptionCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pVertexAttributeDescriptions,
forUnmarshaling->vertexAttributeDescriptionCount *
sizeof(const VkVertexInputAttributeDescription));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->vertexAttributeDescriptionCount; ++i) {
unmarshal_VkVertexInputAttributeDescription(
vkStream, rootType,
(VkVertexInputAttributeDescription*)(forUnmarshaling->pVertexAttributeDescriptions +
i));
}
}
}
void marshal_VkPipelineInputAssemblyStateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkPipelineInputAssemblyStateCreateInfo* forMarshaling) {
(void)rootType;
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((VkPipelineInputAssemblyStateCreateFlags*)&forMarshaling->flags,
sizeof(VkPipelineInputAssemblyStateCreateFlags));
vkStream->write((VkPrimitiveTopology*)&forMarshaling->topology, sizeof(VkPrimitiveTopology));
vkStream->write((VkBool32*)&forMarshaling->primitiveRestartEnable, sizeof(VkBool32));
}
void unmarshal_VkPipelineInputAssemblyStateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineInputAssemblyStateCreateInfo* 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((VkPipelineInputAssemblyStateCreateFlags*)&forUnmarshaling->flags,
sizeof(VkPipelineInputAssemblyStateCreateFlags));
vkStream->read((VkPrimitiveTopology*)&forUnmarshaling->topology, sizeof(VkPrimitiveTopology));
vkStream->read((VkBool32*)&forUnmarshaling->primitiveRestartEnable, sizeof(VkBool32));
}
void marshal_VkPipelineTessellationStateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkPipelineTessellationStateCreateInfo* forMarshaling) {
(void)rootType;
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((VkPipelineTessellationStateCreateFlags*)&forMarshaling->flags,
sizeof(VkPipelineTessellationStateCreateFlags));
vkStream->write((uint32_t*)&forMarshaling->patchControlPoints, sizeof(uint32_t));
}
void unmarshal_VkPipelineTessellationStateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineTessellationStateCreateInfo* 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((VkPipelineTessellationStateCreateFlags*)&forUnmarshaling->flags,
sizeof(VkPipelineTessellationStateCreateFlags));
vkStream->read((uint32_t*)&forUnmarshaling->patchControlPoints, sizeof(uint32_t));
}
void marshal_VkViewport(VulkanStream* vkStream, VkStructureType rootType,
const VkViewport* forMarshaling) {
(void)rootType;
vkStream->write((float*)&forMarshaling->x, sizeof(float));
vkStream->write((float*)&forMarshaling->y, sizeof(float));
vkStream->write((float*)&forMarshaling->width, sizeof(float));
vkStream->write((float*)&forMarshaling->height, sizeof(float));
vkStream->write((float*)&forMarshaling->minDepth, sizeof(float));
vkStream->write((float*)&forMarshaling->maxDepth, sizeof(float));
}
void unmarshal_VkViewport(VulkanStream* vkStream, VkStructureType rootType,
VkViewport* forUnmarshaling) {
(void)rootType;
vkStream->read((float*)&forUnmarshaling->x, sizeof(float));
vkStream->read((float*)&forUnmarshaling->y, sizeof(float));
vkStream->read((float*)&forUnmarshaling->width, sizeof(float));
vkStream->read((float*)&forUnmarshaling->height, sizeof(float));
vkStream->read((float*)&forUnmarshaling->minDepth, sizeof(float));
vkStream->read((float*)&forUnmarshaling->maxDepth, sizeof(float));
}
void marshal_VkPipelineViewportStateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkPipelineViewportStateCreateInfo* forMarshaling) {
(void)rootType;
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((VkPipelineViewportStateCreateFlags*)&forMarshaling->flags,
sizeof(VkPipelineViewportStateCreateFlags));
vkStream->write((uint32_t*)&forMarshaling->viewportCount, sizeof(uint32_t));
// WARNING PTR CHECK
uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pViewports;
vkStream->putBe64(cgen_var_0);
if (forMarshaling->pViewports) {
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->viewportCount; ++i) {
marshal_VkViewport(vkStream, rootType,
(const VkViewport*)(forMarshaling->pViewports + i));
}
}
}
vkStream->write((uint32_t*)&forMarshaling->scissorCount, sizeof(uint32_t));
// WARNING PTR CHECK
uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pScissors;
vkStream->putBe64(cgen_var_1);
if (forMarshaling->pScissors) {
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->scissorCount; ++i) {
marshal_VkRect2D(vkStream, rootType,
(const VkRect2D*)(forMarshaling->pScissors + i));
}
}
}
}
void unmarshal_VkPipelineViewportStateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineViewportStateCreateInfo* 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((VkPipelineViewportStateCreateFlags*)&forUnmarshaling->flags,
sizeof(VkPipelineViewportStateCreateFlags));
vkStream->read((uint32_t*)&forUnmarshaling->viewportCount, sizeof(uint32_t));
// WARNING PTR CHECK
forUnmarshaling->pViewports = (const VkViewport*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pViewports) {
vkStream->alloc((void**)&forUnmarshaling->pViewports,
forUnmarshaling->viewportCount * sizeof(const VkViewport));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->viewportCount; ++i) {
unmarshal_VkViewport(vkStream, rootType,
(VkViewport*)(forUnmarshaling->pViewports + i));
}
}
}
vkStream->read((uint32_t*)&forUnmarshaling->scissorCount, sizeof(uint32_t));
// WARNING PTR CHECK
forUnmarshaling->pScissors = (const VkRect2D*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pScissors) {
vkStream->alloc((void**)&forUnmarshaling->pScissors,
forUnmarshaling->scissorCount * sizeof(const VkRect2D));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->scissorCount; ++i) {
unmarshal_VkRect2D(vkStream, rootType, (VkRect2D*)(forUnmarshaling->pScissors + i));
}
}
}
}
void marshal_VkPipelineRasterizationStateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkPipelineRasterizationStateCreateInfo* forMarshaling) {
(void)rootType;
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((VkPipelineRasterizationStateCreateFlags*)&forMarshaling->flags,
sizeof(VkPipelineRasterizationStateCreateFlags));
vkStream->write((VkBool32*)&forMarshaling->depthClampEnable, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->rasterizerDiscardEnable, sizeof(VkBool32));
vkStream->write((VkPolygonMode*)&forMarshaling->polygonMode, sizeof(VkPolygonMode));
vkStream->write((VkCullModeFlags*)&forMarshaling->cullMode, sizeof(VkCullModeFlags));
vkStream->write((VkFrontFace*)&forMarshaling->frontFace, sizeof(VkFrontFace));
vkStream->write((VkBool32*)&forMarshaling->depthBiasEnable, sizeof(VkBool32));
vkStream->write((float*)&forMarshaling->depthBiasConstantFactor, sizeof(float));
vkStream->write((float*)&forMarshaling->depthBiasClamp, sizeof(float));
vkStream->write((float*)&forMarshaling->depthBiasSlopeFactor, sizeof(float));
vkStream->write((float*)&forMarshaling->lineWidth, sizeof(float));
}
void unmarshal_VkPipelineRasterizationStateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineRasterizationStateCreateInfo* 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((VkPipelineRasterizationStateCreateFlags*)&forUnmarshaling->flags,
sizeof(VkPipelineRasterizationStateCreateFlags));
vkStream->read((VkBool32*)&forUnmarshaling->depthClampEnable, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->rasterizerDiscardEnable, sizeof(VkBool32));
vkStream->read((VkPolygonMode*)&forUnmarshaling->polygonMode, sizeof(VkPolygonMode));
vkStream->read((VkCullModeFlags*)&forUnmarshaling->cullMode, sizeof(VkCullModeFlags));
vkStream->read((VkFrontFace*)&forUnmarshaling->frontFace, sizeof(VkFrontFace));
vkStream->read((VkBool32*)&forUnmarshaling->depthBiasEnable, sizeof(VkBool32));
vkStream->read((float*)&forUnmarshaling->depthBiasConstantFactor, sizeof(float));
vkStream->read((float*)&forUnmarshaling->depthBiasClamp, sizeof(float));
vkStream->read((float*)&forUnmarshaling->depthBiasSlopeFactor, sizeof(float));
vkStream->read((float*)&forUnmarshaling->lineWidth, sizeof(float));
}
void marshal_VkPipelineMultisampleStateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkPipelineMultisampleStateCreateInfo* forMarshaling) {
(void)rootType;
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((VkPipelineMultisampleStateCreateFlags*)&forMarshaling->flags,
sizeof(VkPipelineMultisampleStateCreateFlags));
vkStream->write((VkSampleCountFlagBits*)&forMarshaling->rasterizationSamples,
sizeof(VkSampleCountFlagBits));
vkStream->write((VkBool32*)&forMarshaling->sampleShadingEnable, sizeof(VkBool32));
vkStream->write((float*)&forMarshaling->minSampleShading, sizeof(float));
// WARNING PTR CHECK
uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pSampleMask;
vkStream->putBe64(cgen_var_0);
if (forMarshaling->pSampleMask) {
vkStream->write(
(const VkSampleMask*)forMarshaling->pSampleMask,
(((forMarshaling->rasterizationSamples) + 31) / 32) * sizeof(const VkSampleMask));
}
vkStream->write((VkBool32*)&forMarshaling->alphaToCoverageEnable, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->alphaToOneEnable, sizeof(VkBool32));
}
void unmarshal_VkPipelineMultisampleStateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineMultisampleStateCreateInfo* 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((VkPipelineMultisampleStateCreateFlags*)&forUnmarshaling->flags,
sizeof(VkPipelineMultisampleStateCreateFlags));
vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->rasterizationSamples,
sizeof(VkSampleCountFlagBits));
vkStream->read((VkBool32*)&forUnmarshaling->sampleShadingEnable, sizeof(VkBool32));
vkStream->read((float*)&forUnmarshaling->minSampleShading, sizeof(float));
// WARNING PTR CHECK
forUnmarshaling->pSampleMask = (const VkSampleMask*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pSampleMask) {
vkStream->alloc(
(void**)&forUnmarshaling->pSampleMask,
(((forUnmarshaling->rasterizationSamples) + 31) / 32) * sizeof(const VkSampleMask));
vkStream->read(
(VkSampleMask*)forUnmarshaling->pSampleMask,
(((forUnmarshaling->rasterizationSamples) + 31) / 32) * sizeof(const VkSampleMask));
}
vkStream->read((VkBool32*)&forUnmarshaling->alphaToCoverageEnable, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->alphaToOneEnable, sizeof(VkBool32));
}
void marshal_VkStencilOpState(VulkanStream* vkStream, VkStructureType rootType,
const VkStencilOpState* forMarshaling) {
(void)rootType;
vkStream->write((VkStencilOp*)&forMarshaling->failOp, sizeof(VkStencilOp));
vkStream->write((VkStencilOp*)&forMarshaling->passOp, sizeof(VkStencilOp));
vkStream->write((VkStencilOp*)&forMarshaling->depthFailOp, sizeof(VkStencilOp));
vkStream->write((VkCompareOp*)&forMarshaling->compareOp, sizeof(VkCompareOp));
vkStream->write((uint32_t*)&forMarshaling->compareMask, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->writeMask, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->reference, sizeof(uint32_t));
}
void unmarshal_VkStencilOpState(VulkanStream* vkStream, VkStructureType rootType,
VkStencilOpState* forUnmarshaling) {
(void)rootType;
vkStream->read((VkStencilOp*)&forUnmarshaling->failOp, sizeof(VkStencilOp));
vkStream->read((VkStencilOp*)&forUnmarshaling->passOp, sizeof(VkStencilOp));
vkStream->read((VkStencilOp*)&forUnmarshaling->depthFailOp, sizeof(VkStencilOp));
vkStream->read((VkCompareOp*)&forUnmarshaling->compareOp, sizeof(VkCompareOp));
vkStream->read((uint32_t*)&forUnmarshaling->compareMask, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->writeMask, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->reference, sizeof(uint32_t));
}
void marshal_VkPipelineDepthStencilStateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkPipelineDepthStencilStateCreateInfo* forMarshaling) {
(void)rootType;
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((VkPipelineDepthStencilStateCreateFlags*)&forMarshaling->flags,
sizeof(VkPipelineDepthStencilStateCreateFlags));
vkStream->write((VkBool32*)&forMarshaling->depthTestEnable, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->depthWriteEnable, sizeof(VkBool32));
vkStream->write((VkCompareOp*)&forMarshaling->depthCompareOp, sizeof(VkCompareOp));
vkStream->write((VkBool32*)&forMarshaling->depthBoundsTestEnable, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->stencilTestEnable, sizeof(VkBool32));
marshal_VkStencilOpState(vkStream, rootType, (VkStencilOpState*)(&forMarshaling->front));
marshal_VkStencilOpState(vkStream, rootType, (VkStencilOpState*)(&forMarshaling->back));
vkStream->write((float*)&forMarshaling->minDepthBounds, sizeof(float));
vkStream->write((float*)&forMarshaling->maxDepthBounds, sizeof(float));
}
void unmarshal_VkPipelineDepthStencilStateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineDepthStencilStateCreateInfo* 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((VkPipelineDepthStencilStateCreateFlags*)&forUnmarshaling->flags,
sizeof(VkPipelineDepthStencilStateCreateFlags));
vkStream->read((VkBool32*)&forUnmarshaling->depthTestEnable, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->depthWriteEnable, sizeof(VkBool32));
vkStream->read((VkCompareOp*)&forUnmarshaling->depthCompareOp, sizeof(VkCompareOp));
vkStream->read((VkBool32*)&forUnmarshaling->depthBoundsTestEnable, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->stencilTestEnable, sizeof(VkBool32));
unmarshal_VkStencilOpState(vkStream, rootType, (VkStencilOpState*)(&forUnmarshaling->front));
unmarshal_VkStencilOpState(vkStream, rootType, (VkStencilOpState*)(&forUnmarshaling->back));
vkStream->read((float*)&forUnmarshaling->minDepthBounds, sizeof(float));
vkStream->read((float*)&forUnmarshaling->maxDepthBounds, sizeof(float));
}
void marshal_VkPipelineColorBlendAttachmentState(
VulkanStream* vkStream, VkStructureType rootType,
const VkPipelineColorBlendAttachmentState* forMarshaling) {
(void)rootType;
vkStream->write((VkBool32*)&forMarshaling->blendEnable, sizeof(VkBool32));
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));
vkStream->write((VkColorComponentFlags*)&forMarshaling->colorWriteMask,
sizeof(VkColorComponentFlags));
}
void unmarshal_VkPipelineColorBlendAttachmentState(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineColorBlendAttachmentState* forUnmarshaling) {
(void)rootType;
vkStream->read((VkBool32*)&forUnmarshaling->blendEnable, sizeof(VkBool32));
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));
vkStream->read((VkColorComponentFlags*)&forUnmarshaling->colorWriteMask,
sizeof(VkColorComponentFlags));
}
void marshal_VkPipelineColorBlendStateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkPipelineColorBlendStateCreateInfo* forMarshaling) {
(void)rootType;
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((VkPipelineColorBlendStateCreateFlags*)&forMarshaling->flags,
sizeof(VkPipelineColorBlendStateCreateFlags));
vkStream->write((VkBool32*)&forMarshaling->logicOpEnable, sizeof(VkBool32));
vkStream->write((VkLogicOp*)&forMarshaling->logicOp, sizeof(VkLogicOp));
vkStream->write((uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->attachmentCount; ++i) {
marshal_VkPipelineColorBlendAttachmentState(
vkStream, rootType,
(const VkPipelineColorBlendAttachmentState*)(forMarshaling->pAttachments + i));
}
}
vkStream->write((float*)forMarshaling->blendConstants, 4 * sizeof(float));
}
void unmarshal_VkPipelineColorBlendStateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineColorBlendStateCreateInfo* 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((VkPipelineColorBlendStateCreateFlags*)&forUnmarshaling->flags,
sizeof(VkPipelineColorBlendStateCreateFlags));
vkStream->read((VkBool32*)&forUnmarshaling->logicOpEnable, sizeof(VkBool32));
vkStream->read((VkLogicOp*)&forUnmarshaling->logicOp, sizeof(VkLogicOp));
vkStream->read((uint32_t*)&forUnmarshaling->attachmentCount, sizeof(uint32_t));
vkStream->alloc(
(void**)&forUnmarshaling->pAttachments,
forUnmarshaling->attachmentCount * sizeof(const VkPipelineColorBlendAttachmentState));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->attachmentCount; ++i) {
unmarshal_VkPipelineColorBlendAttachmentState(
vkStream, rootType,
(VkPipelineColorBlendAttachmentState*)(forUnmarshaling->pAttachments + i));
}
}
vkStream->read((float*)forUnmarshaling->blendConstants, 4 * sizeof(float));
}
void marshal_VkPipelineDynamicStateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkPipelineDynamicStateCreateInfo* forMarshaling) {
(void)rootType;
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((VkPipelineDynamicStateCreateFlags*)&forMarshaling->flags,
sizeof(VkPipelineDynamicStateCreateFlags));
vkStream->write((uint32_t*)&forMarshaling->dynamicStateCount, sizeof(uint32_t));
vkStream->write((const VkDynamicState*)forMarshaling->pDynamicStates,
forMarshaling->dynamicStateCount * sizeof(const VkDynamicState));
}
void unmarshal_VkPipelineDynamicStateCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkPipelineDynamicStateCreateInfo* 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((VkPipelineDynamicStateCreateFlags*)&forUnmarshaling->flags,
sizeof(VkPipelineDynamicStateCreateFlags));
vkStream->read((uint32_t*)&forUnmarshaling->dynamicStateCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pDynamicStates,
forUnmarshaling->dynamicStateCount * sizeof(const VkDynamicState));
vkStream->read((VkDynamicState*)forUnmarshaling->pDynamicStates,
forUnmarshaling->dynamicStateCount * sizeof(const VkDynamicState));
}
void marshal_VkGraphicsPipelineCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkGraphicsPipelineCreateInfo* forMarshaling) {
(void)rootType;
uint32_t hasRasterization = 1;
if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
hasRasterization =
((((0 == forMarshaling->pRasterizationState))
? (0)
: (!((*(forMarshaling->pRasterizationState)).rasterizerDiscardEnable))) ||
(((0 == forMarshaling->pDynamicState))
? (0)
: (arrayany((*(forMarshaling->pDynamicState)).pDynamicStates, 0,
(*(forMarshaling->pDynamicState)).dynamicStateCount,
[](VkDynamicState s) {
return (s == VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE);
}))));
uint32_t cgen_var_0 = (uint32_t)hasRasterization;
vkStream->putBe32(cgen_var_0);
}
uint32_t hasTessellation = 1;
if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
hasTessellation =
arrayany(forMarshaling->pStages, 0, forMarshaling->stageCount,
[](VkPipelineShaderStageCreateInfo s) {
return ((s.stage == VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT) ||
(s.stage == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT));
});
uint32_t cgen_var_0 = (uint32_t)hasTessellation;
vkStream->putBe32(cgen_var_0);
}
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((VkPipelineCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineCreateFlags));
vkStream->write((uint32_t*)&forMarshaling->stageCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->stageCount; ++i) {
marshal_VkPipelineShaderStageCreateInfo(
vkStream, rootType,
(const VkPipelineShaderStageCreateInfo*)(forMarshaling->pStages + i));
}
}
// WARNING PTR CHECK
if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pVertexInputState;
vkStream->putBe64(cgen_var_0);
}
if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
forMarshaling->pVertexInputState)) {
marshal_VkPipelineVertexInputStateCreateInfo(
vkStream, rootType,
(const VkPipelineVertexInputStateCreateInfo*)(forMarshaling->pVertexInputState));
}
// WARNING PTR CHECK
if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pInputAssemblyState;
vkStream->putBe64(cgen_var_0);
}
if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
forMarshaling->pInputAssemblyState)) {
marshal_VkPipelineInputAssemblyStateCreateInfo(
vkStream, rootType,
(const VkPipelineInputAssemblyStateCreateInfo*)(forMarshaling->pInputAssemblyState));
}
// WARNING PTR CHECK
uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pTessellationState;
vkStream->putBe64(cgen_var_0);
if (forMarshaling->pTessellationState) {
if (hasTessellation) {
marshal_VkPipelineTessellationStateCreateInfo(
vkStream, rootType,
(const VkPipelineTessellationStateCreateInfo*)(forMarshaling->pTessellationState));
}
}
// WARNING PTR CHECK
uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pViewportState;
vkStream->putBe64(cgen_var_1);
if (forMarshaling->pViewportState) {
if (hasRasterization) {
marshal_VkPipelineViewportStateCreateInfo(
vkStream, rootType,
(const VkPipelineViewportStateCreateInfo*)(forMarshaling->pViewportState));
}
}
// WARNING PTR CHECK
if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
uint64_t cgen_var_1_0 = (uint64_t)(uintptr_t)forMarshaling->pRasterizationState;
vkStream->putBe64(cgen_var_1_0);
}
if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
forMarshaling->pRasterizationState)) {
marshal_VkPipelineRasterizationStateCreateInfo(
vkStream, rootType,
(const VkPipelineRasterizationStateCreateInfo*)(forMarshaling->pRasterizationState));
}
// WARNING PTR CHECK
uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pMultisampleState;
vkStream->putBe64(cgen_var_2);
if (forMarshaling->pMultisampleState) {
if (hasRasterization) {
marshal_VkPipelineMultisampleStateCreateInfo(
vkStream, rootType,
(const VkPipelineMultisampleStateCreateInfo*)(forMarshaling->pMultisampleState));
}
}
// WARNING PTR CHECK
uint64_t cgen_var_3 = (uint64_t)(uintptr_t)forMarshaling->pDepthStencilState;
vkStream->putBe64(cgen_var_3);
if (forMarshaling->pDepthStencilState) {
if (hasRasterization) {
marshal_VkPipelineDepthStencilStateCreateInfo(
vkStream, rootType,
(const VkPipelineDepthStencilStateCreateInfo*)(forMarshaling->pDepthStencilState));
}
}
// WARNING PTR CHECK
uint64_t cgen_var_4 = (uint64_t)(uintptr_t)forMarshaling->pColorBlendState;
vkStream->putBe64(cgen_var_4);
if (forMarshaling->pColorBlendState) {
if (hasRasterization) {
marshal_VkPipelineColorBlendStateCreateInfo(
vkStream, rootType,
(const VkPipelineColorBlendStateCreateInfo*)(forMarshaling->pColorBlendState));
}
}
// WARNING PTR CHECK
uint64_t cgen_var_5 = (uint64_t)(uintptr_t)forMarshaling->pDynamicState;
vkStream->putBe64(cgen_var_5);
if (forMarshaling->pDynamicState) {
marshal_VkPipelineDynamicStateCreateInfo(
vkStream, rootType,
(const VkPipelineDynamicStateCreateInfo*)(forMarshaling->pDynamicState));
}
uint64_t cgen_var_6;
vkStream->handleMapping()->mapHandles_VkPipelineLayout_u64(&forMarshaling->layout, &cgen_var_6,
1);
vkStream->write((uint64_t*)&cgen_var_6, 1 * 8);
uint64_t cgen_var_7;
vkStream->handleMapping()->mapHandles_VkRenderPass_u64(&forMarshaling->renderPass, &cgen_var_7,
1);
vkStream->write((uint64_t*)&cgen_var_7, 1 * 8);
vkStream->write((uint32_t*)&forMarshaling->subpass, sizeof(uint32_t));
uint64_t cgen_var_8;
vkStream->handleMapping()->mapHandles_VkPipeline_u64(&forMarshaling->basePipelineHandle,
&cgen_var_8, 1);
vkStream->write((uint64_t*)&cgen_var_8, 1 * 8);
vkStream->write((int32_t*)&forMarshaling->basePipelineIndex, sizeof(int32_t));
}
void unmarshal_VkGraphicsPipelineCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkGraphicsPipelineCreateInfo* forUnmarshaling) {
(void)rootType;
uint32_t hasRasterization = 1;
if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
hasRasterization = (const uint32_t)vkStream->getBe32();
}
uint32_t hasTessellation = 1;
if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
hasTessellation = (const uint32_t)vkStream->getBe32();
}
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((VkPipelineCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineCreateFlags));
vkStream->read((uint32_t*)&forUnmarshaling->stageCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pStages,
forUnmarshaling->stageCount * sizeof(const VkPipelineShaderStageCreateInfo));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->stageCount; ++i) {
unmarshal_VkPipelineShaderStageCreateInfo(
vkStream, rootType,
(VkPipelineShaderStageCreateInfo*)(forUnmarshaling->pStages + i));
}
}
// WARNING PTR CHECK
if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
forUnmarshaling->pVertexInputState =
(const VkPipelineVertexInputStateCreateInfo*)(uintptr_t)vkStream->getBe64();
}
if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
forUnmarshaling->pVertexInputState)) {
vkStream->alloc((void**)&forUnmarshaling->pVertexInputState,
sizeof(const VkPipelineVertexInputStateCreateInfo));
unmarshal_VkPipelineVertexInputStateCreateInfo(
vkStream, rootType,
(VkPipelineVertexInputStateCreateInfo*)(forUnmarshaling->pVertexInputState));
}
// WARNING PTR CHECK
if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
forUnmarshaling->pInputAssemblyState =
(const VkPipelineInputAssemblyStateCreateInfo*)(uintptr_t)vkStream->getBe64();
}
if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
forUnmarshaling->pInputAssemblyState)) {
vkStream->alloc((void**)&forUnmarshaling->pInputAssemblyState,
sizeof(const VkPipelineInputAssemblyStateCreateInfo));
unmarshal_VkPipelineInputAssemblyStateCreateInfo(
vkStream, rootType,
(VkPipelineInputAssemblyStateCreateInfo*)(forUnmarshaling->pInputAssemblyState));
}
// WARNING PTR CHECK
forUnmarshaling->pTessellationState =
(const VkPipelineTessellationStateCreateInfo*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pTessellationState) {
if (hasTessellation) {
vkStream->alloc((void**)&forUnmarshaling->pTessellationState,
sizeof(const VkPipelineTessellationStateCreateInfo));
unmarshal_VkPipelineTessellationStateCreateInfo(
vkStream, rootType,
(VkPipelineTessellationStateCreateInfo*)(forUnmarshaling->pTessellationState));
} else {
forUnmarshaling->pTessellationState = 0;
}
}
// WARNING PTR CHECK
forUnmarshaling->pViewportState =
(const VkPipelineViewportStateCreateInfo*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pViewportState) {
if (hasRasterization) {
vkStream->alloc((void**)&forUnmarshaling->pViewportState,
sizeof(const VkPipelineViewportStateCreateInfo));
unmarshal_VkPipelineViewportStateCreateInfo(
vkStream, rootType,
(VkPipelineViewportStateCreateInfo*)(forUnmarshaling->pViewportState));
} else {
forUnmarshaling->pViewportState = 0;
}
}
// WARNING PTR CHECK
if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
forUnmarshaling->pRasterizationState =
(const VkPipelineRasterizationStateCreateInfo*)(uintptr_t)vkStream->getBe64();
}
if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
forUnmarshaling->pRasterizationState)) {
vkStream->alloc((void**)&forUnmarshaling->pRasterizationState,
sizeof(const VkPipelineRasterizationStateCreateInfo));
unmarshal_VkPipelineRasterizationStateCreateInfo(
vkStream, rootType,
(VkPipelineRasterizationStateCreateInfo*)(forUnmarshaling->pRasterizationState));
}
// WARNING PTR CHECK
forUnmarshaling->pMultisampleState =
(const VkPipelineMultisampleStateCreateInfo*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pMultisampleState) {
if (hasRasterization) {
vkStream->alloc((void**)&forUnmarshaling->pMultisampleState,
sizeof(const VkPipelineMultisampleStateCreateInfo));
unmarshal_VkPipelineMultisampleStateCreateInfo(
vkStream, rootType,
(VkPipelineMultisampleStateCreateInfo*)(forUnmarshaling->pMultisampleState));
} else {
forUnmarshaling->pMultisampleState = 0;
}
}
// WARNING PTR CHECK
forUnmarshaling->pDepthStencilState =
(const VkPipelineDepthStencilStateCreateInfo*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pDepthStencilState) {
if (hasRasterization) {
vkStream->alloc((void**)&forUnmarshaling->pDepthStencilState,
sizeof(const VkPipelineDepthStencilStateCreateInfo));
unmarshal_VkPipelineDepthStencilStateCreateInfo(
vkStream, rootType,
(VkPipelineDepthStencilStateCreateInfo*)(forUnmarshaling->pDepthStencilState));
} else {
forUnmarshaling->pDepthStencilState = 0;
}
}
// WARNING PTR CHECK
forUnmarshaling->pColorBlendState =
(const VkPipelineColorBlendStateCreateInfo*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pColorBlendState) {
if (hasRasterization) {
vkStream->alloc((void**)&forUnmarshaling->pColorBlendState,
sizeof(const VkPipelineColorBlendStateCreateInfo));
unmarshal_VkPipelineColorBlendStateCreateInfo(
vkStream, rootType,
(VkPipelineColorBlendStateCreateInfo*)(forUnmarshaling->pColorBlendState));
} else {
forUnmarshaling->pColorBlendState = 0;
}
}
// WARNING PTR CHECK
forUnmarshaling->pDynamicState =
(const VkPipelineDynamicStateCreateInfo*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pDynamicState) {
vkStream->alloc((void**)&forUnmarshaling->pDynamicState,
sizeof(const VkPipelineDynamicStateCreateInfo));
unmarshal_VkPipelineDynamicStateCreateInfo(
vkStream, rootType,
(VkPipelineDynamicStateCreateInfo*)(forUnmarshaling->pDynamicState));
}
uint64_t cgen_var_6;
vkStream->read((uint64_t*)&cgen_var_6, 1 * 8);
vkStream->handleMapping()->mapHandles_u64_VkPipelineLayout(
&cgen_var_6, (VkPipelineLayout*)&forUnmarshaling->layout, 1);
uint64_t cgen_var_7;
vkStream->read((uint64_t*)&cgen_var_7, 1 * 8);
vkStream->handleMapping()->mapHandles_u64_VkRenderPass(
&cgen_var_7, (VkRenderPass*)&forUnmarshaling->renderPass, 1);
vkStream->read((uint32_t*)&forUnmarshaling->subpass, sizeof(uint32_t));
uint64_t cgen_var_8;
vkStream->read((uint64_t*)&cgen_var_8, 1 * 8);
vkStream->handleMapping()->mapHandles_u64_VkPipeline(
&cgen_var_8, (VkPipeline*)&forUnmarshaling->basePipelineHandle, 1);
vkStream->read((int32_t*)&forUnmarshaling->basePipelineIndex, sizeof(int32_t));
}
void marshal_VkPushConstantRange(VulkanStream* vkStream, VkStructureType rootType,
const VkPushConstantRange* forMarshaling) {
(void)rootType;
vkStream->write((VkShaderStageFlags*)&forMarshaling->stageFlags, sizeof(VkShaderStageFlags));
vkStream->write((uint32_t*)&forMarshaling->offset, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->size, sizeof(uint32_t));
}
void unmarshal_VkPushConstantRange(VulkanStream* vkStream, VkStructureType rootType,
VkPushConstantRange* forUnmarshaling) {
(void)rootType;
vkStream->read((VkShaderStageFlags*)&forUnmarshaling->stageFlags, sizeof(VkShaderStageFlags));
vkStream->read((uint32_t*)&forUnmarshaling->offset, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->size, sizeof(uint32_t));
}
void marshal_VkPipelineLayoutCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkPipelineLayoutCreateInfo* forMarshaling) {
(void)rootType;
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((VkPipelineLayoutCreateFlags*)&forMarshaling->flags,
sizeof(VkPipelineLayoutCreateFlags));
vkStream->write((uint32_t*)&forMarshaling->setLayoutCount, sizeof(uint32_t));
if (forMarshaling->setLayoutCount) {
uint64_t* cgen_var_0;
vkStream->alloc((void**)&cgen_var_0, forMarshaling->setLayoutCount * 8);
vkStream->handleMapping()->mapHandles_VkDescriptorSetLayout_u64(
forMarshaling->pSetLayouts, cgen_var_0, forMarshaling->setLayoutCount);
vkStream->write((uint64_t*)cgen_var_0, forMarshaling->setLayoutCount * 8);
}
vkStream->write((uint32_t*)&forMarshaling->pushConstantRangeCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->pushConstantRangeCount; ++i) {
marshal_VkPushConstantRange(
vkStream, rootType,
(const VkPushConstantRange*)(forMarshaling->pPushConstantRanges + i));
}
}
}
void unmarshal_VkPipelineLayoutCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkPipelineLayoutCreateInfo* 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((VkPipelineLayoutCreateFlags*)&forUnmarshaling->flags,
sizeof(VkPipelineLayoutCreateFlags));
vkStream->read((uint32_t*)&forUnmarshaling->setLayoutCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pSetLayouts,
forUnmarshaling->setLayoutCount * sizeof(const VkDescriptorSetLayout));
if (forUnmarshaling->setLayoutCount) {
uint64_t* cgen_var_0;
vkStream->alloc((void**)&cgen_var_0, forUnmarshaling->setLayoutCount * 8);
vkStream->read((uint64_t*)cgen_var_0, forUnmarshaling->setLayoutCount * 8);
vkStream->handleMapping()->mapHandles_u64_VkDescriptorSetLayout(
cgen_var_0, (VkDescriptorSetLayout*)forUnmarshaling->pSetLayouts,
forUnmarshaling->setLayoutCount);
}
vkStream->read((uint32_t*)&forUnmarshaling->pushConstantRangeCount, sizeof(uint32_t));
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));
}
}
}
void marshal_VkSamplerCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkSamplerCreateInfo* forMarshaling) {
(void)rootType;
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((VkSamplerCreateFlags*)&forMarshaling->flags, sizeof(VkSamplerCreateFlags));
vkStream->write((VkFilter*)&forMarshaling->magFilter, sizeof(VkFilter));
vkStream->write((VkFilter*)&forMarshaling->minFilter, sizeof(VkFilter));
vkStream->write((VkSamplerMipmapMode*)&forMarshaling->mipmapMode, sizeof(VkSamplerMipmapMode));
vkStream->write((VkSamplerAddressMode*)&forMarshaling->addressModeU,
sizeof(VkSamplerAddressMode));
vkStream->write((VkSamplerAddressMode*)&forMarshaling->addressModeV,
sizeof(VkSamplerAddressMode));
vkStream->write((VkSamplerAddressMode*)&forMarshaling->addressModeW,
sizeof(VkSamplerAddressMode));
vkStream->write((float*)&forMarshaling->mipLodBias, sizeof(float));
vkStream->write((VkBool32*)&forMarshaling->anisotropyEnable, sizeof(VkBool32));
vkStream->write((float*)&forMarshaling->maxAnisotropy, sizeof(float));
vkStream->write((VkBool32*)&forMarshaling->compareEnable, sizeof(VkBool32));
vkStream->write((VkCompareOp*)&forMarshaling->compareOp, sizeof(VkCompareOp));
vkStream->write((float*)&forMarshaling->minLod, sizeof(float));
vkStream->write((float*)&forMarshaling->maxLod, sizeof(float));
vkStream->write((VkBorderColor*)&forMarshaling->borderColor, sizeof(VkBorderColor));
vkStream->write((VkBool32*)&forMarshaling->unnormalizedCoordinates, sizeof(VkBool32));
}
void unmarshal_VkSamplerCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkSamplerCreateInfo* 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((VkSamplerCreateFlags*)&forUnmarshaling->flags, sizeof(VkSamplerCreateFlags));
vkStream->read((VkFilter*)&forUnmarshaling->magFilter, sizeof(VkFilter));
vkStream->read((VkFilter*)&forUnmarshaling->minFilter, sizeof(VkFilter));
vkStream->read((VkSamplerMipmapMode*)&forUnmarshaling->mipmapMode, sizeof(VkSamplerMipmapMode));
vkStream->read((VkSamplerAddressMode*)&forUnmarshaling->addressModeU,
sizeof(VkSamplerAddressMode));
vkStream->read((VkSamplerAddressMode*)&forUnmarshaling->addressModeV,
sizeof(VkSamplerAddressMode));
vkStream->read((VkSamplerAddressMode*)&forUnmarshaling->addressModeW,
sizeof(VkSamplerAddressMode));
vkStream->read((float*)&forUnmarshaling->mipLodBias, sizeof(float));
vkStream->read((VkBool32*)&forUnmarshaling->anisotropyEnable, sizeof(VkBool32));
vkStream->read((float*)&forUnmarshaling->maxAnisotropy, sizeof(float));
vkStream->read((VkBool32*)&forUnmarshaling->compareEnable, sizeof(VkBool32));
vkStream->read((VkCompareOp*)&forUnmarshaling->compareOp, sizeof(VkCompareOp));
vkStream->read((float*)&forUnmarshaling->minLod, sizeof(float));
vkStream->read((float*)&forUnmarshaling->maxLod, sizeof(float));
vkStream->read((VkBorderColor*)&forUnmarshaling->borderColor, sizeof(VkBorderColor));
vkStream->read((VkBool32*)&forUnmarshaling->unnormalizedCoordinates, sizeof(VkBool32));
}
void marshal_VkCopyDescriptorSet(VulkanStream* vkStream, VkStructureType rootType,
const VkCopyDescriptorSet* forMarshaling) {
(void)rootType;
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_VkDescriptorSet_u64(&forMarshaling->srcSet, &cgen_var_0,
1);
vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
vkStream->write((uint32_t*)&forMarshaling->srcBinding, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->srcArrayElement, sizeof(uint32_t));
uint64_t cgen_var_1;
vkStream->handleMapping()->mapHandles_VkDescriptorSet_u64(&forMarshaling->dstSet, &cgen_var_1,
1);
vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
vkStream->write((uint32_t*)&forMarshaling->dstBinding, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->dstArrayElement, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
}
void unmarshal_VkCopyDescriptorSet(VulkanStream* vkStream, VkStructureType rootType,
VkCopyDescriptorSet* 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_VkDescriptorSet(
&cgen_var_0, (VkDescriptorSet*)&forUnmarshaling->srcSet, 1);
vkStream->read((uint32_t*)&forUnmarshaling->srcBinding, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->srcArrayElement, sizeof(uint32_t));
uint64_t cgen_var_1;
vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
vkStream->handleMapping()->mapHandles_u64_VkDescriptorSet(
&cgen_var_1, (VkDescriptorSet*)&forUnmarshaling->dstSet, 1);
vkStream->read((uint32_t*)&forUnmarshaling->dstBinding, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->dstArrayElement, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->descriptorCount, sizeof(uint32_t));
}
void marshal_VkDescriptorBufferInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkDescriptorBufferInfo* forMarshaling) {
(void)rootType;
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->range, sizeof(VkDeviceSize));
}
void unmarshal_VkDescriptorBufferInfo(VulkanStream* vkStream, VkStructureType rootType,
VkDescriptorBufferInfo* forUnmarshaling) {
(void)rootType;
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->range, sizeof(VkDeviceSize));
}
void marshal_VkDescriptorImageInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkDescriptorImageInfo* forMarshaling) {
(void)rootType;
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);
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);
vkStream->write((VkImageLayout*)&forMarshaling->imageLayout, sizeof(VkImageLayout));
}
void unmarshal_VkDescriptorImageInfo(VulkanStream* vkStream, VkStructureType rootType,
VkDescriptorImageInfo* forUnmarshaling) {
(void)rootType;
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);
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);
vkStream->read((VkImageLayout*)&forUnmarshaling->imageLayout, sizeof(VkImageLayout));
}
void marshal_VkDescriptorPoolSize(VulkanStream* vkStream, VkStructureType rootType,
const VkDescriptorPoolSize* forMarshaling) {
(void)rootType;
vkStream->write((VkDescriptorType*)&forMarshaling->type, sizeof(VkDescriptorType));
vkStream->write((uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
}
void unmarshal_VkDescriptorPoolSize(VulkanStream* vkStream, VkStructureType rootType,
VkDescriptorPoolSize* forUnmarshaling) {
(void)rootType;
vkStream->read((VkDescriptorType*)&forUnmarshaling->type, sizeof(VkDescriptorType));
vkStream->read((uint32_t*)&forUnmarshaling->descriptorCount, sizeof(uint32_t));
}
void marshal_VkDescriptorPoolCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkDescriptorPoolCreateInfo* forMarshaling) {
(void)rootType;
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((VkDescriptorPoolCreateFlags*)&forMarshaling->flags,
sizeof(VkDescriptorPoolCreateFlags));
vkStream->write((uint32_t*)&forMarshaling->maxSets, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->poolSizeCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->poolSizeCount; ++i) {
marshal_VkDescriptorPoolSize(
vkStream, rootType, (const VkDescriptorPoolSize*)(forMarshaling->pPoolSizes + i));
}
}
}
void unmarshal_VkDescriptorPoolCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkDescriptorPoolCreateInfo* 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((VkDescriptorPoolCreateFlags*)&forUnmarshaling->flags,
sizeof(VkDescriptorPoolCreateFlags));
vkStream->read((uint32_t*)&forUnmarshaling->maxSets, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->poolSizeCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pPoolSizes,
forUnmarshaling->poolSizeCount * sizeof(const VkDescriptorPoolSize));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->poolSizeCount; ++i) {
unmarshal_VkDescriptorPoolSize(
vkStream, rootType, (VkDescriptorPoolSize*)(forUnmarshaling->pPoolSizes + i));
}
}
}
void marshal_VkDescriptorSetAllocateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkDescriptorSetAllocateInfo* forMarshaling) {
(void)rootType;
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_VkDescriptorPool_u64(&forMarshaling->descriptorPool,
&cgen_var_0, 1);
vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
vkStream->write((uint32_t*)&forMarshaling->descriptorSetCount, sizeof(uint32_t));
if (forMarshaling->descriptorSetCount) {
uint64_t* cgen_var_1;
vkStream->alloc((void**)&cgen_var_1, forMarshaling->descriptorSetCount * 8);
vkStream->handleMapping()->mapHandles_VkDescriptorSetLayout_u64(
forMarshaling->pSetLayouts, cgen_var_1, forMarshaling->descriptorSetCount);
vkStream->write((uint64_t*)cgen_var_1, forMarshaling->descriptorSetCount * 8);
}
}
void unmarshal_VkDescriptorSetAllocateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkDescriptorSetAllocateInfo* 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_VkDescriptorPool(
&cgen_var_0, (VkDescriptorPool*)&forUnmarshaling->descriptorPool, 1);
vkStream->read((uint32_t*)&forUnmarshaling->descriptorSetCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pSetLayouts,
forUnmarshaling->descriptorSetCount * sizeof(const VkDescriptorSetLayout));
if (forUnmarshaling->descriptorSetCount) {
uint64_t* cgen_var_1;
vkStream->alloc((void**)&cgen_var_1, forUnmarshaling->descriptorSetCount * 8);
vkStream->read((uint64_t*)cgen_var_1, forUnmarshaling->descriptorSetCount * 8);
vkStream->handleMapping()->mapHandles_u64_VkDescriptorSetLayout(
cgen_var_1, (VkDescriptorSetLayout*)forUnmarshaling->pSetLayouts,
forUnmarshaling->descriptorSetCount);
}
}
void marshal_VkDescriptorSetLayoutBinding(VulkanStream* vkStream, VkStructureType rootType,
const VkDescriptorSetLayoutBinding* forMarshaling) {
(void)rootType;
vkStream->write((uint32_t*)&forMarshaling->binding, sizeof(uint32_t));
vkStream->write((VkDescriptorType*)&forMarshaling->descriptorType, sizeof(VkDescriptorType));
vkStream->write((uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
vkStream->write((VkShaderStageFlags*)&forMarshaling->stageFlags, sizeof(VkShaderStageFlags));
// WARNING PTR CHECK
uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pImmutableSamplers;
vkStream->putBe64(cgen_var_0);
if (forMarshaling->pImmutableSamplers) {
if (forMarshaling->descriptorCount) {
uint64_t* cgen_var_0_0;
vkStream->alloc((void**)&cgen_var_0_0, forMarshaling->descriptorCount * 8);
vkStream->handleMapping()->mapHandles_VkSampler_u64(
forMarshaling->pImmutableSamplers, cgen_var_0_0, forMarshaling->descriptorCount);
vkStream->write((uint64_t*)cgen_var_0_0, forMarshaling->descriptorCount * 8);
}
}
}
void unmarshal_VkDescriptorSetLayoutBinding(VulkanStream* vkStream, VkStructureType rootType,
VkDescriptorSetLayoutBinding* forUnmarshaling) {
(void)rootType;
vkStream->read((uint32_t*)&forUnmarshaling->binding, sizeof(uint32_t));
vkStream->read((VkDescriptorType*)&forUnmarshaling->descriptorType, sizeof(VkDescriptorType));
vkStream->read((uint32_t*)&forUnmarshaling->descriptorCount, sizeof(uint32_t));
vkStream->read((VkShaderStageFlags*)&forUnmarshaling->stageFlags, sizeof(VkShaderStageFlags));
// WARNING PTR CHECK
forUnmarshaling->pImmutableSamplers = (const VkSampler*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pImmutableSamplers) {
vkStream->alloc((void**)&forUnmarshaling->pImmutableSamplers,
forUnmarshaling->descriptorCount * sizeof(const VkSampler));
if (forUnmarshaling->descriptorCount) {
uint64_t* cgen_var_0_0;
vkStream->alloc((void**)&cgen_var_0_0, forUnmarshaling->descriptorCount * 8);
vkStream->read((uint64_t*)cgen_var_0_0, forUnmarshaling->descriptorCount * 8);
vkStream->handleMapping()->mapHandles_u64_VkSampler(
cgen_var_0_0, (VkSampler*)forUnmarshaling->pImmutableSamplers,
forUnmarshaling->descriptorCount);
}
}
}
void marshal_VkDescriptorSetLayoutCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkDescriptorSetLayoutCreateInfo* forMarshaling) {
(void)rootType;
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((VkDescriptorSetLayoutCreateFlags*)&forMarshaling->flags,
sizeof(VkDescriptorSetLayoutCreateFlags));
vkStream->write((uint32_t*)&forMarshaling->bindingCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->bindingCount; ++i) {
marshal_VkDescriptorSetLayoutBinding(
vkStream, rootType,
(const VkDescriptorSetLayoutBinding*)(forMarshaling->pBindings + i));
}
}
}
void unmarshal_VkDescriptorSetLayoutCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkDescriptorSetLayoutCreateInfo* 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((VkDescriptorSetLayoutCreateFlags*)&forUnmarshaling->flags,
sizeof(VkDescriptorSetLayoutCreateFlags));
vkStream->read((uint32_t*)&forUnmarshaling->bindingCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pBindings,
forUnmarshaling->bindingCount * sizeof(const VkDescriptorSetLayoutBinding));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bindingCount; ++i) {
unmarshal_VkDescriptorSetLayoutBinding(
vkStream, rootType,
(VkDescriptorSetLayoutBinding*)(forUnmarshaling->pBindings + i));
}
}
}
void marshal_VkWriteDescriptorSet(VulkanStream* vkStream, VkStructureType rootType,
const VkWriteDescriptorSet* forMarshaling) {
(void)rootType;
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_VkDescriptorSet_u64(&forMarshaling->dstSet, &cgen_var_0,
1);
vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
vkStream->write((uint32_t*)&forMarshaling->dstBinding, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->dstArrayElement, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
vkStream->write((VkDescriptorType*)&forMarshaling->descriptorType, sizeof(VkDescriptorType));
// WARNING PTR CHECK
uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pImageInfo;
vkStream->putBe64(cgen_var_1);
if (forMarshaling->pImageInfo) {
if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
((VK_DESCRIPTOR_TYPE_SAMPLER == forMarshaling->descriptorType) ||
(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER == forMarshaling->descriptorType) ||
(VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE == forMarshaling->descriptorType) ||
(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE == forMarshaling->descriptorType) ||
(VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT == forMarshaling->descriptorType)))) {
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->descriptorCount; ++i) {
marshal_VkDescriptorImageInfo(
vkStream, rootType,
(const VkDescriptorImageInfo*)(forMarshaling->pImageInfo + i));
}
}
}
}
// WARNING PTR CHECK
uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pBufferInfo;
vkStream->putBe64(cgen_var_2);
if (forMarshaling->pBufferInfo) {
if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
((VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER == forMarshaling->descriptorType) ||
(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC == forMarshaling->descriptorType) ||
(VK_DESCRIPTOR_TYPE_STORAGE_BUFFER == forMarshaling->descriptorType) ||
(VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC == forMarshaling->descriptorType)))) {
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->descriptorCount; ++i) {
marshal_VkDescriptorBufferInfo(
vkStream, rootType,
(const VkDescriptorBufferInfo*)(forMarshaling->pBufferInfo + i));
}
}
}
}
// WARNING PTR CHECK
uint64_t cgen_var_3 = (uint64_t)(uintptr_t)forMarshaling->pTexelBufferView;
vkStream->putBe64(cgen_var_3);
if (forMarshaling->pTexelBufferView) {
if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
((VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER == forMarshaling->descriptorType) ||
(VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER == forMarshaling->descriptorType)))) {
if (forMarshaling->descriptorCount) {
uint64_t* cgen_var_3_0;
vkStream->alloc((void**)&cgen_var_3_0, forMarshaling->descriptorCount * 8);
vkStream->handleMapping()->mapHandles_VkBufferView_u64(
forMarshaling->pTexelBufferView, cgen_var_3_0, forMarshaling->descriptorCount);
vkStream->write((uint64_t*)cgen_var_3_0, forMarshaling->descriptorCount * 8);
}
}
}
}
void unmarshal_VkWriteDescriptorSet(VulkanStream* vkStream, VkStructureType rootType,
VkWriteDescriptorSet* 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_VkDescriptorSet(
&cgen_var_0, (VkDescriptorSet*)&forUnmarshaling->dstSet, 1);
vkStream->read((uint32_t*)&forUnmarshaling->dstBinding, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->dstArrayElement, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->descriptorCount, sizeof(uint32_t));
vkStream->read((VkDescriptorType*)&forUnmarshaling->descriptorType, sizeof(VkDescriptorType));
// WARNING PTR CHECK
forUnmarshaling->pImageInfo = (const VkDescriptorImageInfo*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pImageInfo) {
if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
((VK_DESCRIPTOR_TYPE_SAMPLER == forUnmarshaling->descriptorType) ||
(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER == forUnmarshaling->descriptorType) ||
(VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE == forUnmarshaling->descriptorType) ||
(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE == forUnmarshaling->descriptorType) ||
(VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT == forUnmarshaling->descriptorType)))) {
vkStream->alloc((void**)&forUnmarshaling->pImageInfo,
forUnmarshaling->descriptorCount * sizeof(const VkDescriptorImageInfo));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->descriptorCount; ++i) {
unmarshal_VkDescriptorImageInfo(
vkStream, rootType,
(VkDescriptorImageInfo*)(forUnmarshaling->pImageInfo + i));
}
}
} else {
forUnmarshaling->pImageInfo = 0;
}
}
// WARNING PTR CHECK
forUnmarshaling->pBufferInfo = (const VkDescriptorBufferInfo*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pBufferInfo) {
if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
((VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER == forUnmarshaling->descriptorType) ||
(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC == forUnmarshaling->descriptorType) ||
(VK_DESCRIPTOR_TYPE_STORAGE_BUFFER == forUnmarshaling->descriptorType) ||
(VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC == forUnmarshaling->descriptorType)))) {
vkStream->alloc(
(void**)&forUnmarshaling->pBufferInfo,
forUnmarshaling->descriptorCount * sizeof(const VkDescriptorBufferInfo));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->descriptorCount; ++i) {
unmarshal_VkDescriptorBufferInfo(
vkStream, rootType,
(VkDescriptorBufferInfo*)(forUnmarshaling->pBufferInfo + i));
}
}
} else {
forUnmarshaling->pBufferInfo = 0;
}
}
// WARNING PTR CHECK
forUnmarshaling->pTexelBufferView = (const VkBufferView*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pTexelBufferView) {
if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
((VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER == forUnmarshaling->descriptorType) ||
(VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER == forUnmarshaling->descriptorType)))) {
vkStream->alloc((void**)&forUnmarshaling->pTexelBufferView,
forUnmarshaling->descriptorCount * sizeof(const VkBufferView));
if (forUnmarshaling->descriptorCount) {
uint64_t* cgen_var_3_0;
vkStream->alloc((void**)&cgen_var_3_0, forUnmarshaling->descriptorCount * 8);
vkStream->read((uint64_t*)cgen_var_3_0, forUnmarshaling->descriptorCount * 8);
vkStream->handleMapping()->mapHandles_u64_VkBufferView(
cgen_var_3_0, (VkBufferView*)forUnmarshaling->pTexelBufferView,
forUnmarshaling->descriptorCount);
}
} else {
forUnmarshaling->pTexelBufferView = 0;
}
}
}
void marshal_VkAttachmentDescription(VulkanStream* vkStream, VkStructureType rootType,
const VkAttachmentDescription* forMarshaling) {
(void)rootType;
vkStream->write((VkAttachmentDescriptionFlags*)&forMarshaling->flags,
sizeof(VkAttachmentDescriptionFlags));
vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
vkStream->write((VkSampleCountFlagBits*)&forMarshaling->samples, sizeof(VkSampleCountFlagBits));
vkStream->write((VkAttachmentLoadOp*)&forMarshaling->loadOp, sizeof(VkAttachmentLoadOp));
vkStream->write((VkAttachmentStoreOp*)&forMarshaling->storeOp, sizeof(VkAttachmentStoreOp));
vkStream->write((VkAttachmentLoadOp*)&forMarshaling->stencilLoadOp, sizeof(VkAttachmentLoadOp));
vkStream->write((VkAttachmentStoreOp*)&forMarshaling->stencilStoreOp,
sizeof(VkAttachmentStoreOp));
vkStream->write((VkImageLayout*)&forMarshaling->initialLayout, sizeof(VkImageLayout));
vkStream->write((VkImageLayout*)&forMarshaling->finalLayout, sizeof(VkImageLayout));
}
void unmarshal_VkAttachmentDescription(VulkanStream* vkStream, VkStructureType rootType,
VkAttachmentDescription* forUnmarshaling) {
(void)rootType;
vkStream->read((VkAttachmentDescriptionFlags*)&forUnmarshaling->flags,
sizeof(VkAttachmentDescriptionFlags));
vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->samples,
sizeof(VkSampleCountFlagBits));
vkStream->read((VkAttachmentLoadOp*)&forUnmarshaling->loadOp, sizeof(VkAttachmentLoadOp));
vkStream->read((VkAttachmentStoreOp*)&forUnmarshaling->storeOp, sizeof(VkAttachmentStoreOp));
vkStream->read((VkAttachmentLoadOp*)&forUnmarshaling->stencilLoadOp,
sizeof(VkAttachmentLoadOp));
vkStream->read((VkAttachmentStoreOp*)&forUnmarshaling->stencilStoreOp,
sizeof(VkAttachmentStoreOp));
vkStream->read((VkImageLayout*)&forUnmarshaling->initialLayout, sizeof(VkImageLayout));
vkStream->read((VkImageLayout*)&forUnmarshaling->finalLayout, sizeof(VkImageLayout));
}
void marshal_VkAttachmentReference(VulkanStream* vkStream, VkStructureType rootType,
const VkAttachmentReference* forMarshaling) {
(void)rootType;
vkStream->write((uint32_t*)&forMarshaling->attachment, sizeof(uint32_t));
vkStream->write((VkImageLayout*)&forMarshaling->layout, sizeof(VkImageLayout));
}
void unmarshal_VkAttachmentReference(VulkanStream* vkStream, VkStructureType rootType,
VkAttachmentReference* forUnmarshaling) {
(void)rootType;
vkStream->read((uint32_t*)&forUnmarshaling->attachment, sizeof(uint32_t));
vkStream->read((VkImageLayout*)&forUnmarshaling->layout, sizeof(VkImageLayout));
}
void marshal_VkFramebufferCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkFramebufferCreateInfo* forMarshaling) {
(void)rootType;
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((VkFramebufferCreateFlags*)&forMarshaling->flags,
sizeof(VkFramebufferCreateFlags));
uint64_t cgen_var_0;
vkStream->handleMapping()->mapHandles_VkRenderPass_u64(&forMarshaling->renderPass, &cgen_var_0,
1);
vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
vkStream->write((uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
(((forMarshaling->flags & VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT) == 0)))) {
if (forMarshaling->attachmentCount) {
uint64_t* cgen_var_0_0;
vkStream->alloc((void**)&cgen_var_0_0, forMarshaling->attachmentCount * 8);
vkStream->handleMapping()->mapHandles_VkImageView_u64(
forMarshaling->pAttachments, cgen_var_0_0, forMarshaling->attachmentCount);
vkStream->write((uint64_t*)cgen_var_0_0, forMarshaling->attachmentCount * 8);
}
}
vkStream->write((uint32_t*)&forMarshaling->width, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->height, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->layers, sizeof(uint32_t));
}
void unmarshal_VkFramebufferCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkFramebufferCreateInfo* 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((VkFramebufferCreateFlags*)&forUnmarshaling->flags,
sizeof(VkFramebufferCreateFlags));
uint64_t cgen_var_0;
vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
vkStream->handleMapping()->mapHandles_u64_VkRenderPass(
&cgen_var_0, (VkRenderPass*)&forUnmarshaling->renderPass, 1);
vkStream->read((uint32_t*)&forUnmarshaling->attachmentCount, sizeof(uint32_t));
if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
(((forUnmarshaling->flags & VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT) == 0)))) {
vkStream->alloc((void**)&forUnmarshaling->pAttachments,
forUnmarshaling->attachmentCount * sizeof(const VkImageView));
if (forUnmarshaling->attachmentCount) {
uint64_t* cgen_var_0_0;
vkStream->alloc((void**)&cgen_var_0_0, forUnmarshaling->attachmentCount * 8);
vkStream->read((uint64_t*)cgen_var_0_0, forUnmarshaling->attachmentCount * 8);
vkStream->handleMapping()->mapHandles_u64_VkImageView(
cgen_var_0_0, (VkImageView*)forUnmarshaling->pAttachments,
forUnmarshaling->attachmentCount);
}
} else {
forUnmarshaling->pAttachments = 0;
}
vkStream->read((uint32_t*)&forUnmarshaling->width, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->height, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->layers, sizeof(uint32_t));
}
void marshal_VkSubpassDescription(VulkanStream* vkStream, VkStructureType rootType,
const VkSubpassDescription* forMarshaling) {
(void)rootType;
vkStream->write((VkSubpassDescriptionFlags*)&forMarshaling->flags,
sizeof(VkSubpassDescriptionFlags));
vkStream->write((VkPipelineBindPoint*)&forMarshaling->pipelineBindPoint,
sizeof(VkPipelineBindPoint));
vkStream->write((uint32_t*)&forMarshaling->inputAttachmentCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->inputAttachmentCount; ++i) {
marshal_VkAttachmentReference(
vkStream, rootType,
(const VkAttachmentReference*)(forMarshaling->pInputAttachments + i));
}
}
vkStream->write((uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) {
marshal_VkAttachmentReference(
vkStream, rootType,
(const VkAttachmentReference*)(forMarshaling->pColorAttachments + i));
}
}
// WARNING PTR CHECK
uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pResolveAttachments;
vkStream->putBe64(cgen_var_0);
if (forMarshaling->pResolveAttachments) {
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) {
marshal_VkAttachmentReference(
vkStream, rootType,
(const VkAttachmentReference*)(forMarshaling->pResolveAttachments + i));
}
}
}
// WARNING PTR CHECK
uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pDepthStencilAttachment;
vkStream->putBe64(cgen_var_1);
if (forMarshaling->pDepthStencilAttachment) {
marshal_VkAttachmentReference(
vkStream, rootType,
(const VkAttachmentReference*)(forMarshaling->pDepthStencilAttachment));
}
vkStream->write((uint32_t*)&forMarshaling->preserveAttachmentCount, sizeof(uint32_t));
vkStream->write((const uint32_t*)forMarshaling->pPreserveAttachments,
forMarshaling->preserveAttachmentCount * sizeof(const uint32_t));
}
void unmarshal_VkSubpassDescription(VulkanStream* vkStream, VkStructureType rootType,
VkSubpassDescription* forUnmarshaling) {
(void)rootType;
vkStream->read((VkSubpassDescriptionFlags*)&forUnmarshaling->flags,
sizeof(VkSubpassDescriptionFlags));
vkStream->read((VkPipelineBindPoint*)&forUnmarshaling->pipelineBindPoint,
sizeof(VkPipelineBindPoint));
vkStream->read((uint32_t*)&forUnmarshaling->inputAttachmentCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pInputAttachments,
forUnmarshaling->inputAttachmentCount * sizeof(const VkAttachmentReference));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->inputAttachmentCount; ++i) {
unmarshal_VkAttachmentReference(
vkStream, rootType,
(VkAttachmentReference*)(forUnmarshaling->pInputAttachments + i));
}
}
vkStream->read((uint32_t*)&forUnmarshaling->colorAttachmentCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pColorAttachments,
forUnmarshaling->colorAttachmentCount * sizeof(const VkAttachmentReference));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorAttachmentCount; ++i) {
unmarshal_VkAttachmentReference(
vkStream, rootType,
(VkAttachmentReference*)(forUnmarshaling->pColorAttachments + i));
}
}
// WARNING PTR CHECK
forUnmarshaling->pResolveAttachments =
(const VkAttachmentReference*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pResolveAttachments) {
vkStream->alloc(
(void**)&forUnmarshaling->pResolveAttachments,
forUnmarshaling->colorAttachmentCount * sizeof(const VkAttachmentReference));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorAttachmentCount; ++i) {
unmarshal_VkAttachmentReference(
vkStream, rootType,
(VkAttachmentReference*)(forUnmarshaling->pResolveAttachments + i));
}
}
}
// WARNING PTR CHECK
forUnmarshaling->pDepthStencilAttachment =
(const VkAttachmentReference*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pDepthStencilAttachment) {
vkStream->alloc((void**)&forUnmarshaling->pDepthStencilAttachment,
sizeof(const VkAttachmentReference));
unmarshal_VkAttachmentReference(
vkStream, rootType, (VkAttachmentReference*)(forUnmarshaling->pDepthStencilAttachment));
}
vkStream->read((uint32_t*)&forUnmarshaling->preserveAttachmentCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pPreserveAttachments,
forUnmarshaling->preserveAttachmentCount * sizeof(const uint32_t));
vkStream->read((uint32_t*)forUnmarshaling->pPreserveAttachments,
forUnmarshaling->preserveAttachmentCount * sizeof(const uint32_t));
}
void marshal_VkSubpassDependency(VulkanStream* vkStream, VkStructureType rootType,
const VkSubpassDependency* forMarshaling) {
(void)rootType;
vkStream->write((uint32_t*)&forMarshaling->srcSubpass, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->dstSubpass, sizeof(uint32_t));
vkStream->write((VkPipelineStageFlags*)&forMarshaling->srcStageMask,
sizeof(VkPipelineStageFlags));
vkStream->write((VkPipelineStageFlags*)&forMarshaling->dstStageMask,
sizeof(VkPipelineStageFlags));
vkStream->write((VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
vkStream->write((VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
vkStream->write((VkDependencyFlags*)&forMarshaling->dependencyFlags, sizeof(VkDependencyFlags));
}
void unmarshal_VkSubpassDependency(VulkanStream* vkStream, VkStructureType rootType,
VkSubpassDependency* forUnmarshaling) {
(void)rootType;
vkStream->read((uint32_t*)&forUnmarshaling->srcSubpass, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->dstSubpass, sizeof(uint32_t));
vkStream->read((VkPipelineStageFlags*)&forUnmarshaling->srcStageMask,
sizeof(VkPipelineStageFlags));
vkStream->read((VkPipelineStageFlags*)&forUnmarshaling->dstStageMask,
sizeof(VkPipelineStageFlags));
vkStream->read((VkAccessFlags*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags));
vkStream->read((VkAccessFlags*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags));
vkStream->read((VkDependencyFlags*)&forUnmarshaling->dependencyFlags,
sizeof(VkDependencyFlags));
}
void marshal_VkRenderPassCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkRenderPassCreateInfo* forMarshaling) {
(void)rootType;
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((VkRenderPassCreateFlags*)&forMarshaling->flags,
sizeof(VkRenderPassCreateFlags));
vkStream->write((uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->attachmentCount; ++i) {
marshal_VkAttachmentDescription(
vkStream, rootType,
(const VkAttachmentDescription*)(forMarshaling->pAttachments + i));
}
}
vkStream->write((uint32_t*)&forMarshaling->subpassCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->subpassCount; ++i) {
marshal_VkSubpassDescription(
vkStream, rootType, (const VkSubpassDescription*)(forMarshaling->pSubpasses + i));
}
}
vkStream->write((uint32_t*)&forMarshaling->dependencyCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->dependencyCount; ++i) {
marshal_VkSubpassDependency(
vkStream, rootType, (const VkSubpassDependency*)(forMarshaling->pDependencies + i));
}
}
}
void unmarshal_VkRenderPassCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkRenderPassCreateInfo* 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((VkRenderPassCreateFlags*)&forUnmarshaling->flags,
sizeof(VkRenderPassCreateFlags));
vkStream->read((uint32_t*)&forUnmarshaling->attachmentCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pAttachments,
forUnmarshaling->attachmentCount * sizeof(const VkAttachmentDescription));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->attachmentCount; ++i) {
unmarshal_VkAttachmentDescription(
vkStream, rootType, (VkAttachmentDescription*)(forUnmarshaling->pAttachments + i));
}
}
vkStream->read((uint32_t*)&forUnmarshaling->subpassCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pSubpasses,
forUnmarshaling->subpassCount * sizeof(const VkSubpassDescription));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->subpassCount; ++i) {
unmarshal_VkSubpassDescription(
vkStream, rootType, (VkSubpassDescription*)(forUnmarshaling->pSubpasses + i));
}
}
vkStream->read((uint32_t*)&forUnmarshaling->dependencyCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pDependencies,
forUnmarshaling->dependencyCount * sizeof(const VkSubpassDependency));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->dependencyCount; ++i) {
unmarshal_VkSubpassDependency(
vkStream, rootType, (VkSubpassDependency*)(forUnmarshaling->pDependencies + i));
}
}
}
void marshal_VkCommandPoolCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkCommandPoolCreateInfo* forMarshaling) {
(void)rootType;
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((VkCommandPoolCreateFlags*)&forMarshaling->flags,
sizeof(VkCommandPoolCreateFlags));
vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndex, sizeof(uint32_t));
}
void unmarshal_VkCommandPoolCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkCommandPoolCreateInfo* 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((VkCommandPoolCreateFlags*)&forUnmarshaling->flags,
sizeof(VkCommandPoolCreateFlags));
vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndex, sizeof(uint32_t));
}
void marshal_VkCommandBufferAllocateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkCommandBufferAllocateInfo* forMarshaling) {
(void)rootType;
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_VkCommandPool_u64(&forMarshaling->commandPool,
&cgen_var_0, 1);
vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
vkStream->write((VkCommandBufferLevel*)&forMarshaling->level, sizeof(VkCommandBufferLevel));
vkStream->write((uint32_t*)&forMarshaling->commandBufferCount, sizeof(uint32_t));
}
void unmarshal_VkCommandBufferAllocateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkCommandBufferAllocateInfo* 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_VkCommandPool(
&cgen_var_0, (VkCommandPool*)&forUnmarshaling->commandPool, 1);
vkStream->read((VkCommandBufferLevel*)&forUnmarshaling->level, sizeof(VkCommandBufferLevel));
vkStream->read((uint32_t*)&forUnmarshaling->commandBufferCount, sizeof(uint32_t));
}
void marshal_VkCommandBufferInheritanceInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkCommandBufferInheritanceInfo* forMarshaling) {
(void)rootType;
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_VkRenderPass_u64(&forMarshaling->renderPass, &cgen_var_0,
1);
vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
vkStream->write((uint32_t*)&forMarshaling->subpass, sizeof(uint32_t));
uint64_t cgen_var_1;
vkStream->handleMapping()->mapHandles_VkFramebuffer_u64(&forMarshaling->framebuffer,
&cgen_var_1, 1);
vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
vkStream->write((VkBool32*)&forMarshaling->occlusionQueryEnable, sizeof(VkBool32));
vkStream->write((VkQueryControlFlags*)&forMarshaling->queryFlags, sizeof(VkQueryControlFlags));
vkStream->write((VkQueryPipelineStatisticFlags*)&forMarshaling->pipelineStatistics,
sizeof(VkQueryPipelineStatisticFlags));
}
void unmarshal_VkCommandBufferInheritanceInfo(VulkanStream* vkStream, VkStructureType rootType,
VkCommandBufferInheritanceInfo* 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_VkRenderPass(
&cgen_var_0, (VkRenderPass*)&forUnmarshaling->renderPass, 1);
vkStream->read((uint32_t*)&forUnmarshaling->subpass, sizeof(uint32_t));
uint64_t cgen_var_1;
vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
vkStream->handleMapping()->mapHandles_u64_VkFramebuffer(
&cgen_var_1, (VkFramebuffer*)&forUnmarshaling->framebuffer, 1);
vkStream->read((VkBool32*)&forUnmarshaling->occlusionQueryEnable, sizeof(VkBool32));
vkStream->read((VkQueryControlFlags*)&forUnmarshaling->queryFlags, sizeof(VkQueryControlFlags));
vkStream->read((VkQueryPipelineStatisticFlags*)&forUnmarshaling->pipelineStatistics,
sizeof(VkQueryPipelineStatisticFlags));
}
void marshal_VkCommandBufferBeginInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkCommandBufferBeginInfo* forMarshaling) {
(void)rootType;
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((VkCommandBufferUsageFlags*)&forMarshaling->flags,
sizeof(VkCommandBufferUsageFlags));
// WARNING PTR CHECK
uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pInheritanceInfo;
vkStream->putBe64(cgen_var_0);
if (forMarshaling->pInheritanceInfo) {
marshal_VkCommandBufferInheritanceInfo(
vkStream, rootType,
(const VkCommandBufferInheritanceInfo*)(forMarshaling->pInheritanceInfo));
}
}
void unmarshal_VkCommandBufferBeginInfo(VulkanStream* vkStream, VkStructureType rootType,
VkCommandBufferBeginInfo* 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((VkCommandBufferUsageFlags*)&forUnmarshaling->flags,
sizeof(VkCommandBufferUsageFlags));
// WARNING PTR CHECK
forUnmarshaling->pInheritanceInfo =
(const VkCommandBufferInheritanceInfo*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pInheritanceInfo) {
vkStream->alloc((void**)&forUnmarshaling->pInheritanceInfo,
sizeof(const VkCommandBufferInheritanceInfo));
unmarshal_VkCommandBufferInheritanceInfo(
vkStream, rootType,
(VkCommandBufferInheritanceInfo*)(forUnmarshaling->pInheritanceInfo));
}
}
void marshal_VkBufferCopy(VulkanStream* vkStream, VkStructureType rootType,
const VkBufferCopy* forMarshaling) {
(void)rootType;
vkStream->write((VkDeviceSize*)&forMarshaling->srcOffset, sizeof(VkDeviceSize));
vkStream->write((VkDeviceSize*)&forMarshaling->dstOffset, sizeof(VkDeviceSize));
vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
}
void unmarshal_VkBufferCopy(VulkanStream* vkStream, VkStructureType rootType,
VkBufferCopy* forUnmarshaling) {
(void)rootType;
vkStream->read((VkDeviceSize*)&forUnmarshaling->srcOffset, sizeof(VkDeviceSize));
vkStream->read((VkDeviceSize*)&forUnmarshaling->dstOffset, sizeof(VkDeviceSize));
vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
}
void marshal_VkImageSubresourceLayers(VulkanStream* vkStream, VkStructureType rootType,
const VkImageSubresourceLayers* forMarshaling) {
(void)rootType;
vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
vkStream->write((uint32_t*)&forMarshaling->mipLevel, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->baseArrayLayer, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t));
}
void unmarshal_VkImageSubresourceLayers(VulkanStream* vkStream, VkStructureType rootType,
VkImageSubresourceLayers* forUnmarshaling) {
(void)rootType;
vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags));
vkStream->read((uint32_t*)&forUnmarshaling->mipLevel, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->baseArrayLayer, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->layerCount, sizeof(uint32_t));
}
void marshal_VkBufferImageCopy(VulkanStream* vkStream, VkStructureType rootType,
const VkBufferImageCopy* forMarshaling) {
(void)rootType;
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_VkBufferImageCopy(VulkanStream* vkStream, VkStructureType rootType,
VkBufferImageCopy* forUnmarshaling) {
(void)rootType;
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_VkClearColorValue(VulkanStream* vkStream, VkStructureType rootType,
const VkClearColorValue* forMarshaling) {
(void)rootType;
vkStream->write((float*)forMarshaling->float32, 4 * sizeof(float));
}
void unmarshal_VkClearColorValue(VulkanStream* vkStream, VkStructureType rootType,
VkClearColorValue* forUnmarshaling) {
(void)rootType;
vkStream->read((float*)forUnmarshaling->float32, 4 * sizeof(float));
}
void marshal_VkClearDepthStencilValue(VulkanStream* vkStream, VkStructureType rootType,
const VkClearDepthStencilValue* forMarshaling) {
(void)rootType;
vkStream->write((float*)&forMarshaling->depth, sizeof(float));
vkStream->write((uint32_t*)&forMarshaling->stencil, sizeof(uint32_t));
}
void unmarshal_VkClearDepthStencilValue(VulkanStream* vkStream, VkStructureType rootType,
VkClearDepthStencilValue* forUnmarshaling) {
(void)rootType;
vkStream->read((float*)&forUnmarshaling->depth, sizeof(float));
vkStream->read((uint32_t*)&forUnmarshaling->stencil, sizeof(uint32_t));
}
void marshal_VkClearValue(VulkanStream* vkStream, VkStructureType rootType,
const VkClearValue* forMarshaling) {
(void)rootType;
marshal_VkClearColorValue(vkStream, rootType, (VkClearColorValue*)(&forMarshaling->color));
}
void unmarshal_VkClearValue(VulkanStream* vkStream, VkStructureType rootType,
VkClearValue* forUnmarshaling) {
(void)rootType;
unmarshal_VkClearColorValue(vkStream, rootType, (VkClearColorValue*)(&forUnmarshaling->color));
}
void marshal_VkClearAttachment(VulkanStream* vkStream, VkStructureType rootType,
const VkClearAttachment* forMarshaling) {
(void)rootType;
vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
vkStream->write((uint32_t*)&forMarshaling->colorAttachment, sizeof(uint32_t));
marshal_VkClearValue(vkStream, rootType, (VkClearValue*)(&forMarshaling->clearValue));
}
void unmarshal_VkClearAttachment(VulkanStream* vkStream, VkStructureType rootType,
VkClearAttachment* forUnmarshaling) {
(void)rootType;
vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags));
vkStream->read((uint32_t*)&forUnmarshaling->colorAttachment, sizeof(uint32_t));
unmarshal_VkClearValue(vkStream, rootType, (VkClearValue*)(&forUnmarshaling->clearValue));
}
void marshal_VkClearRect(VulkanStream* vkStream, VkStructureType rootType,
const VkClearRect* forMarshaling) {
(void)rootType;
marshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forMarshaling->rect));
vkStream->write((uint32_t*)&forMarshaling->baseArrayLayer, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t));
}
void unmarshal_VkClearRect(VulkanStream* vkStream, VkStructureType rootType,
VkClearRect* forUnmarshaling) {
(void)rootType;
unmarshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forUnmarshaling->rect));
vkStream->read((uint32_t*)&forUnmarshaling->baseArrayLayer, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->layerCount, sizeof(uint32_t));
}
void marshal_VkImageBlit(VulkanStream* vkStream, VkStructureType rootType,
const VkImageBlit* forMarshaling) {
(void)rootType;
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_VkImageBlit(VulkanStream* vkStream, VkStructureType rootType,
VkImageBlit* forUnmarshaling) {
(void)rootType;
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_VkImageCopy(VulkanStream* vkStream, VkStructureType rootType,
const VkImageCopy* forMarshaling) {
(void)rootType;
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_VkImageCopy(VulkanStream* vkStream, VkStructureType rootType,
VkImageCopy* forUnmarshaling) {
(void)rootType;
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_VkImageResolve(VulkanStream* vkStream, VkStructureType rootType,
const VkImageResolve* forMarshaling) {
(void)rootType;
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_VkImageResolve(VulkanStream* vkStream, VkStructureType rootType,
VkImageResolve* forUnmarshaling) {
(void)rootType;
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_VkRenderPassBeginInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkRenderPassBeginInfo* forMarshaling) {
(void)rootType;
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_VkRenderPass_u64(&forMarshaling->renderPass, &cgen_var_0,
1);
vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
uint64_t cgen_var_1;
vkStream->handleMapping()->mapHandles_VkFramebuffer_u64(&forMarshaling->framebuffer,
&cgen_var_1, 1);
vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
marshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forMarshaling->renderArea));
vkStream->write((uint32_t*)&forMarshaling->clearValueCount, sizeof(uint32_t));
// WARNING PTR CHECK
uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pClearValues;
vkStream->putBe64(cgen_var_2);
if (forMarshaling->pClearValues) {
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->clearValueCount; ++i) {
marshal_VkClearValue(vkStream, rootType,
(const VkClearValue*)(forMarshaling->pClearValues + i));
}
}
}
}
void unmarshal_VkRenderPassBeginInfo(VulkanStream* vkStream, VkStructureType rootType,
VkRenderPassBeginInfo* 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_VkRenderPass(
&cgen_var_0, (VkRenderPass*)&forUnmarshaling->renderPass, 1);
uint64_t cgen_var_1;
vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
vkStream->handleMapping()->mapHandles_u64_VkFramebuffer(
&cgen_var_1, (VkFramebuffer*)&forUnmarshaling->framebuffer, 1);
unmarshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forUnmarshaling->renderArea));
vkStream->read((uint32_t*)&forUnmarshaling->clearValueCount, sizeof(uint32_t));
// WARNING PTR CHECK
forUnmarshaling->pClearValues = (const VkClearValue*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pClearValues) {
vkStream->alloc((void**)&forUnmarshaling->pClearValues,
forUnmarshaling->clearValueCount * sizeof(const VkClearValue));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->clearValueCount; ++i) {
unmarshal_VkClearValue(vkStream, rootType,
(VkClearValue*)(forUnmarshaling->pClearValues + i));
}
}
}
}
#endif
#ifdef VK_VERSION_1_1
void marshal_VkPhysicalDeviceSubgroupProperties(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceSubgroupProperties* forMarshaling) {
(void)rootType;
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->subgroupSize, sizeof(uint32_t));
vkStream->write((VkShaderStageFlags*)&forMarshaling->supportedStages,
sizeof(VkShaderStageFlags));
vkStream->write((VkSubgroupFeatureFlags*)&forMarshaling->supportedOperations,
sizeof(VkSubgroupFeatureFlags));
vkStream->write((VkBool32*)&forMarshaling->quadOperationsInAllStages, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceSubgroupProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceSubgroupProperties* 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->subgroupSize, sizeof(uint32_t));
vkStream->read((VkShaderStageFlags*)&forUnmarshaling->supportedStages,
sizeof(VkShaderStageFlags));
vkStream->read((VkSubgroupFeatureFlags*)&forUnmarshaling->supportedOperations,
sizeof(VkSubgroupFeatureFlags));
vkStream->read((VkBool32*)&forUnmarshaling->quadOperationsInAllStages, sizeof(VkBool32));
}
void marshal_VkBindBufferMemoryInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkBindBufferMemoryInfo* forMarshaling) {
(void)rootType;
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);
uint64_t cgen_var_1;
vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_1,
1);
vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
vkStream->write((VkDeviceSize*)&forMarshaling->memoryOffset, sizeof(VkDeviceSize));
}
void unmarshal_VkBindBufferMemoryInfo(VulkanStream* vkStream, VkStructureType rootType,
VkBindBufferMemoryInfo* 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);
uint64_t cgen_var_1;
vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(
&cgen_var_1, (VkDeviceMemory*)&forUnmarshaling->memory, 1);
vkStream->read((VkDeviceSize*)&forUnmarshaling->memoryOffset, sizeof(VkDeviceSize));
}
void marshal_VkBindImageMemoryInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkBindImageMemoryInfo* forMarshaling) {
(void)rootType;
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_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_1,
1);
vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
vkStream->write((VkDeviceSize*)&forMarshaling->memoryOffset, sizeof(VkDeviceSize));
}
void unmarshal_VkBindImageMemoryInfo(VulkanStream* vkStream, VkStructureType rootType,
VkBindImageMemoryInfo* 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_VkDeviceMemory(
&cgen_var_1, (VkDeviceMemory*)&forUnmarshaling->memory, 1);
vkStream->read((VkDeviceSize*)&forUnmarshaling->memoryOffset, sizeof(VkDeviceSize));
}
void marshal_VkPhysicalDevice16BitStorageFeatures(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDevice16BitStorageFeatures* forMarshaling) {
(void)rootType;
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->storageBuffer16BitAccess, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->uniformAndStorageBuffer16BitAccess,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->storagePushConstant16, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->storageInputOutput16, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDevice16BitStorageFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDevice16BitStorageFeatures* 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->storageBuffer16BitAccess, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->uniformAndStorageBuffer16BitAccess,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->storagePushConstant16, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->storageInputOutput16, sizeof(VkBool32));
}
void marshal_VkMemoryDedicatedRequirements(VulkanStream* vkStream, VkStructureType rootType,
const VkMemoryDedicatedRequirements* forMarshaling) {
(void)rootType;
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->prefersDedicatedAllocation, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->requiresDedicatedAllocation, sizeof(VkBool32));
}
void unmarshal_VkMemoryDedicatedRequirements(VulkanStream* vkStream, VkStructureType rootType,
VkMemoryDedicatedRequirements* 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->prefersDedicatedAllocation, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->requiresDedicatedAllocation, sizeof(VkBool32));
}
void marshal_VkMemoryDedicatedAllocateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkMemoryDedicatedAllocateInfo* forMarshaling) {
(void)rootType;
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_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_1, 1);
vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
}
void unmarshal_VkMemoryDedicatedAllocateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkMemoryDedicatedAllocateInfo* 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_VkBuffer(&cgen_var_1,
(VkBuffer*)&forUnmarshaling->buffer, 1);
}
void marshal_VkMemoryAllocateFlagsInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkMemoryAllocateFlagsInfo* forMarshaling) {
(void)rootType;
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((VkMemoryAllocateFlags*)&forMarshaling->flags, sizeof(VkMemoryAllocateFlags));
vkStream->write((uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t));
}
void unmarshal_VkMemoryAllocateFlagsInfo(VulkanStream* vkStream, VkStructureType rootType,
VkMemoryAllocateFlagsInfo* 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((VkMemoryAllocateFlags*)&forUnmarshaling->flags, sizeof(VkMemoryAllocateFlags));
vkStream->read((uint32_t*)&forUnmarshaling->deviceMask, sizeof(uint32_t));
}
void marshal_VkDeviceGroupRenderPassBeginInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkDeviceGroupRenderPassBeginInfo* forMarshaling) {
(void)rootType;
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->deviceMask, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->deviceRenderAreaCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->deviceRenderAreaCount; ++i) {
marshal_VkRect2D(vkStream, rootType,
(const VkRect2D*)(forMarshaling->pDeviceRenderAreas + i));
}
}
}
void unmarshal_VkDeviceGroupRenderPassBeginInfo(VulkanStream* vkStream, VkStructureType rootType,
VkDeviceGroupRenderPassBeginInfo* 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->deviceMask, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->deviceRenderAreaCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pDeviceRenderAreas,
forUnmarshaling->deviceRenderAreaCount * sizeof(const VkRect2D));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->deviceRenderAreaCount; ++i) {
unmarshal_VkRect2D(vkStream, rootType,
(VkRect2D*)(forUnmarshaling->pDeviceRenderAreas + i));
}
}
}
void marshal_VkDeviceGroupCommandBufferBeginInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkDeviceGroupCommandBufferBeginInfo* forMarshaling) {
(void)rootType;
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->deviceMask, sizeof(uint32_t));
}
void unmarshal_VkDeviceGroupCommandBufferBeginInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkDeviceGroupCommandBufferBeginInfo* 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->deviceMask, sizeof(uint32_t));
}
void marshal_VkDeviceGroupSubmitInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkDeviceGroupSubmitInfo* forMarshaling) {
(void)rootType;
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->waitSemaphoreCount, sizeof(uint32_t));
vkStream->write((const uint32_t*)forMarshaling->pWaitSemaphoreDeviceIndices,
forMarshaling->waitSemaphoreCount * sizeof(const uint32_t));
vkStream->write((uint32_t*)&forMarshaling->commandBufferCount, sizeof(uint32_t));
vkStream->write((const uint32_t*)forMarshaling->pCommandBufferDeviceMasks,
forMarshaling->commandBufferCount * sizeof(const uint32_t));
vkStream->write((uint32_t*)&forMarshaling->signalSemaphoreCount, sizeof(uint32_t));
vkStream->write((const uint32_t*)forMarshaling->pSignalSemaphoreDeviceIndices,
forMarshaling->signalSemaphoreCount * sizeof(const uint32_t));
}
void unmarshal_VkDeviceGroupSubmitInfo(VulkanStream* vkStream, VkStructureType rootType,
VkDeviceGroupSubmitInfo* 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->waitSemaphoreCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pWaitSemaphoreDeviceIndices,
forUnmarshaling->waitSemaphoreCount * sizeof(const uint32_t));
vkStream->read((uint32_t*)forUnmarshaling->pWaitSemaphoreDeviceIndices,
forUnmarshaling->waitSemaphoreCount * sizeof(const uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->commandBufferCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pCommandBufferDeviceMasks,
forUnmarshaling->commandBufferCount * sizeof(const uint32_t));
vkStream->read((uint32_t*)forUnmarshaling->pCommandBufferDeviceMasks,
forUnmarshaling->commandBufferCount * sizeof(const uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->signalSemaphoreCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pSignalSemaphoreDeviceIndices,
forUnmarshaling->signalSemaphoreCount * sizeof(const uint32_t));
vkStream->read((uint32_t*)forUnmarshaling->pSignalSemaphoreDeviceIndices,
forUnmarshaling->signalSemaphoreCount * sizeof(const uint32_t));
}
void marshal_VkDeviceGroupBindSparseInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkDeviceGroupBindSparseInfo* forMarshaling) {
(void)rootType;
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->resourceDeviceIndex, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->memoryDeviceIndex, sizeof(uint32_t));
}
void unmarshal_VkDeviceGroupBindSparseInfo(VulkanStream* vkStream, VkStructureType rootType,
VkDeviceGroupBindSparseInfo* 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->resourceDeviceIndex, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->memoryDeviceIndex, sizeof(uint32_t));
}
void marshal_VkBindBufferMemoryDeviceGroupInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkBindBufferMemoryDeviceGroupInfo* forMarshaling) {
(void)rootType;
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->deviceIndexCount, sizeof(uint32_t));
vkStream->write((const uint32_t*)forMarshaling->pDeviceIndices,
forMarshaling->deviceIndexCount * sizeof(const uint32_t));
}
void unmarshal_VkBindBufferMemoryDeviceGroupInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkBindBufferMemoryDeviceGroupInfo* 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->deviceIndexCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pDeviceIndices,
forUnmarshaling->deviceIndexCount * sizeof(const uint32_t));
vkStream->read((uint32_t*)forUnmarshaling->pDeviceIndices,
forUnmarshaling->deviceIndexCount * sizeof(const uint32_t));
}
void marshal_VkBindImageMemoryDeviceGroupInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkBindImageMemoryDeviceGroupInfo* forMarshaling) {
(void)rootType;
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->deviceIndexCount, sizeof(uint32_t));
vkStream->write((const uint32_t*)forMarshaling->pDeviceIndices,
forMarshaling->deviceIndexCount * sizeof(const uint32_t));
vkStream->write((uint32_t*)&forMarshaling->splitInstanceBindRegionCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->splitInstanceBindRegionCount; ++i) {
marshal_VkRect2D(vkStream, rootType,
(const VkRect2D*)(forMarshaling->pSplitInstanceBindRegions + i));
}
}
}
void unmarshal_VkBindImageMemoryDeviceGroupInfo(VulkanStream* vkStream, VkStructureType rootType,
VkBindImageMemoryDeviceGroupInfo* 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->deviceIndexCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pDeviceIndices,
forUnmarshaling->deviceIndexCount * sizeof(const uint32_t));
vkStream->read((uint32_t*)forUnmarshaling->pDeviceIndices,
forUnmarshaling->deviceIndexCount * sizeof(const uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->splitInstanceBindRegionCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pSplitInstanceBindRegions,
forUnmarshaling->splitInstanceBindRegionCount * sizeof(const VkRect2D));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->splitInstanceBindRegionCount; ++i) {
unmarshal_VkRect2D(vkStream, rootType,
(VkRect2D*)(forUnmarshaling->pSplitInstanceBindRegions + i));
}
}
}
void marshal_VkPhysicalDeviceGroupProperties(VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceGroupProperties* forMarshaling) {
(void)rootType;
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->physicalDeviceCount, sizeof(uint32_t));
vkStream->write((VkPhysicalDevice*)forMarshaling->physicalDevices,
VK_MAX_DEVICE_GROUP_SIZE * sizeof(VkPhysicalDevice));
vkStream->write((VkBool32*)&forMarshaling->subsetAllocation, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceGroupProperties(VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceGroupProperties* 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->physicalDeviceCount, sizeof(uint32_t));
vkStream->read((VkPhysicalDevice*)forUnmarshaling->physicalDevices,
VK_MAX_DEVICE_GROUP_SIZE * sizeof(VkPhysicalDevice));
vkStream->read((VkBool32*)&forUnmarshaling->subsetAllocation, sizeof(VkBool32));
}
void marshal_VkDeviceGroupDeviceCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkDeviceGroupDeviceCreateInfo* forMarshaling) {
(void)rootType;
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->physicalDeviceCount, sizeof(uint32_t));
if (forMarshaling->physicalDeviceCount) {
uint64_t* cgen_var_0;
vkStream->alloc((void**)&cgen_var_0, forMarshaling->physicalDeviceCount * 8);
vkStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(
forMarshaling->pPhysicalDevices, cgen_var_0, forMarshaling->physicalDeviceCount);
vkStream->write((uint64_t*)cgen_var_0, forMarshaling->physicalDeviceCount * 8);
}
}
void unmarshal_VkDeviceGroupDeviceCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkDeviceGroupDeviceCreateInfo* 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->physicalDeviceCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pPhysicalDevices,
forUnmarshaling->physicalDeviceCount * sizeof(const VkPhysicalDevice));
if (forUnmarshaling->physicalDeviceCount) {
uint64_t* cgen_var_0;
vkStream->alloc((void**)&cgen_var_0, forUnmarshaling->physicalDeviceCount * 8);
vkStream->read((uint64_t*)cgen_var_0, forUnmarshaling->physicalDeviceCount * 8);
vkStream->handleMapping()->mapHandles_u64_VkPhysicalDevice(
cgen_var_0, (VkPhysicalDevice*)forUnmarshaling->pPhysicalDevices,
forUnmarshaling->physicalDeviceCount);
}
}
void marshal_VkBufferMemoryRequirementsInfo2(VulkanStream* vkStream, VkStructureType rootType,
const VkBufferMemoryRequirementsInfo2* forMarshaling) {
(void)rootType;
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_VkBufferMemoryRequirementsInfo2(VulkanStream* vkStream, VkStructureType rootType,
VkBufferMemoryRequirementsInfo2* 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_VkImageMemoryRequirementsInfo2(VulkanStream* vkStream, VkStructureType rootType,
const VkImageMemoryRequirementsInfo2* forMarshaling) {
(void)rootType;
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_VkImageMemoryRequirementsInfo2(VulkanStream* vkStream, VkStructureType rootType,
VkImageMemoryRequirementsInfo2* 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_VkImageSparseMemoryRequirementsInfo2(
VulkanStream* vkStream, VkStructureType rootType,
const VkImageSparseMemoryRequirementsInfo2* forMarshaling) {
(void)rootType;
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_VkImageSparseMemoryRequirementsInfo2(
VulkanStream* vkStream, VkStructureType rootType,
VkImageSparseMemoryRequirementsInfo2* 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_VkMemoryRequirements2(VulkanStream* vkStream, VkStructureType rootType,
const VkMemoryRequirements2* forMarshaling) {
(void)rootType;
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_VkMemoryRequirements(vkStream, rootType,
(VkMemoryRequirements*)(&forMarshaling->memoryRequirements));
}
void unmarshal_VkMemoryRequirements2(VulkanStream* vkStream, VkStructureType rootType,
VkMemoryRequirements2* 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_VkMemoryRequirements(vkStream, rootType,
(VkMemoryRequirements*)(&forUnmarshaling->memoryRequirements));
}
void marshal_VkSparseImageMemoryRequirements2(
VulkanStream* vkStream, VkStructureType rootType,
const VkSparseImageMemoryRequirements2* forMarshaling) {
(void)rootType;
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_VkSparseImageMemoryRequirements(
vkStream, rootType, (VkSparseImageMemoryRequirements*)(&forMarshaling->memoryRequirements));
}
void unmarshal_VkSparseImageMemoryRequirements2(VulkanStream* vkStream, VkStructureType rootType,
VkSparseImageMemoryRequirements2* 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_VkSparseImageMemoryRequirements(
vkStream, rootType,
(VkSparseImageMemoryRequirements*)(&forUnmarshaling->memoryRequirements));
}
void marshal_VkPhysicalDeviceFeatures2(VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceFeatures2* forMarshaling) {
(void)rootType;
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_VkPhysicalDeviceFeatures(vkStream, rootType,
(VkPhysicalDeviceFeatures*)(&forMarshaling->features));
}
void unmarshal_VkPhysicalDeviceFeatures2(VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceFeatures2* 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_VkPhysicalDeviceFeatures(vkStream, rootType,
(VkPhysicalDeviceFeatures*)(&forUnmarshaling->features));
}
void marshal_VkPhysicalDeviceProperties2(VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceProperties2* forMarshaling) {
(void)rootType;
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_VkPhysicalDeviceProperties(vkStream, rootType,
(VkPhysicalDeviceProperties*)(&forMarshaling->properties));
}
void unmarshal_VkPhysicalDeviceProperties2(VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceProperties2* 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_VkPhysicalDeviceProperties(
vkStream, rootType, (VkPhysicalDeviceProperties*)(&forUnmarshaling->properties));
}
void marshal_VkFormatProperties2(VulkanStream* vkStream, VkStructureType rootType,
const VkFormatProperties2* forMarshaling) {
(void)rootType;
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_VkFormatProperties(vkStream, rootType,
(VkFormatProperties*)(&forMarshaling->formatProperties));
}
void unmarshal_VkFormatProperties2(VulkanStream* vkStream, VkStructureType rootType,
VkFormatProperties2* 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_VkFormatProperties(vkStream, rootType,
(VkFormatProperties*)(&forUnmarshaling->formatProperties));
}
void marshal_VkImageFormatProperties2(VulkanStream* vkStream, VkStructureType rootType,
const VkImageFormatProperties2* forMarshaling) {
(void)rootType;
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_VkImageFormatProperties(
vkStream, rootType, (VkImageFormatProperties*)(&forMarshaling->imageFormatProperties));
}
void unmarshal_VkImageFormatProperties2(VulkanStream* vkStream, VkStructureType rootType,
VkImageFormatProperties2* 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_VkImageFormatProperties(
vkStream, rootType, (VkImageFormatProperties*)(&forUnmarshaling->imageFormatProperties));
}
void marshal_VkPhysicalDeviceImageFormatInfo2(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceImageFormatInfo2* forMarshaling) {
(void)rootType;
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));
vkStream->write((VkImageType*)&forMarshaling->type, sizeof(VkImageType));
vkStream->write((VkImageTiling*)&forMarshaling->tiling, sizeof(VkImageTiling));
vkStream->write((VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags));
vkStream->write((VkImageCreateFlags*)&forMarshaling->flags, sizeof(VkImageCreateFlags));
}
void unmarshal_VkPhysicalDeviceImageFormatInfo2(VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceImageFormatInfo2* 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));
vkStream->read((VkImageType*)&forUnmarshaling->type, sizeof(VkImageType));
vkStream->read((VkImageTiling*)&forUnmarshaling->tiling, sizeof(VkImageTiling));
vkStream->read((VkImageUsageFlags*)&forUnmarshaling->usage, sizeof(VkImageUsageFlags));
vkStream->read((VkImageCreateFlags*)&forUnmarshaling->flags, sizeof(VkImageCreateFlags));
}
void marshal_VkQueueFamilyProperties2(VulkanStream* vkStream, VkStructureType rootType,
const VkQueueFamilyProperties2* forMarshaling) {
(void)rootType;
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_VkQueueFamilyProperties(
vkStream, rootType, (VkQueueFamilyProperties*)(&forMarshaling->queueFamilyProperties));
}
void unmarshal_VkQueueFamilyProperties2(VulkanStream* vkStream, VkStructureType rootType,
VkQueueFamilyProperties2* 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_VkQueueFamilyProperties(
vkStream, rootType, (VkQueueFamilyProperties*)(&forUnmarshaling->queueFamilyProperties));
}
void marshal_VkPhysicalDeviceMemoryProperties2(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceMemoryProperties2* forMarshaling) {
(void)rootType;
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_VkPhysicalDeviceMemoryProperties(
vkStream, rootType, (VkPhysicalDeviceMemoryProperties*)(&forMarshaling->memoryProperties));
}
void unmarshal_VkPhysicalDeviceMemoryProperties2(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceMemoryProperties2* 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_VkPhysicalDeviceMemoryProperties(
vkStream, rootType,
(VkPhysicalDeviceMemoryProperties*)(&forUnmarshaling->memoryProperties));
}
void marshal_VkSparseImageFormatProperties2(VulkanStream* vkStream, VkStructureType rootType,
const VkSparseImageFormatProperties2* forMarshaling) {
(void)rootType;
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_VkSparseImageFormatProperties(
vkStream, rootType, (VkSparseImageFormatProperties*)(&forMarshaling->properties));
}
void unmarshal_VkSparseImageFormatProperties2(VulkanStream* vkStream, VkStructureType rootType,
VkSparseImageFormatProperties2* 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_VkSparseImageFormatProperties(
vkStream, rootType, (VkSparseImageFormatProperties*)(&forUnmarshaling->properties));
}
void marshal_VkPhysicalDeviceSparseImageFormatInfo2(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceSparseImageFormatInfo2* forMarshaling) {
(void)rootType;
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));
vkStream->write((VkImageType*)&forMarshaling->type, sizeof(VkImageType));
vkStream->write((VkSampleCountFlagBits*)&forMarshaling->samples, sizeof(VkSampleCountFlagBits));
vkStream->write((VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags));
vkStream->write((VkImageTiling*)&forMarshaling->tiling, sizeof(VkImageTiling));
}
void unmarshal_VkPhysicalDeviceSparseImageFormatInfo2(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceSparseImageFormatInfo2* 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));
vkStream->read((VkImageType*)&forUnmarshaling->type, sizeof(VkImageType));
vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->samples,
sizeof(VkSampleCountFlagBits));
vkStream->read((VkImageUsageFlags*)&forUnmarshaling->usage, sizeof(VkImageUsageFlags));
vkStream->read((VkImageTiling*)&forUnmarshaling->tiling, sizeof(VkImageTiling));
}
void marshal_VkPhysicalDevicePointClippingProperties(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDevicePointClippingProperties* forMarshaling) {
(void)rootType;
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((VkPointClippingBehavior*)&forMarshaling->pointClippingBehavior,
sizeof(VkPointClippingBehavior));
}
void unmarshal_VkPhysicalDevicePointClippingProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDevicePointClippingProperties* 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((VkPointClippingBehavior*)&forUnmarshaling->pointClippingBehavior,
sizeof(VkPointClippingBehavior));
}
void marshal_VkInputAttachmentAspectReference(
VulkanStream* vkStream, VkStructureType rootType,
const VkInputAttachmentAspectReference* forMarshaling) {
(void)rootType;
vkStream->write((uint32_t*)&forMarshaling->subpass, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->inputAttachmentIndex, sizeof(uint32_t));
vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
}
void unmarshal_VkInputAttachmentAspectReference(VulkanStream* vkStream, VkStructureType rootType,
VkInputAttachmentAspectReference* forUnmarshaling) {
(void)rootType;
vkStream->read((uint32_t*)&forUnmarshaling->subpass, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->inputAttachmentIndex, sizeof(uint32_t));
vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags));
}
void marshal_VkRenderPassInputAttachmentAspectCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkRenderPassInputAttachmentAspectCreateInfo* forMarshaling) {
(void)rootType;
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->aspectReferenceCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->aspectReferenceCount; ++i) {
marshal_VkInputAttachmentAspectReference(
vkStream, rootType,
(const VkInputAttachmentAspectReference*)(forMarshaling->pAspectReferences + i));
}
}
}
void unmarshal_VkRenderPassInputAttachmentAspectCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkRenderPassInputAttachmentAspectCreateInfo* 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->aspectReferenceCount, sizeof(uint32_t));
vkStream->alloc(
(void**)&forUnmarshaling->pAspectReferences,
forUnmarshaling->aspectReferenceCount * sizeof(const VkInputAttachmentAspectReference));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->aspectReferenceCount; ++i) {
unmarshal_VkInputAttachmentAspectReference(
vkStream, rootType,
(VkInputAttachmentAspectReference*)(forUnmarshaling->pAspectReferences + i));
}
}
}
void marshal_VkImageViewUsageCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkImageViewUsageCreateInfo* forMarshaling) {
(void)rootType;
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((VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags));
}
void unmarshal_VkImageViewUsageCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkImageViewUsageCreateInfo* 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((VkImageUsageFlags*)&forUnmarshaling->usage, sizeof(VkImageUsageFlags));
}
void marshal_VkPipelineTessellationDomainOriginStateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkPipelineTessellationDomainOriginStateCreateInfo* forMarshaling) {
(void)rootType;
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((VkTessellationDomainOrigin*)&forMarshaling->domainOrigin,
sizeof(VkTessellationDomainOrigin));
}
void unmarshal_VkPipelineTessellationDomainOriginStateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineTessellationDomainOriginStateCreateInfo* 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((VkTessellationDomainOrigin*)&forUnmarshaling->domainOrigin,
sizeof(VkTessellationDomainOrigin));
}
void marshal_VkRenderPassMultiviewCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkRenderPassMultiviewCreateInfo* forMarshaling) {
(void)rootType;
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->subpassCount, sizeof(uint32_t));
vkStream->write((const uint32_t*)forMarshaling->pViewMasks,
forMarshaling->subpassCount * sizeof(const uint32_t));
vkStream->write((uint32_t*)&forMarshaling->dependencyCount, sizeof(uint32_t));
vkStream->write((const int32_t*)forMarshaling->pViewOffsets,
forMarshaling->dependencyCount * sizeof(const int32_t));
vkStream->write((uint32_t*)&forMarshaling->correlationMaskCount, sizeof(uint32_t));
vkStream->write((const uint32_t*)forMarshaling->pCorrelationMasks,
forMarshaling->correlationMaskCount * sizeof(const uint32_t));
}
void unmarshal_VkRenderPassMultiviewCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkRenderPassMultiviewCreateInfo* 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->subpassCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pViewMasks,
forUnmarshaling->subpassCount * sizeof(const uint32_t));
vkStream->read((uint32_t*)forUnmarshaling->pViewMasks,
forUnmarshaling->subpassCount * sizeof(const uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->dependencyCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pViewOffsets,
forUnmarshaling->dependencyCount * sizeof(const int32_t));
vkStream->read((int32_t*)forUnmarshaling->pViewOffsets,
forUnmarshaling->dependencyCount * sizeof(const int32_t));
vkStream->read((uint32_t*)&forUnmarshaling->correlationMaskCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pCorrelationMasks,
forUnmarshaling->correlationMaskCount * sizeof(const uint32_t));
vkStream->read((uint32_t*)forUnmarshaling->pCorrelationMasks,
forUnmarshaling->correlationMaskCount * sizeof(const uint32_t));
}
void marshal_VkPhysicalDeviceMultiviewFeatures(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceMultiviewFeatures* forMarshaling) {
(void)rootType;
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->multiview, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->multiviewGeometryShader, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->multiviewTessellationShader, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceMultiviewFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceMultiviewFeatures* 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->multiview, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->multiviewGeometryShader, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->multiviewTessellationShader, sizeof(VkBool32));
}
void marshal_VkPhysicalDeviceMultiviewProperties(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceMultiviewProperties* forMarshaling) {
(void)rootType;
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->maxMultiviewViewCount, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxMultiviewInstanceIndex, sizeof(uint32_t));
}
void unmarshal_VkPhysicalDeviceMultiviewProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceMultiviewProperties* 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->maxMultiviewViewCount, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxMultiviewInstanceIndex, sizeof(uint32_t));
}
void marshal_VkPhysicalDeviceVariablePointersFeatures(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceVariablePointersFeatures* forMarshaling) {
(void)rootType;
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->variablePointersStorageBuffer, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->variablePointers, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceVariablePointersFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceVariablePointersFeatures* 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->variablePointersStorageBuffer, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->variablePointers, sizeof(VkBool32));
}
void marshal_VkPhysicalDeviceProtectedMemoryFeatures(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceProtectedMemoryFeatures* forMarshaling) {
(void)rootType;
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->protectedMemory, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceProtectedMemoryFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceProtectedMemoryFeatures* 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->protectedMemory, sizeof(VkBool32));
}
void marshal_VkPhysicalDeviceProtectedMemoryProperties(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceProtectedMemoryProperties* forMarshaling) {
(void)rootType;
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->protectedNoFault, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceProtectedMemoryProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceProtectedMemoryProperties* 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->protectedNoFault, sizeof(VkBool32));
}
void marshal_VkDeviceQueueInfo2(VulkanStream* vkStream, VkStructureType rootType,
const VkDeviceQueueInfo2* forMarshaling) {
(void)rootType;
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((VkDeviceQueueCreateFlags*)&forMarshaling->flags,
sizeof(VkDeviceQueueCreateFlags));
vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndex, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->queueIndex, sizeof(uint32_t));
}
void unmarshal_VkDeviceQueueInfo2(VulkanStream* vkStream, VkStructureType rootType,
VkDeviceQueueInfo2* 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((VkDeviceQueueCreateFlags*)&forUnmarshaling->flags,
sizeof(VkDeviceQueueCreateFlags));
vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndex, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->queueIndex, sizeof(uint32_t));
}
void marshal_VkProtectedSubmitInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkProtectedSubmitInfo* forMarshaling) {
(void)rootType;
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->protectedSubmit, sizeof(VkBool32));
}
void unmarshal_VkProtectedSubmitInfo(VulkanStream* vkStream, VkStructureType rootType,
VkProtectedSubmitInfo* 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->protectedSubmit, sizeof(VkBool32));
}
void marshal_VkSamplerYcbcrConversionCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkSamplerYcbcrConversionCreateInfo* forMarshaling) {
(void)rootType;
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));
vkStream->write((VkSamplerYcbcrModelConversion*)&forMarshaling->ycbcrModel,
sizeof(VkSamplerYcbcrModelConversion));
vkStream->write((VkSamplerYcbcrRange*)&forMarshaling->ycbcrRange, sizeof(VkSamplerYcbcrRange));
marshal_VkComponentMapping(vkStream, rootType,
(VkComponentMapping*)(&forMarshaling->components));
vkStream->write((VkChromaLocation*)&forMarshaling->xChromaOffset, sizeof(VkChromaLocation));
vkStream->write((VkChromaLocation*)&forMarshaling->yChromaOffset, sizeof(VkChromaLocation));
vkStream->write((VkFilter*)&forMarshaling->chromaFilter, sizeof(VkFilter));
vkStream->write((VkBool32*)&forMarshaling->forceExplicitReconstruction, sizeof(VkBool32));
}
void unmarshal_VkSamplerYcbcrConversionCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkSamplerYcbcrConversionCreateInfo* 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));
vkStream->read((VkSamplerYcbcrModelConversion*)&forUnmarshaling->ycbcrModel,
sizeof(VkSamplerYcbcrModelConversion));
vkStream->read((VkSamplerYcbcrRange*)&forUnmarshaling->ycbcrRange, sizeof(VkSamplerYcbcrRange));
unmarshal_VkComponentMapping(vkStream, rootType,
(VkComponentMapping*)(&forUnmarshaling->components));
vkStream->read((VkChromaLocation*)&forUnmarshaling->xChromaOffset, sizeof(VkChromaLocation));
vkStream->read((VkChromaLocation*)&forUnmarshaling->yChromaOffset, sizeof(VkChromaLocation));
vkStream->read((VkFilter*)&forUnmarshaling->chromaFilter, sizeof(VkFilter));
vkStream->read((VkBool32*)&forUnmarshaling->forceExplicitReconstruction, sizeof(VkBool32));
}
void marshal_VkSamplerYcbcrConversionInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkSamplerYcbcrConversionInfo* forMarshaling) {
(void)rootType;
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_VkSamplerYcbcrConversion_u64(&forMarshaling->conversion,
&cgen_var_0, 1);
vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
}
void unmarshal_VkSamplerYcbcrConversionInfo(VulkanStream* vkStream, VkStructureType rootType,
VkSamplerYcbcrConversionInfo* 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_VkSamplerYcbcrConversion(
&cgen_var_0, (VkSamplerYcbcrConversion*)&forUnmarshaling->conversion, 1);
}
void marshal_VkBindImagePlaneMemoryInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkBindImagePlaneMemoryInfo* forMarshaling) {
(void)rootType;
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->planeAspect,
sizeof(VkImageAspectFlagBits));
}
void unmarshal_VkBindImagePlaneMemoryInfo(VulkanStream* vkStream, VkStructureType rootType,
VkBindImagePlaneMemoryInfo* 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->planeAspect,
sizeof(VkImageAspectFlagBits));
}
void marshal_VkImagePlaneMemoryRequirementsInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkImagePlaneMemoryRequirementsInfo* forMarshaling) {
(void)rootType;
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->planeAspect,
sizeof(VkImageAspectFlagBits));
}
void unmarshal_VkImagePlaneMemoryRequirementsInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkImagePlaneMemoryRequirementsInfo* 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->planeAspect,
sizeof(VkImageAspectFlagBits));
}
void marshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceSamplerYcbcrConversionFeatures* forMarshaling) {
(void)rootType;
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->samplerYcbcrConversion, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceSamplerYcbcrConversionFeatures* 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->samplerYcbcrConversion, sizeof(VkBool32));
}
void marshal_VkSamplerYcbcrConversionImageFormatProperties(
VulkanStream* vkStream, VkStructureType rootType,
const VkSamplerYcbcrConversionImageFormatProperties* forMarshaling) {
(void)rootType;
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->combinedImageSamplerDescriptorCount,
sizeof(uint32_t));
}
void unmarshal_VkSamplerYcbcrConversionImageFormatProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkSamplerYcbcrConversionImageFormatProperties* 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->combinedImageSamplerDescriptorCount,
sizeof(uint32_t));
}
void marshal_VkDescriptorUpdateTemplateEntry(VulkanStream* vkStream, VkStructureType rootType,
const VkDescriptorUpdateTemplateEntry* forMarshaling) {
(void)rootType;
vkStream->write((uint32_t*)&forMarshaling->dstBinding, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->dstArrayElement, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
vkStream->write((VkDescriptorType*)&forMarshaling->descriptorType, sizeof(VkDescriptorType));
uint64_t cgen_var_0 = (uint64_t)forMarshaling->offset;
vkStream->putBe64(cgen_var_0);
uint64_t cgen_var_1 = (uint64_t)forMarshaling->stride;
vkStream->putBe64(cgen_var_1);
}
void unmarshal_VkDescriptorUpdateTemplateEntry(VulkanStream* vkStream, VkStructureType rootType,
VkDescriptorUpdateTemplateEntry* forUnmarshaling) {
(void)rootType;
vkStream->read((uint32_t*)&forUnmarshaling->dstBinding, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->dstArrayElement, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->descriptorCount, sizeof(uint32_t));
vkStream->read((VkDescriptorType*)&forUnmarshaling->descriptorType, sizeof(VkDescriptorType));
forUnmarshaling->offset = (size_t)vkStream->getBe64();
forUnmarshaling->stride = (size_t)vkStream->getBe64();
}
void marshal_VkDescriptorUpdateTemplateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkDescriptorUpdateTemplateCreateInfo* forMarshaling) {
(void)rootType;
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((VkDescriptorUpdateTemplateCreateFlags*)&forMarshaling->flags,
sizeof(VkDescriptorUpdateTemplateCreateFlags));
vkStream->write((uint32_t*)&forMarshaling->descriptorUpdateEntryCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->descriptorUpdateEntryCount; ++i) {
marshal_VkDescriptorUpdateTemplateEntry(
vkStream, rootType,
(const VkDescriptorUpdateTemplateEntry*)(forMarshaling->pDescriptorUpdateEntries +
i));
}
}
vkStream->write((VkDescriptorUpdateTemplateType*)&forMarshaling->templateType,
sizeof(VkDescriptorUpdateTemplateType));
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((VkPipelineBindPoint*)&forMarshaling->pipelineBindPoint,
sizeof(VkPipelineBindPoint));
uint64_t cgen_var_1;
vkStream->handleMapping()->mapHandles_VkPipelineLayout_u64(&forMarshaling->pipelineLayout,
&cgen_var_1, 1);
vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
vkStream->write((uint32_t*)&forMarshaling->set, sizeof(uint32_t));
}
void unmarshal_VkDescriptorUpdateTemplateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkDescriptorUpdateTemplateCreateInfo* 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((VkDescriptorUpdateTemplateCreateFlags*)&forUnmarshaling->flags,
sizeof(VkDescriptorUpdateTemplateCreateFlags));
vkStream->read((uint32_t*)&forUnmarshaling->descriptorUpdateEntryCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pDescriptorUpdateEntries,
forUnmarshaling->descriptorUpdateEntryCount *
sizeof(const VkDescriptorUpdateTemplateEntry));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->descriptorUpdateEntryCount; ++i) {
unmarshal_VkDescriptorUpdateTemplateEntry(
vkStream, rootType,
(VkDescriptorUpdateTemplateEntry*)(forUnmarshaling->pDescriptorUpdateEntries + i));
}
}
vkStream->read((VkDescriptorUpdateTemplateType*)&forUnmarshaling->templateType,
sizeof(VkDescriptorUpdateTemplateType));
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((VkPipelineBindPoint*)&forUnmarshaling->pipelineBindPoint,
sizeof(VkPipelineBindPoint));
uint64_t cgen_var_1;
vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
vkStream->handleMapping()->mapHandles_u64_VkPipelineLayout(
&cgen_var_1, (VkPipelineLayout*)&forUnmarshaling->pipelineLayout, 1);
vkStream->read((uint32_t*)&forUnmarshaling->set, sizeof(uint32_t));
}
void marshal_VkExternalMemoryProperties(VulkanStream* vkStream, VkStructureType rootType,
const VkExternalMemoryProperties* forMarshaling) {
(void)rootType;
vkStream->write((VkExternalMemoryFeatureFlags*)&forMarshaling->externalMemoryFeatures,
sizeof(VkExternalMemoryFeatureFlags));
vkStream->write((VkExternalMemoryHandleTypeFlags*)&forMarshaling->exportFromImportedHandleTypes,
sizeof(VkExternalMemoryHandleTypeFlags));
vkStream->write((VkExternalMemoryHandleTypeFlags*)&forMarshaling->compatibleHandleTypes,
sizeof(VkExternalMemoryHandleTypeFlags));
}
void unmarshal_VkExternalMemoryProperties(VulkanStream* vkStream, VkStructureType rootType,
VkExternalMemoryProperties* forUnmarshaling) {
(void)rootType;
vkStream->read((VkExternalMemoryFeatureFlags*)&forUnmarshaling->externalMemoryFeatures,
sizeof(VkExternalMemoryFeatureFlags));
vkStream->read(
(VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->exportFromImportedHandleTypes,
sizeof(VkExternalMemoryHandleTypeFlags));
vkStream->read((VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->compatibleHandleTypes,
sizeof(VkExternalMemoryHandleTypeFlags));
}
void marshal_VkPhysicalDeviceExternalImageFormatInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceExternalImageFormatInfo* forMarshaling) {
(void)rootType;
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((VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType,
sizeof(VkExternalMemoryHandleTypeFlagBits));
}
void unmarshal_VkPhysicalDeviceExternalImageFormatInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceExternalImageFormatInfo* 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((VkExternalMemoryHandleTypeFlagBits*)&forUnmarshaling->handleType,
sizeof(VkExternalMemoryHandleTypeFlagBits));
}
void marshal_VkExternalImageFormatProperties(VulkanStream* vkStream, VkStructureType rootType,
const VkExternalImageFormatProperties* forMarshaling) {
(void)rootType;
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_VkExternalMemoryProperties(
vkStream, rootType,
(VkExternalMemoryProperties*)(&forMarshaling->externalMemoryProperties));
}
void unmarshal_VkExternalImageFormatProperties(VulkanStream* vkStream, VkStructureType rootType,
VkExternalImageFormatProperties* 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_VkExternalMemoryProperties(
vkStream, rootType,
(VkExternalMemoryProperties*)(&forUnmarshaling->externalMemoryProperties));
}
void marshal_VkPhysicalDeviceExternalBufferInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceExternalBufferInfo* forMarshaling) {
(void)rootType;
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((VkBufferCreateFlags*)&forMarshaling->flags, sizeof(VkBufferCreateFlags));
vkStream->write((VkBufferUsageFlags*)&forMarshaling->usage, sizeof(VkBufferUsageFlags));
vkStream->write((VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType,
sizeof(VkExternalMemoryHandleTypeFlagBits));
}
void unmarshal_VkPhysicalDeviceExternalBufferInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceExternalBufferInfo* 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((VkBufferCreateFlags*)&forUnmarshaling->flags, sizeof(VkBufferCreateFlags));
vkStream->read((VkBufferUsageFlags*)&forUnmarshaling->usage, sizeof(VkBufferUsageFlags));
vkStream->read((VkExternalMemoryHandleTypeFlagBits*)&forUnmarshaling->handleType,
sizeof(VkExternalMemoryHandleTypeFlagBits));
}
void marshal_VkExternalBufferProperties(VulkanStream* vkStream, VkStructureType rootType,
const VkExternalBufferProperties* forMarshaling) {
(void)rootType;
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_VkExternalMemoryProperties(
vkStream, rootType,
(VkExternalMemoryProperties*)(&forMarshaling->externalMemoryProperties));
}
void unmarshal_VkExternalBufferProperties(VulkanStream* vkStream, VkStructureType rootType,
VkExternalBufferProperties* 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_VkExternalMemoryProperties(
vkStream, rootType,
(VkExternalMemoryProperties*)(&forUnmarshaling->externalMemoryProperties));
}
void marshal_VkPhysicalDeviceIDProperties(VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceIDProperties* forMarshaling) {
(void)rootType;
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->deviceUUID, VK_UUID_SIZE * sizeof(uint8_t));
vkStream->write((uint8_t*)forMarshaling->driverUUID, VK_UUID_SIZE * sizeof(uint8_t));
vkStream->write((uint8_t*)forMarshaling->deviceLUID, VK_LUID_SIZE * sizeof(uint8_t));
vkStream->write((uint32_t*)&forMarshaling->deviceNodeMask, sizeof(uint32_t));
vkStream->write((VkBool32*)&forMarshaling->deviceLUIDValid, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceIDProperties(VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceIDProperties* 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->deviceUUID, VK_UUID_SIZE * sizeof(uint8_t));
vkStream->read((uint8_t*)forUnmarshaling->driverUUID, VK_UUID_SIZE * sizeof(uint8_t));
vkStream->read((uint8_t*)forUnmarshaling->deviceLUID, VK_LUID_SIZE * sizeof(uint8_t));
vkStream->read((uint32_t*)&forUnmarshaling->deviceNodeMask, sizeof(uint32_t));
vkStream->read((VkBool32*)&forUnmarshaling->deviceLUIDValid, sizeof(VkBool32));
}
void marshal_VkExternalMemoryImageCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkExternalMemoryImageCreateInfo* forMarshaling) {
(void)rootType;
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((VkExternalMemoryHandleTypeFlags*)&forMarshaling->handleTypes,
sizeof(VkExternalMemoryHandleTypeFlags));
}
void unmarshal_VkExternalMemoryImageCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkExternalMemoryImageCreateInfo* 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((VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->handleTypes,
sizeof(VkExternalMemoryHandleTypeFlags));
}
void marshal_VkExternalMemoryBufferCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkExternalMemoryBufferCreateInfo* forMarshaling) {
(void)rootType;
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((VkExternalMemoryHandleTypeFlags*)&forMarshaling->handleTypes,
sizeof(VkExternalMemoryHandleTypeFlags));
}
void unmarshal_VkExternalMemoryBufferCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkExternalMemoryBufferCreateInfo* 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((VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->handleTypes,
sizeof(VkExternalMemoryHandleTypeFlags));
}
void marshal_VkExportMemoryAllocateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkExportMemoryAllocateInfo* forMarshaling) {
(void)rootType;
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((VkExternalMemoryHandleTypeFlags*)&forMarshaling->handleTypes,
sizeof(VkExternalMemoryHandleTypeFlags));
}
void unmarshal_VkExportMemoryAllocateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkExportMemoryAllocateInfo* 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((VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->handleTypes,
sizeof(VkExternalMemoryHandleTypeFlags));
}
void marshal_VkPhysicalDeviceExternalFenceInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceExternalFenceInfo* forMarshaling) {
(void)rootType;
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((VkExternalFenceHandleTypeFlagBits*)&forMarshaling->handleType,
sizeof(VkExternalFenceHandleTypeFlagBits));
}
void unmarshal_VkPhysicalDeviceExternalFenceInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceExternalFenceInfo* 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((VkExternalFenceHandleTypeFlagBits*)&forUnmarshaling->handleType,
sizeof(VkExternalFenceHandleTypeFlagBits));
}
void marshal_VkExternalFenceProperties(VulkanStream* vkStream, VkStructureType rootType,
const VkExternalFenceProperties* forMarshaling) {
(void)rootType;
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((VkExternalFenceHandleTypeFlags*)&forMarshaling->exportFromImportedHandleTypes,
sizeof(VkExternalFenceHandleTypeFlags));
vkStream->write((VkExternalFenceHandleTypeFlags*)&forMarshaling->compatibleHandleTypes,
sizeof(VkExternalFenceHandleTypeFlags));
vkStream->write((VkExternalFenceFeatureFlags*)&forMarshaling->externalFenceFeatures,
sizeof(VkExternalFenceFeatureFlags));
}
void unmarshal_VkExternalFenceProperties(VulkanStream* vkStream, VkStructureType rootType,
VkExternalFenceProperties* 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((VkExternalFenceHandleTypeFlags*)&forUnmarshaling->exportFromImportedHandleTypes,
sizeof(VkExternalFenceHandleTypeFlags));
vkStream->read((VkExternalFenceHandleTypeFlags*)&forUnmarshaling->compatibleHandleTypes,
sizeof(VkExternalFenceHandleTypeFlags));
vkStream->read((VkExternalFenceFeatureFlags*)&forUnmarshaling->externalFenceFeatures,
sizeof(VkExternalFenceFeatureFlags));
}
void marshal_VkExportFenceCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkExportFenceCreateInfo* forMarshaling) {
(void)rootType;
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((VkExternalFenceHandleTypeFlags*)&forMarshaling->handleTypes,
sizeof(VkExternalFenceHandleTypeFlags));
}
void unmarshal_VkExportFenceCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkExportFenceCreateInfo* 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((VkExternalFenceHandleTypeFlags*)&forUnmarshaling->handleTypes,
sizeof(VkExternalFenceHandleTypeFlags));
}
void marshal_VkExportSemaphoreCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkExportSemaphoreCreateInfo* forMarshaling) {
(void)rootType;
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((VkExternalSemaphoreHandleTypeFlags*)&forMarshaling->handleTypes,
sizeof(VkExternalSemaphoreHandleTypeFlags));
}
void unmarshal_VkExportSemaphoreCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkExportSemaphoreCreateInfo* 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((VkExternalSemaphoreHandleTypeFlags*)&forUnmarshaling->handleTypes,
sizeof(VkExternalSemaphoreHandleTypeFlags));
}
void marshal_VkPhysicalDeviceExternalSemaphoreInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceExternalSemaphoreInfo* forMarshaling) {
(void)rootType;
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((VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType,
sizeof(VkExternalSemaphoreHandleTypeFlagBits));
}
void unmarshal_VkPhysicalDeviceExternalSemaphoreInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceExternalSemaphoreInfo* 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((VkExternalSemaphoreHandleTypeFlagBits*)&forUnmarshaling->handleType,
sizeof(VkExternalSemaphoreHandleTypeFlagBits));
}
void marshal_VkExternalSemaphoreProperties(VulkanStream* vkStream, VkStructureType rootType,
const VkExternalSemaphoreProperties* forMarshaling) {
(void)rootType;
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(
(VkExternalSemaphoreHandleTypeFlags*)&forMarshaling->exportFromImportedHandleTypes,
sizeof(VkExternalSemaphoreHandleTypeFlags));
vkStream->write((VkExternalSemaphoreHandleTypeFlags*)&forMarshaling->compatibleHandleTypes,
sizeof(VkExternalSemaphoreHandleTypeFlags));
vkStream->write((VkExternalSemaphoreFeatureFlags*)&forMarshaling->externalSemaphoreFeatures,
sizeof(VkExternalSemaphoreFeatureFlags));
}
void unmarshal_VkExternalSemaphoreProperties(VulkanStream* vkStream, VkStructureType rootType,
VkExternalSemaphoreProperties* 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(
(VkExternalSemaphoreHandleTypeFlags*)&forUnmarshaling->exportFromImportedHandleTypes,
sizeof(VkExternalSemaphoreHandleTypeFlags));
vkStream->read((VkExternalSemaphoreHandleTypeFlags*)&forUnmarshaling->compatibleHandleTypes,
sizeof(VkExternalSemaphoreHandleTypeFlags));
vkStream->read((VkExternalSemaphoreFeatureFlags*)&forUnmarshaling->externalSemaphoreFeatures,
sizeof(VkExternalSemaphoreFeatureFlags));
}
void marshal_VkPhysicalDeviceMaintenance3Properties(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceMaintenance3Properties* forMarshaling) {
(void)rootType;
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->maxPerSetDescriptors, sizeof(uint32_t));
vkStream->write((VkDeviceSize*)&forMarshaling->maxMemoryAllocationSize, sizeof(VkDeviceSize));
}
void unmarshal_VkPhysicalDeviceMaintenance3Properties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceMaintenance3Properties* 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->maxPerSetDescriptors, sizeof(uint32_t));
vkStream->read((VkDeviceSize*)&forUnmarshaling->maxMemoryAllocationSize, sizeof(VkDeviceSize));
}
void marshal_VkDescriptorSetLayoutSupport(VulkanStream* vkStream, VkStructureType rootType,
const VkDescriptorSetLayoutSupport* forMarshaling) {
(void)rootType;
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->supported, sizeof(VkBool32));
}
void unmarshal_VkDescriptorSetLayoutSupport(VulkanStream* vkStream, VkStructureType rootType,
VkDescriptorSetLayoutSupport* 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->supported, sizeof(VkBool32));
}
void marshal_VkPhysicalDeviceShaderDrawParametersFeatures(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceShaderDrawParametersFeatures* forMarshaling) {
(void)rootType;
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->shaderDrawParameters, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceShaderDrawParametersFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceShaderDrawParametersFeatures* 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->shaderDrawParameters, sizeof(VkBool32));
}
#endif
#ifdef VK_VERSION_1_2
void marshal_VkPhysicalDeviceVulkan11Features(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceVulkan11Features* forMarshaling) {
(void)rootType;
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->storageBuffer16BitAccess, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->uniformAndStorageBuffer16BitAccess,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->storagePushConstant16, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->storageInputOutput16, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->multiview, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->multiviewGeometryShader, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->multiviewTessellationShader, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->variablePointersStorageBuffer, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->variablePointers, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->protectedMemory, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->samplerYcbcrConversion, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderDrawParameters, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceVulkan11Features(VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceVulkan11Features* 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->storageBuffer16BitAccess, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->uniformAndStorageBuffer16BitAccess,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->storagePushConstant16, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->storageInputOutput16, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->multiview, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->multiviewGeometryShader, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->multiviewTessellationShader, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->variablePointersStorageBuffer, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->variablePointers, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->protectedMemory, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->samplerYcbcrConversion, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderDrawParameters, sizeof(VkBool32));
}
void marshal_VkPhysicalDeviceVulkan11Properties(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceVulkan11Properties* forMarshaling) {
(void)rootType;
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->deviceUUID, VK_UUID_SIZE * sizeof(uint8_t));
vkStream->write((uint8_t*)forMarshaling->driverUUID, VK_UUID_SIZE * sizeof(uint8_t));
vkStream->write((uint8_t*)forMarshaling->deviceLUID, VK_LUID_SIZE * sizeof(uint8_t));
vkStream->write((uint32_t*)&forMarshaling->deviceNodeMask, sizeof(uint32_t));
vkStream->write((VkBool32*)&forMarshaling->deviceLUIDValid, sizeof(VkBool32));
vkStream->write((uint32_t*)&forMarshaling->subgroupSize, sizeof(uint32_t));
vkStream->write((VkShaderStageFlags*)&forMarshaling->subgroupSupportedStages,
sizeof(VkShaderStageFlags));
vkStream->write((VkSubgroupFeatureFlags*)&forMarshaling->subgroupSupportedOperations,
sizeof(VkSubgroupFeatureFlags));
vkStream->write((VkBool32*)&forMarshaling->subgroupQuadOperationsInAllStages, sizeof(VkBool32));
vkStream->write((VkPointClippingBehavior*)&forMarshaling->pointClippingBehavior,
sizeof(VkPointClippingBehavior));
vkStream->write((uint32_t*)&forMarshaling->maxMultiviewViewCount, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxMultiviewInstanceIndex, sizeof(uint32_t));
vkStream->write((VkBool32*)&forMarshaling->protectedNoFault, sizeof(VkBool32));
vkStream->write((uint32_t*)&forMarshaling->maxPerSetDescriptors, sizeof(uint32_t));
vkStream->write((VkDeviceSize*)&forMarshaling->maxMemoryAllocationSize, sizeof(VkDeviceSize));
}
void unmarshal_VkPhysicalDeviceVulkan11Properties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceVulkan11Properties* 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->deviceUUID, VK_UUID_SIZE * sizeof(uint8_t));
vkStream->read((uint8_t*)forUnmarshaling->driverUUID, VK_UUID_SIZE * sizeof(uint8_t));
vkStream->read((uint8_t*)forUnmarshaling->deviceLUID, VK_LUID_SIZE * sizeof(uint8_t));
vkStream->read((uint32_t*)&forUnmarshaling->deviceNodeMask, sizeof(uint32_t));
vkStream->read((VkBool32*)&forUnmarshaling->deviceLUIDValid, sizeof(VkBool32));
vkStream->read((uint32_t*)&forUnmarshaling->subgroupSize, sizeof(uint32_t));
vkStream->read((VkShaderStageFlags*)&forUnmarshaling->subgroupSupportedStages,
sizeof(VkShaderStageFlags));
vkStream->read((VkSubgroupFeatureFlags*)&forUnmarshaling->subgroupSupportedOperations,
sizeof(VkSubgroupFeatureFlags));
vkStream->read((VkBool32*)&forUnmarshaling->subgroupQuadOperationsInAllStages,
sizeof(VkBool32));
vkStream->read((VkPointClippingBehavior*)&forUnmarshaling->pointClippingBehavior,
sizeof(VkPointClippingBehavior));
vkStream->read((uint32_t*)&forUnmarshaling->maxMultiviewViewCount, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxMultiviewInstanceIndex, sizeof(uint32_t));
vkStream->read((VkBool32*)&forUnmarshaling->protectedNoFault, sizeof(VkBool32));
vkStream->read((uint32_t*)&forUnmarshaling->maxPerSetDescriptors, sizeof(uint32_t));
vkStream->read((VkDeviceSize*)&forUnmarshaling->maxMemoryAllocationSize, sizeof(VkDeviceSize));
}
void marshal_VkPhysicalDeviceVulkan12Features(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceVulkan12Features* forMarshaling) {
(void)rootType;
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->samplerMirrorClampToEdge, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->drawIndirectCount, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->storageBuffer8BitAccess, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->uniformAndStorageBuffer8BitAccess, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->storagePushConstant8, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderBufferInt64Atomics, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderSharedInt64Atomics, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderFloat16, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderInt8, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->descriptorIndexing, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderInputAttachmentArrayDynamicIndexing,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderUniformTexelBufferArrayDynamicIndexing,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderStorageTexelBufferArrayDynamicIndexing,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderUniformBufferArrayNonUniformIndexing,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderSampledImageArrayNonUniformIndexing,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderStorageBufferArrayNonUniformIndexing,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageArrayNonUniformIndexing,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderInputAttachmentArrayNonUniformIndexing,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderUniformTexelBufferArrayNonUniformIndexing,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderStorageTexelBufferArrayNonUniformIndexing,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->descriptorBindingUniformBufferUpdateAfterBind,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->descriptorBindingSampledImageUpdateAfterBind,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->descriptorBindingStorageImageUpdateAfterBind,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->descriptorBindingStorageBufferUpdateAfterBind,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->descriptorBindingUniformTexelBufferUpdateAfterBind,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->descriptorBindingStorageTexelBufferUpdateAfterBind,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->descriptorBindingUpdateUnusedWhilePending,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->descriptorBindingPartiallyBound, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->descriptorBindingVariableDescriptorCount,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->runtimeDescriptorArray, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->samplerFilterMinmax, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->scalarBlockLayout, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->imagelessFramebuffer, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->uniformBufferStandardLayout, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderSubgroupExtendedTypes, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->separateDepthStencilLayouts, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->hostQueryReset, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->timelineSemaphore, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->bufferDeviceAddress, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->bufferDeviceAddressCaptureReplay, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->bufferDeviceAddressMultiDevice, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->vulkanMemoryModel, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->vulkanMemoryModelDeviceScope, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->vulkanMemoryModelAvailabilityVisibilityChains,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderOutputViewportIndex, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderOutputLayer, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->subgroupBroadcastDynamicId, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceVulkan12Features(VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceVulkan12Features* 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->samplerMirrorClampToEdge, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->drawIndirectCount, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->storageBuffer8BitAccess, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->uniformAndStorageBuffer8BitAccess,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->storagePushConstant8, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderBufferInt64Atomics, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderSharedInt64Atomics, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderFloat16, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderInt8, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->descriptorIndexing, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderInputAttachmentArrayDynamicIndexing,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformTexelBufferArrayDynamicIndexing,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageTexelBufferArrayDynamicIndexing,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformBufferArrayNonUniformIndexing,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderSampledImageArrayNonUniformIndexing,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageBufferArrayNonUniformIndexing,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageArrayNonUniformIndexing,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderInputAttachmentArrayNonUniformIndexing,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformTexelBufferArrayNonUniformIndexing,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageTexelBufferArrayNonUniformIndexing,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingUniformBufferUpdateAfterBind,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingSampledImageUpdateAfterBind,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingStorageImageUpdateAfterBind,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingStorageBufferUpdateAfterBind,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingUniformTexelBufferUpdateAfterBind,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingStorageTexelBufferUpdateAfterBind,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingUpdateUnusedWhilePending,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingPartiallyBound, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingVariableDescriptorCount,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->runtimeDescriptorArray, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->samplerFilterMinmax, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->scalarBlockLayout, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->imagelessFramebuffer, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->uniformBufferStandardLayout, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderSubgroupExtendedTypes, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->separateDepthStencilLayouts, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->hostQueryReset, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->timelineSemaphore, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->bufferDeviceAddress, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->bufferDeviceAddressCaptureReplay, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->bufferDeviceAddressMultiDevice, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->vulkanMemoryModel, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->vulkanMemoryModelDeviceScope, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->vulkanMemoryModelAvailabilityVisibilityChains,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderOutputViewportIndex, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderOutputLayer, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->subgroupBroadcastDynamicId, sizeof(VkBool32));
}
void marshal_VkConformanceVersion(VulkanStream* vkStream, VkStructureType rootType,
const VkConformanceVersion* forMarshaling) {
(void)rootType;
vkStream->write((uint8_t*)&forMarshaling->major, sizeof(uint8_t));
vkStream->write((uint8_t*)&forMarshaling->minor, sizeof(uint8_t));
vkStream->write((uint8_t*)&forMarshaling->subminor, sizeof(uint8_t));
vkStream->write((uint8_t*)&forMarshaling->patch, sizeof(uint8_t));
}
void unmarshal_VkConformanceVersion(VulkanStream* vkStream, VkStructureType rootType,
VkConformanceVersion* forUnmarshaling) {
(void)rootType;
vkStream->read((uint8_t*)&forUnmarshaling->major, sizeof(uint8_t));
vkStream->read((uint8_t*)&forUnmarshaling->minor, sizeof(uint8_t));
vkStream->read((uint8_t*)&forUnmarshaling->subminor, sizeof(uint8_t));
vkStream->read((uint8_t*)&forUnmarshaling->patch, sizeof(uint8_t));
}
void marshal_VkPhysicalDeviceVulkan12Properties(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceVulkan12Properties* forMarshaling) {
(void)rootType;
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((VkDriverId*)&forMarshaling->driverID, sizeof(VkDriverId));
vkStream->write((char*)forMarshaling->driverName, VK_MAX_DRIVER_NAME_SIZE * sizeof(char));
vkStream->write((char*)forMarshaling->driverInfo, VK_MAX_DRIVER_INFO_SIZE * sizeof(char));
marshal_VkConformanceVersion(vkStream, rootType,
(VkConformanceVersion*)(&forMarshaling->conformanceVersion));
vkStream->write((VkShaderFloatControlsIndependence*)&forMarshaling->denormBehaviorIndependence,
sizeof(VkShaderFloatControlsIndependence));
vkStream->write((VkShaderFloatControlsIndependence*)&forMarshaling->roundingModeIndependence,
sizeof(VkShaderFloatControlsIndependence));
vkStream->write((VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat16,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat32,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat64,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderDenormPreserveFloat16, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderDenormPreserveFloat32, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderDenormPreserveFloat64, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat16, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat32, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat64, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat16, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat32, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat64, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat16, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat32, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat64, sizeof(VkBool32));
vkStream->write((uint32_t*)&forMarshaling->maxUpdateAfterBindDescriptorsInAllPools,
sizeof(uint32_t));
vkStream->write((VkBool32*)&forMarshaling->shaderUniformBufferArrayNonUniformIndexingNative,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderSampledImageArrayNonUniformIndexingNative,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderStorageBufferArrayNonUniformIndexingNative,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageArrayNonUniformIndexingNative,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderInputAttachmentArrayNonUniformIndexingNative,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->robustBufferAccessUpdateAfterBind, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->quadDivergentImplicitLod, sizeof(VkBool32));
vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindSamplers,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindUniformBuffers,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindStorageBuffers,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindSampledImages,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindStorageImages,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindInputAttachments,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxPerStageUpdateAfterBindResources,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindSamplers,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindUniformBuffers,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageBuffers,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindSampledImages,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageImages,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindInputAttachments,
sizeof(uint32_t));
vkStream->write((VkResolveModeFlags*)&forMarshaling->supportedDepthResolveModes,
sizeof(VkResolveModeFlags));
vkStream->write((VkResolveModeFlags*)&forMarshaling->supportedStencilResolveModes,
sizeof(VkResolveModeFlags));
vkStream->write((VkBool32*)&forMarshaling->independentResolveNone, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->independentResolve, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->filterMinmaxSingleComponentFormats,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->filterMinmaxImageComponentMapping, sizeof(VkBool32));
vkStream->write((uint64_t*)&forMarshaling->maxTimelineSemaphoreValueDifference,
sizeof(uint64_t));
vkStream->write((VkSampleCountFlags*)&forMarshaling->framebufferIntegerColorSampleCounts,
sizeof(VkSampleCountFlags));
}
void unmarshal_VkPhysicalDeviceVulkan12Properties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceVulkan12Properties* 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((VkDriverId*)&forUnmarshaling->driverID, sizeof(VkDriverId));
vkStream->read((char*)forUnmarshaling->driverName, VK_MAX_DRIVER_NAME_SIZE * sizeof(char));
vkStream->read((char*)forUnmarshaling->driverInfo, VK_MAX_DRIVER_INFO_SIZE * sizeof(char));
unmarshal_VkConformanceVersion(vkStream, rootType,
(VkConformanceVersion*)(&forUnmarshaling->conformanceVersion));
vkStream->read((VkShaderFloatControlsIndependence*)&forUnmarshaling->denormBehaviorIndependence,
sizeof(VkShaderFloatControlsIndependence));
vkStream->read((VkShaderFloatControlsIndependence*)&forUnmarshaling->roundingModeIndependence,
sizeof(VkShaderFloatControlsIndependence));
vkStream->read((VkBool32*)&forUnmarshaling->shaderSignedZeroInfNanPreserveFloat16,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderSignedZeroInfNanPreserveFloat32,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderSignedZeroInfNanPreserveFloat64,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormPreserveFloat16, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormPreserveFloat32, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormPreserveFloat64, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormFlushToZeroFloat16, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormFlushToZeroFloat32, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormFlushToZeroFloat64, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTEFloat16, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTEFloat32, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTEFloat64, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTZFloat16, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTZFloat32, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTZFloat64, sizeof(VkBool32));
vkStream->read((uint32_t*)&forUnmarshaling->maxUpdateAfterBindDescriptorsInAllPools,
sizeof(uint32_t));
vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformBufferArrayNonUniformIndexingNative,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderSampledImageArrayNonUniformIndexingNative,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageBufferArrayNonUniformIndexingNative,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageArrayNonUniformIndexingNative,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderInputAttachmentArrayNonUniformIndexingNative,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->robustBufferAccessUpdateAfterBind,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->quadDivergentImplicitLod, sizeof(VkBool32));
vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindSamplers,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindUniformBuffers,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindStorageBuffers,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindSampledImages,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindStorageImages,
sizeof(uint32_t));
vkStream->read(
(uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindInputAttachments,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageUpdateAfterBindResources,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindSamplers,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindUniformBuffers,
sizeof(uint32_t));
vkStream->read(
(uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageBuffers,
sizeof(uint32_t));
vkStream->read(
(uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindSampledImages,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageImages,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindInputAttachments,
sizeof(uint32_t));
vkStream->read((VkResolveModeFlags*)&forUnmarshaling->supportedDepthResolveModes,
sizeof(VkResolveModeFlags));
vkStream->read((VkResolveModeFlags*)&forUnmarshaling->supportedStencilResolveModes,
sizeof(VkResolveModeFlags));
vkStream->read((VkBool32*)&forUnmarshaling->independentResolveNone, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->independentResolve, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->filterMinmaxSingleComponentFormats,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->filterMinmaxImageComponentMapping,
sizeof(VkBool32));
vkStream->read((uint64_t*)&forUnmarshaling->maxTimelineSemaphoreValueDifference,
sizeof(uint64_t));
vkStream->read((VkSampleCountFlags*)&forUnmarshaling->framebufferIntegerColorSampleCounts,
sizeof(VkSampleCountFlags));
}
void marshal_VkImageFormatListCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkImageFormatListCreateInfo* forMarshaling) {
(void)rootType;
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->viewFormatCount, sizeof(uint32_t));
vkStream->write((const VkFormat*)forMarshaling->pViewFormats,
forMarshaling->viewFormatCount * sizeof(const VkFormat));
}
void unmarshal_VkImageFormatListCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkImageFormatListCreateInfo* 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->viewFormatCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pViewFormats,
forUnmarshaling->viewFormatCount * sizeof(const VkFormat));
vkStream->read((VkFormat*)forUnmarshaling->pViewFormats,
forUnmarshaling->viewFormatCount * sizeof(const VkFormat));
}
void marshal_VkAttachmentDescription2(VulkanStream* vkStream, VkStructureType rootType,
const VkAttachmentDescription2* forMarshaling) {
(void)rootType;
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((VkAttachmentDescriptionFlags*)&forMarshaling->flags,
sizeof(VkAttachmentDescriptionFlags));
vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
vkStream->write((VkSampleCountFlagBits*)&forMarshaling->samples, sizeof(VkSampleCountFlagBits));
vkStream->write((VkAttachmentLoadOp*)&forMarshaling->loadOp, sizeof(VkAttachmentLoadOp));
vkStream->write((VkAttachmentStoreOp*)&forMarshaling->storeOp, sizeof(VkAttachmentStoreOp));
vkStream->write((VkAttachmentLoadOp*)&forMarshaling->stencilLoadOp, sizeof(VkAttachmentLoadOp));
vkStream->write((VkAttachmentStoreOp*)&forMarshaling->stencilStoreOp,
sizeof(VkAttachmentStoreOp));
vkStream->write((VkImageLayout*)&forMarshaling->initialLayout, sizeof(VkImageLayout));
vkStream->write((VkImageLayout*)&forMarshaling->finalLayout, sizeof(VkImageLayout));
}
void unmarshal_VkAttachmentDescription2(VulkanStream* vkStream, VkStructureType rootType,
VkAttachmentDescription2* 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((VkAttachmentDescriptionFlags*)&forUnmarshaling->flags,
sizeof(VkAttachmentDescriptionFlags));
vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->samples,
sizeof(VkSampleCountFlagBits));
vkStream->read((VkAttachmentLoadOp*)&forUnmarshaling->loadOp, sizeof(VkAttachmentLoadOp));
vkStream->read((VkAttachmentStoreOp*)&forUnmarshaling->storeOp, sizeof(VkAttachmentStoreOp));
vkStream->read((VkAttachmentLoadOp*)&forUnmarshaling->stencilLoadOp,
sizeof(VkAttachmentLoadOp));
vkStream->read((VkAttachmentStoreOp*)&forUnmarshaling->stencilStoreOp,
sizeof(VkAttachmentStoreOp));
vkStream->read((VkImageLayout*)&forUnmarshaling->initialLayout, sizeof(VkImageLayout));
vkStream->read((VkImageLayout*)&forUnmarshaling->finalLayout, sizeof(VkImageLayout));
}
void marshal_VkAttachmentReference2(VulkanStream* vkStream, VkStructureType rootType,
const VkAttachmentReference2* forMarshaling) {
(void)rootType;
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->attachment, sizeof(uint32_t));
vkStream->write((VkImageLayout*)&forMarshaling->layout, sizeof(VkImageLayout));
vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
}
void unmarshal_VkAttachmentReference2(VulkanStream* vkStream, VkStructureType rootType,
VkAttachmentReference2* 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->attachment, sizeof(uint32_t));
vkStream->read((VkImageLayout*)&forUnmarshaling->layout, sizeof(VkImageLayout));
vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags));
}
void marshal_VkSubpassDescription2(VulkanStream* vkStream, VkStructureType rootType,
const VkSubpassDescription2* forMarshaling) {
(void)rootType;
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((VkSubpassDescriptionFlags*)&forMarshaling->flags,
sizeof(VkSubpassDescriptionFlags));
vkStream->write((VkPipelineBindPoint*)&forMarshaling->pipelineBindPoint,
sizeof(VkPipelineBindPoint));
vkStream->write((uint32_t*)&forMarshaling->viewMask, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->inputAttachmentCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->inputAttachmentCount; ++i) {
marshal_VkAttachmentReference2(
vkStream, rootType,
(const VkAttachmentReference2*)(forMarshaling->pInputAttachments + i));
}
}
vkStream->write((uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) {
marshal_VkAttachmentReference2(
vkStream, rootType,
(const VkAttachmentReference2*)(forMarshaling->pColorAttachments + i));
}
}
// WARNING PTR CHECK
uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pResolveAttachments;
vkStream->putBe64(cgen_var_0);
if (forMarshaling->pResolveAttachments) {
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) {
marshal_VkAttachmentReference2(
vkStream, rootType,
(const VkAttachmentReference2*)(forMarshaling->pResolveAttachments + i));
}
}
}
// WARNING PTR CHECK
uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pDepthStencilAttachment;
vkStream->putBe64(cgen_var_1);
if (forMarshaling->pDepthStencilAttachment) {
marshal_VkAttachmentReference2(
vkStream, rootType,
(const VkAttachmentReference2*)(forMarshaling->pDepthStencilAttachment));
}
vkStream->write((uint32_t*)&forMarshaling->preserveAttachmentCount, sizeof(uint32_t));
vkStream->write((const uint32_t*)forMarshaling->pPreserveAttachments,
forMarshaling->preserveAttachmentCount * sizeof(const uint32_t));
}
void unmarshal_VkSubpassDescription2(VulkanStream* vkStream, VkStructureType rootType,
VkSubpassDescription2* 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((VkSubpassDescriptionFlags*)&forUnmarshaling->flags,
sizeof(VkSubpassDescriptionFlags));
vkStream->read((VkPipelineBindPoint*)&forUnmarshaling->pipelineBindPoint,
sizeof(VkPipelineBindPoint));
vkStream->read((uint32_t*)&forUnmarshaling->viewMask, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->inputAttachmentCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pInputAttachments,
forUnmarshaling->inputAttachmentCount * sizeof(const VkAttachmentReference2));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->inputAttachmentCount; ++i) {
unmarshal_VkAttachmentReference2(
vkStream, rootType,
(VkAttachmentReference2*)(forUnmarshaling->pInputAttachments + i));
}
}
vkStream->read((uint32_t*)&forUnmarshaling->colorAttachmentCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pColorAttachments,
forUnmarshaling->colorAttachmentCount * sizeof(const VkAttachmentReference2));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorAttachmentCount; ++i) {
unmarshal_VkAttachmentReference2(
vkStream, rootType,
(VkAttachmentReference2*)(forUnmarshaling->pColorAttachments + i));
}
}
// WARNING PTR CHECK
forUnmarshaling->pResolveAttachments =
(const VkAttachmentReference2*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pResolveAttachments) {
vkStream->alloc(
(void**)&forUnmarshaling->pResolveAttachments,
forUnmarshaling->colorAttachmentCount * sizeof(const VkAttachmentReference2));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorAttachmentCount; ++i) {
unmarshal_VkAttachmentReference2(
vkStream, rootType,
(VkAttachmentReference2*)(forUnmarshaling->pResolveAttachments + i));
}
}
}
// WARNING PTR CHECK
forUnmarshaling->pDepthStencilAttachment =
(const VkAttachmentReference2*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pDepthStencilAttachment) {
vkStream->alloc((void**)&forUnmarshaling->pDepthStencilAttachment,
sizeof(const VkAttachmentReference2));
unmarshal_VkAttachmentReference2(
vkStream, rootType,
(VkAttachmentReference2*)(forUnmarshaling->pDepthStencilAttachment));
}
vkStream->read((uint32_t*)&forUnmarshaling->preserveAttachmentCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pPreserveAttachments,
forUnmarshaling->preserveAttachmentCount * sizeof(const uint32_t));
vkStream->read((uint32_t*)forUnmarshaling->pPreserveAttachments,
forUnmarshaling->preserveAttachmentCount * sizeof(const uint32_t));
}
void marshal_VkSubpassDependency2(VulkanStream* vkStream, VkStructureType rootType,
const VkSubpassDependency2* forMarshaling) {
(void)rootType;
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->srcSubpass, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->dstSubpass, sizeof(uint32_t));
vkStream->write((VkPipelineStageFlags*)&forMarshaling->srcStageMask,
sizeof(VkPipelineStageFlags));
vkStream->write((VkPipelineStageFlags*)&forMarshaling->dstStageMask,
sizeof(VkPipelineStageFlags));
vkStream->write((VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
vkStream->write((VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
vkStream->write((VkDependencyFlags*)&forMarshaling->dependencyFlags, sizeof(VkDependencyFlags));
vkStream->write((int32_t*)&forMarshaling->viewOffset, sizeof(int32_t));
}
void unmarshal_VkSubpassDependency2(VulkanStream* vkStream, VkStructureType rootType,
VkSubpassDependency2* 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->srcSubpass, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->dstSubpass, sizeof(uint32_t));
vkStream->read((VkPipelineStageFlags*)&forUnmarshaling->srcStageMask,
sizeof(VkPipelineStageFlags));
vkStream->read((VkPipelineStageFlags*)&forUnmarshaling->dstStageMask,
sizeof(VkPipelineStageFlags));
vkStream->read((VkAccessFlags*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags));
vkStream->read((VkAccessFlags*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags));
vkStream->read((VkDependencyFlags*)&forUnmarshaling->dependencyFlags,
sizeof(VkDependencyFlags));
vkStream->read((int32_t*)&forUnmarshaling->viewOffset, sizeof(int32_t));
}
void marshal_VkRenderPassCreateInfo2(VulkanStream* vkStream, VkStructureType rootType,
const VkRenderPassCreateInfo2* forMarshaling) {
(void)rootType;
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((VkRenderPassCreateFlags*)&forMarshaling->flags,
sizeof(VkRenderPassCreateFlags));
vkStream->write((uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->attachmentCount; ++i) {
marshal_VkAttachmentDescription2(
vkStream, rootType,
(const VkAttachmentDescription2*)(forMarshaling->pAttachments + i));
}
}
vkStream->write((uint32_t*)&forMarshaling->subpassCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->subpassCount; ++i) {
marshal_VkSubpassDescription2(
vkStream, rootType, (const VkSubpassDescription2*)(forMarshaling->pSubpasses + i));
}
}
vkStream->write((uint32_t*)&forMarshaling->dependencyCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->dependencyCount; ++i) {
marshal_VkSubpassDependency2(
vkStream, rootType,
(const VkSubpassDependency2*)(forMarshaling->pDependencies + i));
}
}
vkStream->write((uint32_t*)&forMarshaling->correlatedViewMaskCount, sizeof(uint32_t));
vkStream->write((const uint32_t*)forMarshaling->pCorrelatedViewMasks,
forMarshaling->correlatedViewMaskCount * sizeof(const uint32_t));
}
void unmarshal_VkRenderPassCreateInfo2(VulkanStream* vkStream, VkStructureType rootType,
VkRenderPassCreateInfo2* 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((VkRenderPassCreateFlags*)&forUnmarshaling->flags,
sizeof(VkRenderPassCreateFlags));
vkStream->read((uint32_t*)&forUnmarshaling->attachmentCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pAttachments,
forUnmarshaling->attachmentCount * sizeof(const VkAttachmentDescription2));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->attachmentCount; ++i) {
unmarshal_VkAttachmentDescription2(
vkStream, rootType, (VkAttachmentDescription2*)(forUnmarshaling->pAttachments + i));
}
}
vkStream->read((uint32_t*)&forUnmarshaling->subpassCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pSubpasses,
forUnmarshaling->subpassCount * sizeof(const VkSubpassDescription2));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->subpassCount; ++i) {
unmarshal_VkSubpassDescription2(
vkStream, rootType, (VkSubpassDescription2*)(forUnmarshaling->pSubpasses + i));
}
}
vkStream->read((uint32_t*)&forUnmarshaling->dependencyCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pDependencies,
forUnmarshaling->dependencyCount * sizeof(const VkSubpassDependency2));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->dependencyCount; ++i) {
unmarshal_VkSubpassDependency2(
vkStream, rootType, (VkSubpassDependency2*)(forUnmarshaling->pDependencies + i));
}
}
vkStream->read((uint32_t*)&forUnmarshaling->correlatedViewMaskCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pCorrelatedViewMasks,
forUnmarshaling->correlatedViewMaskCount * sizeof(const uint32_t));
vkStream->read((uint32_t*)forUnmarshaling->pCorrelatedViewMasks,
forUnmarshaling->correlatedViewMaskCount * sizeof(const uint32_t));
}
void marshal_VkSubpassBeginInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkSubpassBeginInfo* forMarshaling) {
(void)rootType;
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((VkSubpassContents*)&forMarshaling->contents, sizeof(VkSubpassContents));
}
void unmarshal_VkSubpassBeginInfo(VulkanStream* vkStream, VkStructureType rootType,
VkSubpassBeginInfo* 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((VkSubpassContents*)&forUnmarshaling->contents, sizeof(VkSubpassContents));
}
void marshal_VkSubpassEndInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkSubpassEndInfo* forMarshaling) {
(void)rootType;
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_VkSubpassEndInfo(VulkanStream* vkStream, VkStructureType rootType,
VkSubpassEndInfo* 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_VkPhysicalDevice8BitStorageFeatures(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDevice8BitStorageFeatures* forMarshaling) {
(void)rootType;
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->storageBuffer8BitAccess, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->uniformAndStorageBuffer8BitAccess, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->storagePushConstant8, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDevice8BitStorageFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDevice8BitStorageFeatures* 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->storageBuffer8BitAccess, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->uniformAndStorageBuffer8BitAccess,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->storagePushConstant8, sizeof(VkBool32));
}
void marshal_VkPhysicalDeviceDriverProperties(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceDriverProperties* forMarshaling) {
(void)rootType;
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((VkDriverId*)&forMarshaling->driverID, sizeof(VkDriverId));
vkStream->write((char*)forMarshaling->driverName, VK_MAX_DRIVER_NAME_SIZE * sizeof(char));
vkStream->write((char*)forMarshaling->driverInfo, VK_MAX_DRIVER_INFO_SIZE * sizeof(char));
marshal_VkConformanceVersion(vkStream, rootType,
(VkConformanceVersion*)(&forMarshaling->conformanceVersion));
}
void unmarshal_VkPhysicalDeviceDriverProperties(VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceDriverProperties* 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((VkDriverId*)&forUnmarshaling->driverID, sizeof(VkDriverId));
vkStream->read((char*)forUnmarshaling->driverName, VK_MAX_DRIVER_NAME_SIZE * sizeof(char));
vkStream->read((char*)forUnmarshaling->driverInfo, VK_MAX_DRIVER_INFO_SIZE * sizeof(char));
unmarshal_VkConformanceVersion(vkStream, rootType,
(VkConformanceVersion*)(&forUnmarshaling->conformanceVersion));
}
void marshal_VkPhysicalDeviceShaderAtomicInt64Features(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceShaderAtomicInt64Features* forMarshaling) {
(void)rootType;
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->shaderBufferInt64Atomics, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderSharedInt64Atomics, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceShaderAtomicInt64Features(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceShaderAtomicInt64Features* 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->shaderBufferInt64Atomics, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderSharedInt64Atomics, sizeof(VkBool32));
}
void marshal_VkPhysicalDeviceShaderFloat16Int8Features(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceShaderFloat16Int8Features* forMarshaling) {
(void)rootType;
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->shaderFloat16, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderInt8, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceShaderFloat16Int8Features(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceShaderFloat16Int8Features* 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->shaderFloat16, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderInt8, sizeof(VkBool32));
}
void marshal_VkPhysicalDeviceFloatControlsProperties(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceFloatControlsProperties* forMarshaling) {
(void)rootType;
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((VkShaderFloatControlsIndependence*)&forMarshaling->denormBehaviorIndependence,
sizeof(VkShaderFloatControlsIndependence));
vkStream->write((VkShaderFloatControlsIndependence*)&forMarshaling->roundingModeIndependence,
sizeof(VkShaderFloatControlsIndependence));
vkStream->write((VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat16,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat32,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderSignedZeroInfNanPreserveFloat64,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderDenormPreserveFloat16, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderDenormPreserveFloat32, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderDenormPreserveFloat64, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat16, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat32, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderDenormFlushToZeroFloat64, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat16, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat32, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTEFloat64, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat16, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat32, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderRoundingModeRTZFloat64, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceFloatControlsProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceFloatControlsProperties* 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((VkShaderFloatControlsIndependence*)&forUnmarshaling->denormBehaviorIndependence,
sizeof(VkShaderFloatControlsIndependence));
vkStream->read((VkShaderFloatControlsIndependence*)&forUnmarshaling->roundingModeIndependence,
sizeof(VkShaderFloatControlsIndependence));
vkStream->read((VkBool32*)&forUnmarshaling->shaderSignedZeroInfNanPreserveFloat16,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderSignedZeroInfNanPreserveFloat32,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderSignedZeroInfNanPreserveFloat64,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormPreserveFloat16, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormPreserveFloat32, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormPreserveFloat64, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormFlushToZeroFloat16, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormFlushToZeroFloat32, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderDenormFlushToZeroFloat64, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTEFloat16, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTEFloat32, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTEFloat64, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTZFloat16, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTZFloat32, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderRoundingModeRTZFloat64, sizeof(VkBool32));
}
void marshal_VkDescriptorSetLayoutBindingFlagsCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkDescriptorSetLayoutBindingFlagsCreateInfo* forMarshaling) {
(void)rootType;
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->bindingCount, sizeof(uint32_t));
// WARNING PTR CHECK
uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pBindingFlags;
vkStream->putBe64(cgen_var_0);
if (forMarshaling->pBindingFlags) {
vkStream->write((const VkDescriptorBindingFlags*)forMarshaling->pBindingFlags,
forMarshaling->bindingCount * sizeof(const VkDescriptorBindingFlags));
}
}
void unmarshal_VkDescriptorSetLayoutBindingFlagsCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkDescriptorSetLayoutBindingFlagsCreateInfo* 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->bindingCount, sizeof(uint32_t));
// WARNING PTR CHECK
forUnmarshaling->pBindingFlags =
(const VkDescriptorBindingFlags*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pBindingFlags) {
vkStream->alloc((void**)&forUnmarshaling->pBindingFlags,
forUnmarshaling->bindingCount * sizeof(const VkDescriptorBindingFlags));
vkStream->read((VkDescriptorBindingFlags*)forUnmarshaling->pBindingFlags,
forUnmarshaling->bindingCount * sizeof(const VkDescriptorBindingFlags));
}
}
void marshal_VkPhysicalDeviceDescriptorIndexingFeatures(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceDescriptorIndexingFeatures* forMarshaling) {
(void)rootType;
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->shaderInputAttachmentArrayDynamicIndexing,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderUniformTexelBufferArrayDynamicIndexing,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderStorageTexelBufferArrayDynamicIndexing,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderUniformBufferArrayNonUniformIndexing,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderSampledImageArrayNonUniformIndexing,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderStorageBufferArrayNonUniformIndexing,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageArrayNonUniformIndexing,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderInputAttachmentArrayNonUniformIndexing,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderUniformTexelBufferArrayNonUniformIndexing,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderStorageTexelBufferArrayNonUniformIndexing,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->descriptorBindingUniformBufferUpdateAfterBind,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->descriptorBindingSampledImageUpdateAfterBind,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->descriptorBindingStorageImageUpdateAfterBind,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->descriptorBindingStorageBufferUpdateAfterBind,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->descriptorBindingUniformTexelBufferUpdateAfterBind,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->descriptorBindingStorageTexelBufferUpdateAfterBind,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->descriptorBindingUpdateUnusedWhilePending,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->descriptorBindingPartiallyBound, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->descriptorBindingVariableDescriptorCount,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->runtimeDescriptorArray, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceDescriptorIndexingFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceDescriptorIndexingFeatures* 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->shaderInputAttachmentArrayDynamicIndexing,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformTexelBufferArrayDynamicIndexing,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageTexelBufferArrayDynamicIndexing,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformBufferArrayNonUniformIndexing,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderSampledImageArrayNonUniformIndexing,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageBufferArrayNonUniformIndexing,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageArrayNonUniformIndexing,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderInputAttachmentArrayNonUniformIndexing,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformTexelBufferArrayNonUniformIndexing,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageTexelBufferArrayNonUniformIndexing,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingUniformBufferUpdateAfterBind,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingSampledImageUpdateAfterBind,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingStorageImageUpdateAfterBind,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingStorageBufferUpdateAfterBind,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingUniformTexelBufferUpdateAfterBind,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingStorageTexelBufferUpdateAfterBind,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingUpdateUnusedWhilePending,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingPartiallyBound, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingVariableDescriptorCount,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->runtimeDescriptorArray, sizeof(VkBool32));
}
void marshal_VkPhysicalDeviceDescriptorIndexingProperties(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceDescriptorIndexingProperties* forMarshaling) {
(void)rootType;
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->maxUpdateAfterBindDescriptorsInAllPools,
sizeof(uint32_t));
vkStream->write((VkBool32*)&forMarshaling->shaderUniformBufferArrayNonUniformIndexingNative,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderSampledImageArrayNonUniformIndexingNative,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderStorageBufferArrayNonUniformIndexingNative,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageArrayNonUniformIndexingNative,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->shaderInputAttachmentArrayNonUniformIndexingNative,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->robustBufferAccessUpdateAfterBind, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->quadDivergentImplicitLod, sizeof(VkBool32));
vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindSamplers,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindUniformBuffers,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindStorageBuffers,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindSampledImages,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindStorageImages,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindInputAttachments,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxPerStageUpdateAfterBindResources,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindSamplers,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindUniformBuffers,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageBuffers,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindSampledImages,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageImages,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindInputAttachments,
sizeof(uint32_t));
}
void unmarshal_VkPhysicalDeviceDescriptorIndexingProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceDescriptorIndexingProperties* 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->maxUpdateAfterBindDescriptorsInAllPools,
sizeof(uint32_t));
vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformBufferArrayNonUniformIndexingNative,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderSampledImageArrayNonUniformIndexingNative,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageBufferArrayNonUniformIndexingNative,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageArrayNonUniformIndexingNative,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->shaderInputAttachmentArrayNonUniformIndexingNative,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->robustBufferAccessUpdateAfterBind,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->quadDivergentImplicitLod, sizeof(VkBool32));
vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindSamplers,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindUniformBuffers,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindStorageBuffers,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindSampledImages,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindStorageImages,
sizeof(uint32_t));
vkStream->read(
(uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindInputAttachments,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageUpdateAfterBindResources,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindSamplers,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindUniformBuffers,
sizeof(uint32_t));
vkStream->read(
(uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageBuffers,
sizeof(uint32_t));
vkStream->read(
(uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindSampledImages,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageImages,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindInputAttachments,
sizeof(uint32_t));
}
void marshal_VkDescriptorSetVariableDescriptorCountAllocateInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkDescriptorSetVariableDescriptorCountAllocateInfo* forMarshaling) {
(void)rootType;
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->descriptorSetCount, sizeof(uint32_t));
vkStream->write((const uint32_t*)forMarshaling->pDescriptorCounts,
forMarshaling->descriptorSetCount * sizeof(const uint32_t));
}
void unmarshal_VkDescriptorSetVariableDescriptorCountAllocateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkDescriptorSetVariableDescriptorCountAllocateInfo* 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->descriptorSetCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pDescriptorCounts,
forUnmarshaling->descriptorSetCount * sizeof(const uint32_t));
vkStream->read((uint32_t*)forUnmarshaling->pDescriptorCounts,
forUnmarshaling->descriptorSetCount * sizeof(const uint32_t));
}
void marshal_VkDescriptorSetVariableDescriptorCountLayoutSupport(
VulkanStream* vkStream, VkStructureType rootType,
const VkDescriptorSetVariableDescriptorCountLayoutSupport* forMarshaling) {
(void)rootType;
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->maxVariableDescriptorCount, sizeof(uint32_t));
}
void unmarshal_VkDescriptorSetVariableDescriptorCountLayoutSupport(
VulkanStream* vkStream, VkStructureType rootType,
VkDescriptorSetVariableDescriptorCountLayoutSupport* 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->maxVariableDescriptorCount, sizeof(uint32_t));
}
void marshal_VkSubpassDescriptionDepthStencilResolve(
VulkanStream* vkStream, VkStructureType rootType,
const VkSubpassDescriptionDepthStencilResolve* forMarshaling) {
(void)rootType;
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((VkResolveModeFlagBits*)&forMarshaling->depthResolveMode,
sizeof(VkResolveModeFlagBits));
vkStream->write((VkResolveModeFlagBits*)&forMarshaling->stencilResolveMode,
sizeof(VkResolveModeFlagBits));
// WARNING PTR CHECK
uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pDepthStencilResolveAttachment;
vkStream->putBe64(cgen_var_0);
if (forMarshaling->pDepthStencilResolveAttachment) {
marshal_VkAttachmentReference2(
vkStream, rootType,
(const VkAttachmentReference2*)(forMarshaling->pDepthStencilResolveAttachment));
}
}
void unmarshal_VkSubpassDescriptionDepthStencilResolve(
VulkanStream* vkStream, VkStructureType rootType,
VkSubpassDescriptionDepthStencilResolve* 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((VkResolveModeFlagBits*)&forUnmarshaling->depthResolveMode,
sizeof(VkResolveModeFlagBits));
vkStream->read((VkResolveModeFlagBits*)&forUnmarshaling->stencilResolveMode,
sizeof(VkResolveModeFlagBits));
// WARNING PTR CHECK
forUnmarshaling->pDepthStencilResolveAttachment =
(const VkAttachmentReference2*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pDepthStencilResolveAttachment) {
vkStream->alloc((void**)&forUnmarshaling->pDepthStencilResolveAttachment,
sizeof(const VkAttachmentReference2));
unmarshal_VkAttachmentReference2(
vkStream, rootType,
(VkAttachmentReference2*)(forUnmarshaling->pDepthStencilResolveAttachment));
}
}
void marshal_VkPhysicalDeviceDepthStencilResolveProperties(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceDepthStencilResolveProperties* forMarshaling) {
(void)rootType;
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((VkResolveModeFlags*)&forMarshaling->supportedDepthResolveModes,
sizeof(VkResolveModeFlags));
vkStream->write((VkResolveModeFlags*)&forMarshaling->supportedStencilResolveModes,
sizeof(VkResolveModeFlags));
vkStream->write((VkBool32*)&forMarshaling->independentResolveNone, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->independentResolve, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceDepthStencilResolveProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceDepthStencilResolveProperties* 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((VkResolveModeFlags*)&forUnmarshaling->supportedDepthResolveModes,
sizeof(VkResolveModeFlags));
vkStream->read((VkResolveModeFlags*)&forUnmarshaling->supportedStencilResolveModes,
sizeof(VkResolveModeFlags));
vkStream->read((VkBool32*)&forUnmarshaling->independentResolveNone, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->independentResolve, sizeof(VkBool32));
}
void marshal_VkPhysicalDeviceScalarBlockLayoutFeatures(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceScalarBlockLayoutFeatures* forMarshaling) {
(void)rootType;
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->scalarBlockLayout, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceScalarBlockLayoutFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceScalarBlockLayoutFeatures* 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->scalarBlockLayout, sizeof(VkBool32));
}
void marshal_VkImageStencilUsageCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkImageStencilUsageCreateInfo* forMarshaling) {
(void)rootType;
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((VkImageUsageFlags*)&forMarshaling->stencilUsage, sizeof(VkImageUsageFlags));
}
void unmarshal_VkImageStencilUsageCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkImageStencilUsageCreateInfo* 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((VkImageUsageFlags*)&forUnmarshaling->stencilUsage, sizeof(VkImageUsageFlags));
}
void marshal_VkSamplerReductionModeCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkSamplerReductionModeCreateInfo* forMarshaling) {
(void)rootType;
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((VkSamplerReductionMode*)&forMarshaling->reductionMode,
sizeof(VkSamplerReductionMode));
}
void unmarshal_VkSamplerReductionModeCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkSamplerReductionModeCreateInfo* 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((VkSamplerReductionMode*)&forUnmarshaling->reductionMode,
sizeof(VkSamplerReductionMode));
}
void marshal_VkPhysicalDeviceSamplerFilterMinmaxProperties(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceSamplerFilterMinmaxProperties* forMarshaling) {
(void)rootType;
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->filterMinmaxSingleComponentFormats,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->filterMinmaxImageComponentMapping, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceSamplerFilterMinmaxProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceSamplerFilterMinmaxProperties* 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->filterMinmaxSingleComponentFormats,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->filterMinmaxImageComponentMapping,
sizeof(VkBool32));
}
void marshal_VkPhysicalDeviceVulkanMemoryModelFeatures(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceVulkanMemoryModelFeatures* forMarshaling) {
(void)rootType;
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->vulkanMemoryModel, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->vulkanMemoryModelDeviceScope, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->vulkanMemoryModelAvailabilityVisibilityChains,
sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceVulkanMemoryModelFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceVulkanMemoryModelFeatures* 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->vulkanMemoryModel, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->vulkanMemoryModelDeviceScope, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->vulkanMemoryModelAvailabilityVisibilityChains,
sizeof(VkBool32));
}
void marshal_VkPhysicalDeviceImagelessFramebufferFeatures(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceImagelessFramebufferFeatures* forMarshaling) {
(void)rootType;
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->imagelessFramebuffer, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceImagelessFramebufferFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceImagelessFramebufferFeatures* 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->imagelessFramebuffer, sizeof(VkBool32));
}
void marshal_VkFramebufferAttachmentImageInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkFramebufferAttachmentImageInfo* forMarshaling) {
(void)rootType;
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((VkImageCreateFlags*)&forMarshaling->flags, sizeof(VkImageCreateFlags));
vkStream->write((VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags));
vkStream->write((uint32_t*)&forMarshaling->width, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->height, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->viewFormatCount, sizeof(uint32_t));
vkStream->write((const VkFormat*)forMarshaling->pViewFormats,
forMarshaling->viewFormatCount * sizeof(const VkFormat));
}
void unmarshal_VkFramebufferAttachmentImageInfo(VulkanStream* vkStream, VkStructureType rootType,
VkFramebufferAttachmentImageInfo* 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((VkImageCreateFlags*)&forUnmarshaling->flags, sizeof(VkImageCreateFlags));
vkStream->read((VkImageUsageFlags*)&forUnmarshaling->usage, sizeof(VkImageUsageFlags));
vkStream->read((uint32_t*)&forUnmarshaling->width, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->height, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->layerCount, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->viewFormatCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pViewFormats,
forUnmarshaling->viewFormatCount * sizeof(const VkFormat));
vkStream->read((VkFormat*)forUnmarshaling->pViewFormats,
forUnmarshaling->viewFormatCount * sizeof(const VkFormat));
}
void marshal_VkFramebufferAttachmentsCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkFramebufferAttachmentsCreateInfo* forMarshaling) {
(void)rootType;
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->attachmentImageInfoCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->attachmentImageInfoCount; ++i) {
marshal_VkFramebufferAttachmentImageInfo(
vkStream, rootType,
(const VkFramebufferAttachmentImageInfo*)(forMarshaling->pAttachmentImageInfos +
i));
}
}
}
void unmarshal_VkFramebufferAttachmentsCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkFramebufferAttachmentsCreateInfo* 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->attachmentImageInfoCount, sizeof(uint32_t));
vkStream->alloc(
(void**)&forUnmarshaling->pAttachmentImageInfos,
forUnmarshaling->attachmentImageInfoCount * sizeof(const VkFramebufferAttachmentImageInfo));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->attachmentImageInfoCount; ++i) {
unmarshal_VkFramebufferAttachmentImageInfo(
vkStream, rootType,
(VkFramebufferAttachmentImageInfo*)(forUnmarshaling->pAttachmentImageInfos + i));
}
}
}
void marshal_VkRenderPassAttachmentBeginInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkRenderPassAttachmentBeginInfo* forMarshaling) {
(void)rootType;
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->attachmentCount, sizeof(uint32_t));
if (forMarshaling->attachmentCount) {
uint64_t* cgen_var_0;
vkStream->alloc((void**)&cgen_var_0, forMarshaling->attachmentCount * 8);
vkStream->handleMapping()->mapHandles_VkImageView_u64(
forMarshaling->pAttachments, cgen_var_0, forMarshaling->attachmentCount);
vkStream->write((uint64_t*)cgen_var_0, forMarshaling->attachmentCount * 8);
}
}
void unmarshal_VkRenderPassAttachmentBeginInfo(VulkanStream* vkStream, VkStructureType rootType,
VkRenderPassAttachmentBeginInfo* 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->attachmentCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pAttachments,
forUnmarshaling->attachmentCount * sizeof(const VkImageView));
if (forUnmarshaling->attachmentCount) {
uint64_t* cgen_var_0;
vkStream->alloc((void**)&cgen_var_0, forUnmarshaling->attachmentCount * 8);
vkStream->read((uint64_t*)cgen_var_0, forUnmarshaling->attachmentCount * 8);
vkStream->handleMapping()->mapHandles_u64_VkImageView(
cgen_var_0, (VkImageView*)forUnmarshaling->pAttachments,
forUnmarshaling->attachmentCount);
}
}
void marshal_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceUniformBufferStandardLayoutFeatures* forMarshaling) {
(void)rootType;
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->uniformBufferStandardLayout, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceUniformBufferStandardLayoutFeatures* 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->uniformBufferStandardLayout, sizeof(VkBool32));
}
void marshal_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures* forMarshaling) {
(void)rootType;
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->shaderSubgroupExtendedTypes, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures* 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->shaderSubgroupExtendedTypes, sizeof(VkBool32));
}
void marshal_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures* forMarshaling) {
(void)rootType;
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->separateDepthStencilLayouts, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures* 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->separateDepthStencilLayouts, sizeof(VkBool32));
}
void marshal_VkAttachmentReferenceStencilLayout(
VulkanStream* vkStream, VkStructureType rootType,
const VkAttachmentReferenceStencilLayout* forMarshaling) {
(void)rootType;
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((VkImageLayout*)&forMarshaling->stencilLayout, sizeof(VkImageLayout));
}
void unmarshal_VkAttachmentReferenceStencilLayout(
VulkanStream* vkStream, VkStructureType rootType,
VkAttachmentReferenceStencilLayout* 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((VkImageLayout*)&forUnmarshaling->stencilLayout, sizeof(VkImageLayout));
}
void marshal_VkAttachmentDescriptionStencilLayout(
VulkanStream* vkStream, VkStructureType rootType,
const VkAttachmentDescriptionStencilLayout* forMarshaling) {
(void)rootType;
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((VkImageLayout*)&forMarshaling->stencilInitialLayout, sizeof(VkImageLayout));
vkStream->write((VkImageLayout*)&forMarshaling->stencilFinalLayout, sizeof(VkImageLayout));
}
void unmarshal_VkAttachmentDescriptionStencilLayout(
VulkanStream* vkStream, VkStructureType rootType,
VkAttachmentDescriptionStencilLayout* 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((VkImageLayout*)&forUnmarshaling->stencilInitialLayout, sizeof(VkImageLayout));
vkStream->read((VkImageLayout*)&forUnmarshaling->stencilFinalLayout, sizeof(VkImageLayout));
}
void marshal_VkPhysicalDeviceHostQueryResetFeatures(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceHostQueryResetFeatures* forMarshaling) {
(void)rootType;
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->hostQueryReset, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceHostQueryResetFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceHostQueryResetFeatures* 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->hostQueryReset, sizeof(VkBool32));
}
void marshal_VkPhysicalDeviceTimelineSemaphoreFeatures(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceTimelineSemaphoreFeatures* forMarshaling) {
(void)rootType;
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->timelineSemaphore, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceTimelineSemaphoreFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceTimelineSemaphoreFeatures* 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->timelineSemaphore, sizeof(VkBool32));
}
void marshal_VkPhysicalDeviceTimelineSemaphoreProperties(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceTimelineSemaphoreProperties* forMarshaling) {
(void)rootType;
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->maxTimelineSemaphoreValueDifference,
sizeof(uint64_t));
}
void unmarshal_VkPhysicalDeviceTimelineSemaphoreProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceTimelineSemaphoreProperties* 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->maxTimelineSemaphoreValueDifference,
sizeof(uint64_t));
}
void marshal_VkSemaphoreTypeCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkSemaphoreTypeCreateInfo* forMarshaling) {
(void)rootType;
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((VkSemaphoreType*)&forMarshaling->semaphoreType, sizeof(VkSemaphoreType));
vkStream->write((uint64_t*)&forMarshaling->initialValue, sizeof(uint64_t));
}
void unmarshal_VkSemaphoreTypeCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkSemaphoreTypeCreateInfo* 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((VkSemaphoreType*)&forUnmarshaling->semaphoreType, sizeof(VkSemaphoreType));
vkStream->read((uint64_t*)&forUnmarshaling->initialValue, sizeof(uint64_t));
}
void marshal_VkTimelineSemaphoreSubmitInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkTimelineSemaphoreSubmitInfo* forMarshaling) {
(void)rootType;
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->waitSemaphoreValueCount, sizeof(uint32_t));
// WARNING PTR CHECK
uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pWaitSemaphoreValues;
vkStream->putBe64(cgen_var_0);
if (forMarshaling->pWaitSemaphoreValues) {
vkStream->write((const uint64_t*)forMarshaling->pWaitSemaphoreValues,
forMarshaling->waitSemaphoreValueCount * sizeof(const uint64_t));
}
vkStream->write((uint32_t*)&forMarshaling->signalSemaphoreValueCount, sizeof(uint32_t));
// WARNING PTR CHECK
uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pSignalSemaphoreValues;
vkStream->putBe64(cgen_var_1);
if (forMarshaling->pSignalSemaphoreValues) {
vkStream->write((const uint64_t*)forMarshaling->pSignalSemaphoreValues,
forMarshaling->signalSemaphoreValueCount * sizeof(const uint64_t));
}
}
void unmarshal_VkTimelineSemaphoreSubmitInfo(VulkanStream* vkStream, VkStructureType rootType,
VkTimelineSemaphoreSubmitInfo* 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->waitSemaphoreValueCount, sizeof(uint32_t));
// WARNING PTR CHECK
forUnmarshaling->pWaitSemaphoreValues = (const uint64_t*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pWaitSemaphoreValues) {
vkStream->alloc((void**)&forUnmarshaling->pWaitSemaphoreValues,
forUnmarshaling->waitSemaphoreValueCount * sizeof(const uint64_t));
vkStream->read((uint64_t*)forUnmarshaling->pWaitSemaphoreValues,
forUnmarshaling->waitSemaphoreValueCount * sizeof(const uint64_t));
}
vkStream->read((uint32_t*)&forUnmarshaling->signalSemaphoreValueCount, sizeof(uint32_t));
// WARNING PTR CHECK
forUnmarshaling->pSignalSemaphoreValues = (const uint64_t*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pSignalSemaphoreValues) {
vkStream->alloc((void**)&forUnmarshaling->pSignalSemaphoreValues,
forUnmarshaling->signalSemaphoreValueCount * sizeof(const uint64_t));
vkStream->read((uint64_t*)forUnmarshaling->pSignalSemaphoreValues,
forUnmarshaling->signalSemaphoreValueCount * sizeof(const uint64_t));
}
}
void marshal_VkSemaphoreWaitInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkSemaphoreWaitInfo* forMarshaling) {
(void)rootType;
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((VkSemaphoreWaitFlags*)&forMarshaling->flags, sizeof(VkSemaphoreWaitFlags));
vkStream->write((uint32_t*)&forMarshaling->semaphoreCount, sizeof(uint32_t));
if (forMarshaling->semaphoreCount) {
uint64_t* cgen_var_0;
vkStream->alloc((void**)&cgen_var_0, forMarshaling->semaphoreCount * 8);
vkStream->handleMapping()->mapHandles_VkSemaphore_u64(
forMarshaling->pSemaphores, cgen_var_0, forMarshaling->semaphoreCount);
vkStream->write((uint64_t*)cgen_var_0, forMarshaling->semaphoreCount * 8);
}
vkStream->write((const uint64_t*)forMarshaling->pValues,
forMarshaling->semaphoreCount * sizeof(const uint64_t));
}
void unmarshal_VkSemaphoreWaitInfo(VulkanStream* vkStream, VkStructureType rootType,
VkSemaphoreWaitInfo* 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((VkSemaphoreWaitFlags*)&forUnmarshaling->flags, sizeof(VkSemaphoreWaitFlags));
vkStream->read((uint32_t*)&forUnmarshaling->semaphoreCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pSemaphores,
forUnmarshaling->semaphoreCount * sizeof(const VkSemaphore));
if (forUnmarshaling->semaphoreCount) {
uint64_t* cgen_var_0;
vkStream->alloc((void**)&cgen_var_0, forUnmarshaling->semaphoreCount * 8);
vkStream->read((uint64_t*)cgen_var_0, forUnmarshaling->semaphoreCount * 8);
vkStream->handleMapping()->mapHandles_u64_VkSemaphore(
cgen_var_0, (VkSemaphore*)forUnmarshaling->pSemaphores,
forUnmarshaling->semaphoreCount);
}
vkStream->alloc((void**)&forUnmarshaling->pValues,
forUnmarshaling->semaphoreCount * sizeof(const uint64_t));
vkStream->read((uint64_t*)forUnmarshaling->pValues,
forUnmarshaling->semaphoreCount * sizeof(const uint64_t));
}
void marshal_VkSemaphoreSignalInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkSemaphoreSignalInfo* forMarshaling) {
(void)rootType;
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));
}
void unmarshal_VkSemaphoreSignalInfo(VulkanStream* vkStream, VkStructureType rootType,
VkSemaphoreSignalInfo* 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));
}
void marshal_VkPhysicalDeviceBufferDeviceAddressFeatures(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceBufferDeviceAddressFeatures* forMarshaling) {
(void)rootType;
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->bufferDeviceAddress, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->bufferDeviceAddressCaptureReplay, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->bufferDeviceAddressMultiDevice, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceBufferDeviceAddressFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceBufferDeviceAddressFeatures* 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->bufferDeviceAddress, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->bufferDeviceAddressCaptureReplay, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->bufferDeviceAddressMultiDevice, sizeof(VkBool32));
}
void marshal_VkBufferDeviceAddressInfo(VulkanStream* vkStream, VkStructureType rootType,
const VkBufferDeviceAddressInfo* forMarshaling) {
(void)rootType;
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_VkBufferDeviceAddressInfo(VulkanStream* vkStream, VkStructureType rootType,
VkBufferDeviceAddressInfo* 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_VkBufferOpaqueCaptureAddressCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkBufferOpaqueCaptureAddressCreateInfo* forMarshaling) {
(void)rootType;
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->opaqueCaptureAddress, sizeof(uint64_t));
}
void unmarshal_VkBufferOpaqueCaptureAddressCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkBufferOpaqueCaptureAddressCreateInfo* 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->opaqueCaptureAddress, sizeof(uint64_t));
}
void marshal_VkMemoryOpaqueCaptureAddressAllocateInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkMemoryOpaqueCaptureAddressAllocateInfo* forMarshaling) {
(void)rootType;
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->opaqueCaptureAddress, sizeof(uint64_t));
}
void unmarshal_VkMemoryOpaqueCaptureAddressAllocateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkMemoryOpaqueCaptureAddressAllocateInfo* 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->opaqueCaptureAddress, sizeof(uint64_t));
}
void marshal_VkDeviceMemoryOpaqueCaptureAddressInfo(
VulkanStream* vkStream, VkStructureType rootType,
const VkDeviceMemoryOpaqueCaptureAddressInfo* forMarshaling) {
(void)rootType;
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);
}
void unmarshal_VkDeviceMemoryOpaqueCaptureAddressInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkDeviceMemoryOpaqueCaptureAddressInfo* 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);
}
#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
#endif
#ifdef VK_KHR_swapchain
void marshal_VkSwapchainCreateInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
const VkSwapchainCreateInfoKHR* forMarshaling) {
(void)rootType;
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((VkSwapchainCreateFlagsKHR*)&forMarshaling->flags,
sizeof(VkSwapchainCreateFlagsKHR));
uint64_t cgen_var_0;
vkStream->handleMapping()->mapHandles_VkSurfaceKHR_u64(&forMarshaling->surface, &cgen_var_0, 1);
vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
vkStream->write((uint32_t*)&forMarshaling->minImageCount, sizeof(uint32_t));
vkStream->write((VkFormat*)&forMarshaling->imageFormat, sizeof(VkFormat));
vkStream->write((VkColorSpaceKHR*)&forMarshaling->imageColorSpace, sizeof(VkColorSpaceKHR));
marshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->imageExtent));
vkStream->write((uint32_t*)&forMarshaling->imageArrayLayers, sizeof(uint32_t));
vkStream->write((VkImageUsageFlags*)&forMarshaling->imageUsage, sizeof(VkImageUsageFlags));
vkStream->write((VkSharingMode*)&forMarshaling->imageSharingMode, sizeof(VkSharingMode));
vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndexCount, sizeof(uint32_t));
// WARNING PTR CHECK
uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pQueueFamilyIndices;
vkStream->putBe64(cgen_var_1);
if (forMarshaling->pQueueFamilyIndices) {
vkStream->write((const uint32_t*)forMarshaling->pQueueFamilyIndices,
forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
}
vkStream->write((VkSurfaceTransformFlagBitsKHR*)&forMarshaling->preTransform,
sizeof(VkSurfaceTransformFlagBitsKHR));
vkStream->write((VkCompositeAlphaFlagBitsKHR*)&forMarshaling->compositeAlpha,
sizeof(VkCompositeAlphaFlagBitsKHR));
vkStream->write((VkPresentModeKHR*)&forMarshaling->presentMode, sizeof(VkPresentModeKHR));
vkStream->write((VkBool32*)&forMarshaling->clipped, sizeof(VkBool32));
uint64_t cgen_var_2;
vkStream->handleMapping()->mapHandles_VkSwapchainKHR_u64(&forMarshaling->oldSwapchain,
&cgen_var_2, 1);
vkStream->write((uint64_t*)&cgen_var_2, 1 * 8);
}
void unmarshal_VkSwapchainCreateInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
VkSwapchainCreateInfoKHR* 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((VkSwapchainCreateFlagsKHR*)&forUnmarshaling->flags,
sizeof(VkSwapchainCreateFlagsKHR));
uint64_t cgen_var_0;
vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
vkStream->handleMapping()->mapHandles_u64_VkSurfaceKHR(
&cgen_var_0, (VkSurfaceKHR*)&forUnmarshaling->surface, 1);
vkStream->read((uint32_t*)&forUnmarshaling->minImageCount, sizeof(uint32_t));
vkStream->read((VkFormat*)&forUnmarshaling->imageFormat, sizeof(VkFormat));
vkStream->read((VkColorSpaceKHR*)&forUnmarshaling->imageColorSpace, sizeof(VkColorSpaceKHR));
unmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forUnmarshaling->imageExtent));
vkStream->read((uint32_t*)&forUnmarshaling->imageArrayLayers, sizeof(uint32_t));
vkStream->read((VkImageUsageFlags*)&forUnmarshaling->imageUsage, sizeof(VkImageUsageFlags));
vkStream->read((VkSharingMode*)&forUnmarshaling->imageSharingMode, sizeof(VkSharingMode));
vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndexCount, sizeof(uint32_t));
// WARNING PTR CHECK
forUnmarshaling->pQueueFamilyIndices = (const uint32_t*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pQueueFamilyIndices) {
vkStream->alloc((void**)&forUnmarshaling->pQueueFamilyIndices,
forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
vkStream->read((uint32_t*)forUnmarshaling->pQueueFamilyIndices,
forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
}
vkStream->read((VkSurfaceTransformFlagBitsKHR*)&forUnmarshaling->preTransform,
sizeof(VkSurfaceTransformFlagBitsKHR));
vkStream->read((VkCompositeAlphaFlagBitsKHR*)&forUnmarshaling->compositeAlpha,
sizeof(VkCompositeAlphaFlagBitsKHR));
vkStream->read((VkPresentModeKHR*)&forUnmarshaling->presentMode, sizeof(VkPresentModeKHR));
vkStream->read((VkBool32*)&forUnmarshaling->clipped, sizeof(VkBool32));
uint64_t cgen_var_2;
vkStream->read((uint64_t*)&cgen_var_2, 1 * 8);
vkStream->handleMapping()->mapHandles_u64_VkSwapchainKHR(
&cgen_var_2, (VkSwapchainKHR*)&forUnmarshaling->oldSwapchain, 1);
}
void marshal_VkPresentInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
const VkPresentInfoKHR* forMarshaling) {
(void)rootType;
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->waitSemaphoreCount, sizeof(uint32_t));
if (forMarshaling->waitSemaphoreCount) {
uint64_t* cgen_var_0;
vkStream->alloc((void**)&cgen_var_0, forMarshaling->waitSemaphoreCount * 8);
vkStream->handleMapping()->mapHandles_VkSemaphore_u64(
forMarshaling->pWaitSemaphores, cgen_var_0, forMarshaling->waitSemaphoreCount);
vkStream->write((uint64_t*)cgen_var_0, forMarshaling->waitSemaphoreCount * 8);
}
vkStream->write((uint32_t*)&forMarshaling->swapchainCount, sizeof(uint32_t));
if (forMarshaling->swapchainCount) {
uint64_t* cgen_var_1;
vkStream->alloc((void**)&cgen_var_1, forMarshaling->swapchainCount * 8);
vkStream->handleMapping()->mapHandles_VkSwapchainKHR_u64(
forMarshaling->pSwapchains, cgen_var_1, forMarshaling->swapchainCount);
vkStream->write((uint64_t*)cgen_var_1, forMarshaling->swapchainCount * 8);
}
vkStream->write((const uint32_t*)forMarshaling->pImageIndices,
forMarshaling->swapchainCount * sizeof(const uint32_t));
// WARNING PTR CHECK
uint64_t cgen_var_2 = (uint64_t)(uintptr_t)forMarshaling->pResults;
vkStream->putBe64(cgen_var_2);
if (forMarshaling->pResults) {
vkStream->write((VkResult*)forMarshaling->pResults,
forMarshaling->swapchainCount * sizeof(VkResult));
}
}
void unmarshal_VkPresentInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
VkPresentInfoKHR* 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->waitSemaphoreCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pWaitSemaphores,
forUnmarshaling->waitSemaphoreCount * sizeof(const VkSemaphore));
if (forUnmarshaling->waitSemaphoreCount) {
uint64_t* cgen_var_0;
vkStream->alloc((void**)&cgen_var_0, forUnmarshaling->waitSemaphoreCount * 8);
vkStream->read((uint64_t*)cgen_var_0, forUnmarshaling->waitSemaphoreCount * 8);
vkStream->handleMapping()->mapHandles_u64_VkSemaphore(
cgen_var_0, (VkSemaphore*)forUnmarshaling->pWaitSemaphores,
forUnmarshaling->waitSemaphoreCount);
}
vkStream->read((uint32_t*)&forUnmarshaling->swapchainCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pSwapchains,
forUnmarshaling->swapchainCount * sizeof(const VkSwapchainKHR));
if (forUnmarshaling->swapchainCount) {
uint64_t* cgen_var_1;
vkStream->alloc((void**)&cgen_var_1, forUnmarshaling->swapchainCount * 8);
vkStream->read((uint64_t*)cgen_var_1, forUnmarshaling->swapchainCount * 8);
vkStream->handleMapping()->mapHandles_u64_VkSwapchainKHR(
cgen_var_1, (VkSwapchainKHR*)forUnmarshaling->pSwapchains,
forUnmarshaling->swapchainCount);
}
vkStream->alloc((void**)&forUnmarshaling->pImageIndices,
forUnmarshaling->swapchainCount * sizeof(const uint32_t));
vkStream->read((uint32_t*)forUnmarshaling->pImageIndices,
forUnmarshaling->swapchainCount * sizeof(const uint32_t));
// WARNING PTR CHECK
forUnmarshaling->pResults = (VkResult*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pResults) {
vkStream->alloc((void**)&forUnmarshaling->pResults,
forUnmarshaling->swapchainCount * sizeof(VkResult));
vkStream->read((VkResult*)forUnmarshaling->pResults,
forUnmarshaling->swapchainCount * sizeof(VkResult));
}
}
void marshal_VkImageSwapchainCreateInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
const VkImageSwapchainCreateInfoKHR* forMarshaling) {
(void)rootType;
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);
}
void unmarshal_VkImageSwapchainCreateInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
VkImageSwapchainCreateInfoKHR* 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);
}
void marshal_VkBindImageMemorySwapchainInfoKHR(
VulkanStream* vkStream, VkStructureType rootType,
const VkBindImageMemorySwapchainInfoKHR* forMarshaling) {
(void)rootType;
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->imageIndex, sizeof(uint32_t));
}
void unmarshal_VkBindImageMemorySwapchainInfoKHR(
VulkanStream* vkStream, VkStructureType rootType,
VkBindImageMemorySwapchainInfoKHR* 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->imageIndex, sizeof(uint32_t));
}
void marshal_VkAcquireNextImageInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
const VkAcquireNextImageInfoKHR* forMarshaling) {
(void)rootType;
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((uint64_t*)&forMarshaling->timeout, sizeof(uint64_t));
uint64_t cgen_var_1;
vkStream->handleMapping()->mapHandles_VkSemaphore_u64(&forMarshaling->semaphore, &cgen_var_1,
1);
vkStream->write((uint64_t*)&cgen_var_1, 1 * 8);
uint64_t cgen_var_2;
vkStream->handleMapping()->mapHandles_VkFence_u64(&forMarshaling->fence, &cgen_var_2, 1);
vkStream->write((uint64_t*)&cgen_var_2, 1 * 8);
vkStream->write((uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t));
}
void unmarshal_VkAcquireNextImageInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
VkAcquireNextImageInfoKHR* 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((uint64_t*)&forUnmarshaling->timeout, sizeof(uint64_t));
uint64_t cgen_var_1;
vkStream->read((uint64_t*)&cgen_var_1, 1 * 8);
vkStream->handleMapping()->mapHandles_u64_VkSemaphore(
&cgen_var_1, (VkSemaphore*)&forUnmarshaling->semaphore, 1);
uint64_t cgen_var_2;
vkStream->read((uint64_t*)&cgen_var_2, 1 * 8);
vkStream->handleMapping()->mapHandles_u64_VkFence(&cgen_var_2,
(VkFence*)&forUnmarshaling->fence, 1);
vkStream->read((uint32_t*)&forUnmarshaling->deviceMask, sizeof(uint32_t));
}
void marshal_VkDeviceGroupPresentCapabilitiesKHR(
VulkanStream* vkStream, VkStructureType rootType,
const VkDeviceGroupPresentCapabilitiesKHR* forMarshaling) {
(void)rootType;
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->presentMask,
VK_MAX_DEVICE_GROUP_SIZE * sizeof(uint32_t));
vkStream->write((VkDeviceGroupPresentModeFlagsKHR*)&forMarshaling->modes,
sizeof(VkDeviceGroupPresentModeFlagsKHR));
}
void unmarshal_VkDeviceGroupPresentCapabilitiesKHR(
VulkanStream* vkStream, VkStructureType rootType,
VkDeviceGroupPresentCapabilitiesKHR* 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->presentMask,
VK_MAX_DEVICE_GROUP_SIZE * sizeof(uint32_t));
vkStream->read((VkDeviceGroupPresentModeFlagsKHR*)&forUnmarshaling->modes,
sizeof(VkDeviceGroupPresentModeFlagsKHR));
}
void marshal_VkDeviceGroupPresentInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
const VkDeviceGroupPresentInfoKHR* forMarshaling) {
(void)rootType;
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 uint32_t*)forMarshaling->pDeviceMasks,
forMarshaling->swapchainCount * sizeof(const uint32_t));
vkStream->write((VkDeviceGroupPresentModeFlagBitsKHR*)&forMarshaling->mode,
sizeof(VkDeviceGroupPresentModeFlagBitsKHR));
}
void unmarshal_VkDeviceGroupPresentInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
VkDeviceGroupPresentInfoKHR* 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->pDeviceMasks,
forUnmarshaling->swapchainCount * sizeof(const uint32_t));
vkStream->read((uint32_t*)forUnmarshaling->pDeviceMasks,
forUnmarshaling->swapchainCount * sizeof(const uint32_t));
vkStream->read((VkDeviceGroupPresentModeFlagBitsKHR*)&forUnmarshaling->mode,
sizeof(VkDeviceGroupPresentModeFlagBitsKHR));
}
void marshal_VkDeviceGroupSwapchainCreateInfoKHR(
VulkanStream* vkStream, VkStructureType rootType,
const VkDeviceGroupSwapchainCreateInfoKHR* forMarshaling) {
(void)rootType;
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((VkDeviceGroupPresentModeFlagsKHR*)&forMarshaling->modes,
sizeof(VkDeviceGroupPresentModeFlagsKHR));
}
void unmarshal_VkDeviceGroupSwapchainCreateInfoKHR(
VulkanStream* vkStream, VkStructureType rootType,
VkDeviceGroupSwapchainCreateInfoKHR* 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((VkDeviceGroupPresentModeFlagsKHR*)&forUnmarshaling->modes,
sizeof(VkDeviceGroupPresentModeFlagsKHR));
}
#endif
#ifdef VK_KHR_xcb_surface
#endif
#ifdef VK_KHR_android_surface
#endif
#ifdef VK_KHR_win32_surface
#endif
#ifdef VK_KHR_dynamic_rendering
void marshal_VkRenderingFragmentShadingRateAttachmentInfoKHR(
VulkanStream* vkStream, VkStructureType rootType,
const VkRenderingFragmentShadingRateAttachmentInfoKHR* forMarshaling) {
(void)rootType;
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));
marshal_VkExtent2D(vkStream, rootType,
(VkExtent2D*)(&forMarshaling->shadingRateAttachmentTexelSize));
}
void unmarshal_VkRenderingFragmentShadingRateAttachmentInfoKHR(
VulkanStream* vkStream, VkStructureType rootType,
VkRenderingFragmentShadingRateAttachmentInfoKHR* 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));
unmarshal_VkExtent2D(vkStream, rootType,
(VkExtent2D*)(&forUnmarshaling->shadingRateAttachmentTexelSize));
}
void marshal_VkRenderingFragmentDensityMapAttachmentInfoEXT(
VulkanStream* vkStream, VkStructureType rootType,
const VkRenderingFragmentDensityMapAttachmentInfoEXT* forMarshaling) {
(void)rootType;
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));
}
void unmarshal_VkRenderingFragmentDensityMapAttachmentInfoEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkRenderingFragmentDensityMapAttachmentInfoEXT* 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));
}
void marshal_VkAttachmentSampleCountInfoAMD(VulkanStream* vkStream, VkStructureType rootType,
const VkAttachmentSampleCountInfoAMD* forMarshaling) {
(void)rootType;
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->colorAttachmentCount, sizeof(uint32_t));
// WARNING PTR CHECK
uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pColorAttachmentSamples;
vkStream->putBe64(cgen_var_0);
if (forMarshaling->pColorAttachmentSamples) {
vkStream->write((const VkSampleCountFlagBits*)forMarshaling->pColorAttachmentSamples,
forMarshaling->colorAttachmentCount * sizeof(const VkSampleCountFlagBits));
}
vkStream->write((VkSampleCountFlagBits*)&forMarshaling->depthStencilAttachmentSamples,
sizeof(VkSampleCountFlagBits));
}
void unmarshal_VkAttachmentSampleCountInfoAMD(VulkanStream* vkStream, VkStructureType rootType,
VkAttachmentSampleCountInfoAMD* 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->colorAttachmentCount, sizeof(uint32_t));
// WARNING PTR CHECK
forUnmarshaling->pColorAttachmentSamples =
(const VkSampleCountFlagBits*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pColorAttachmentSamples) {
vkStream->alloc(
(void**)&forUnmarshaling->pColorAttachmentSamples,
forUnmarshaling->colorAttachmentCount * sizeof(const VkSampleCountFlagBits));
vkStream->read((VkSampleCountFlagBits*)forUnmarshaling->pColorAttachmentSamples,
forUnmarshaling->colorAttachmentCount * sizeof(const VkSampleCountFlagBits));
}
vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->depthStencilAttachmentSamples,
sizeof(VkSampleCountFlagBits));
}
void marshal_VkMultiviewPerViewAttributesInfoNVX(
VulkanStream* vkStream, VkStructureType rootType,
const VkMultiviewPerViewAttributesInfoNVX* forMarshaling) {
(void)rootType;
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->perViewAttributes, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->perViewAttributesPositionXOnly, sizeof(VkBool32));
}
void unmarshal_VkMultiviewPerViewAttributesInfoNVX(
VulkanStream* vkStream, VkStructureType rootType,
VkMultiviewPerViewAttributesInfoNVX* 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->perViewAttributes, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->perViewAttributesPositionXOnly, sizeof(VkBool32));
}
#endif
#ifdef VK_KHR_get_physical_device_properties2
#endif
#ifdef VK_KHR_maintenance1
#endif
#ifdef VK_KHR_external_memory_capabilities
#endif
#ifdef VK_KHR_external_memory
#endif
#ifdef VK_KHR_external_memory_win32
#endif
#ifdef VK_KHR_external_memory_fd
#endif
#ifdef VK_KHR_external_semaphore_capabilities
#endif
#ifdef VK_KHR_external_semaphore
#endif
#ifdef VK_KHR_external_semaphore_win32
#endif
#ifdef VK_KHR_external_semaphore_fd
void marshal_VkImportSemaphoreFdInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
const VkImportSemaphoreFdInfoKHR* forMarshaling) {
(void)rootType;
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((VkSemaphoreImportFlags*)&forMarshaling->flags, sizeof(VkSemaphoreImportFlags));
vkStream->write((VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType,
sizeof(VkExternalSemaphoreHandleTypeFlagBits));
vkStream->write((int*)&forMarshaling->fd, sizeof(int));
}
void unmarshal_VkImportSemaphoreFdInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
VkImportSemaphoreFdInfoKHR* 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((VkSemaphoreImportFlags*)&forUnmarshaling->flags,
sizeof(VkSemaphoreImportFlags));
vkStream->read((VkExternalSemaphoreHandleTypeFlagBits*)&forUnmarshaling->handleType,
sizeof(VkExternalSemaphoreHandleTypeFlagBits));
vkStream->read((int*)&forUnmarshaling->fd, sizeof(int));
}
void marshal_VkSemaphoreGetFdInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
const VkSemaphoreGetFdInfoKHR* forMarshaling) {
(void)rootType;
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((VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType,
sizeof(VkExternalSemaphoreHandleTypeFlagBits));
}
void unmarshal_VkSemaphoreGetFdInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
VkSemaphoreGetFdInfoKHR* 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((VkExternalSemaphoreHandleTypeFlagBits*)&forUnmarshaling->handleType,
sizeof(VkExternalSemaphoreHandleTypeFlagBits));
}
#endif
#ifdef VK_KHR_shader_float16_int8
#endif
#ifdef VK_KHR_incremental_present
void marshal_VkRectLayerKHR(VulkanStream* vkStream, VkStructureType rootType,
const VkRectLayerKHR* forMarshaling) {
(void)rootType;
marshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forMarshaling->offset));
marshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forMarshaling->extent));
vkStream->write((uint32_t*)&forMarshaling->layer, sizeof(uint32_t));
}
void unmarshal_VkRectLayerKHR(VulkanStream* vkStream, VkStructureType rootType,
VkRectLayerKHR* forUnmarshaling) {
(void)rootType;
unmarshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forUnmarshaling->offset));
unmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forUnmarshaling->extent));
vkStream->read((uint32_t*)&forUnmarshaling->layer, sizeof(uint32_t));
}
void marshal_VkPresentRegionKHR(VulkanStream* vkStream, VkStructureType rootType,
const VkPresentRegionKHR* forMarshaling) {
(void)rootType;
vkStream->write((uint32_t*)&forMarshaling->rectangleCount, sizeof(uint32_t));
// WARNING PTR CHECK
uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pRectangles;
vkStream->putBe64(cgen_var_0);
if (forMarshaling->pRectangles) {
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->rectangleCount; ++i) {
marshal_VkRectLayerKHR(vkStream, rootType,
(const VkRectLayerKHR*)(forMarshaling->pRectangles + i));
}
}
}
}
void unmarshal_VkPresentRegionKHR(VulkanStream* vkStream, VkStructureType rootType,
VkPresentRegionKHR* forUnmarshaling) {
(void)rootType;
vkStream->read((uint32_t*)&forUnmarshaling->rectangleCount, sizeof(uint32_t));
// WARNING PTR CHECK
forUnmarshaling->pRectangles = (const VkRectLayerKHR*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pRectangles) {
vkStream->alloc((void**)&forUnmarshaling->pRectangles,
forUnmarshaling->rectangleCount * sizeof(const VkRectLayerKHR));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->rectangleCount; ++i) {
unmarshal_VkRectLayerKHR(vkStream, rootType,
(VkRectLayerKHR*)(forUnmarshaling->pRectangles + i));
}
}
}
}
void marshal_VkPresentRegionsKHR(VulkanStream* vkStream, VkStructureType rootType,
const VkPresentRegionsKHR* forMarshaling) {
(void)rootType;
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));
// WARNING PTR CHECK
uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pRegions;
vkStream->putBe64(cgen_var_0);
if (forMarshaling->pRegions) {
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->swapchainCount; ++i) {
marshal_VkPresentRegionKHR(
vkStream, rootType, (const VkPresentRegionKHR*)(forMarshaling->pRegions + i));
}
}
}
}
void unmarshal_VkPresentRegionsKHR(VulkanStream* vkStream, VkStructureType rootType,
VkPresentRegionsKHR* 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));
// WARNING PTR CHECK
forUnmarshaling->pRegions = (const VkPresentRegionKHR*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pRegions) {
vkStream->alloc((void**)&forUnmarshaling->pRegions,
forUnmarshaling->swapchainCount * sizeof(const VkPresentRegionKHR));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->swapchainCount; ++i) {
unmarshal_VkPresentRegionKHR(vkStream, rootType,
(VkPresentRegionKHR*)(forUnmarshaling->pRegions + i));
}
}
}
}
#endif
#ifdef VK_KHR_descriptor_update_template
#endif
#ifdef VK_KHR_imageless_framebuffer
#endif
#ifdef VK_KHR_create_renderpass2
#endif
#ifdef VK_KHR_external_fence_capabilities
#endif
#ifdef VK_KHR_external_fence
#endif
#ifdef VK_KHR_external_fence_fd
void marshal_VkImportFenceFdInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
const VkImportFenceFdInfoKHR* forMarshaling) {
(void)rootType;
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_VkFence_u64(&forMarshaling->fence, &cgen_var_0, 1);
vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
vkStream->write((VkFenceImportFlags*)&forMarshaling->flags, sizeof(VkFenceImportFlags));
vkStream->write((VkExternalFenceHandleTypeFlagBits*)&forMarshaling->handleType,
sizeof(VkExternalFenceHandleTypeFlagBits));
vkStream->write((int*)&forMarshaling->fd, sizeof(int));
}
void unmarshal_VkImportFenceFdInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
VkImportFenceFdInfoKHR* 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_VkFence(&cgen_var_0,
(VkFence*)&forUnmarshaling->fence, 1);
vkStream->read((VkFenceImportFlags*)&forUnmarshaling->flags, sizeof(VkFenceImportFlags));
vkStream->read((VkExternalFenceHandleTypeFlagBits*)&forUnmarshaling->handleType,
sizeof(VkExternalFenceHandleTypeFlagBits));
vkStream->read((int*)&forUnmarshaling->fd, sizeof(int));
}
void marshal_VkFenceGetFdInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
const VkFenceGetFdInfoKHR* forMarshaling) {
(void)rootType;
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_VkFence_u64(&forMarshaling->fence, &cgen_var_0, 1);
vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
vkStream->write((VkExternalFenceHandleTypeFlagBits*)&forMarshaling->handleType,
sizeof(VkExternalFenceHandleTypeFlagBits));
}
void unmarshal_VkFenceGetFdInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
VkFenceGetFdInfoKHR* 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_VkFence(&cgen_var_0,
(VkFence*)&forUnmarshaling->fence, 1);
vkStream->read((VkExternalFenceHandleTypeFlagBits*)&forUnmarshaling->handleType,
sizeof(VkExternalFenceHandleTypeFlagBits));
}
#endif
#ifdef VK_KHR_maintenance2
#endif
#ifdef VK_KHR_dedicated_allocation
#endif
#ifdef VK_KHR_storage_buffer_storage_class
#endif
#ifdef VK_KHR_get_memory_requirements2
#endif
#ifdef VK_KHR_image_format_list
#endif
#ifdef VK_KHR_sampler_ycbcr_conversion
#endif
#ifdef VK_KHR_bind_memory2
#endif
#ifdef VK_KHR_maintenance3
#endif
#ifdef VK_KHR_shader_subgroup_extended_types
#endif
#ifdef VK_KHR_vulkan_memory_model
#endif
#ifdef VK_KHR_shader_terminate_invocation
#endif
#ifdef VK_KHR_buffer_device_address
#endif
#ifdef VK_KHR_pipeline_executable_properties
void marshal_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR* forMarshaling) {
(void)rootType;
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->pipelineExecutableInfo, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR* 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->pipelineExecutableInfo, sizeof(VkBool32));
}
void marshal_VkPipelineInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
const VkPipelineInfoKHR* forMarshaling) {
(void)rootType;
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_VkPipeline_u64(&forMarshaling->pipeline, &cgen_var_0, 1);
vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
}
void unmarshal_VkPipelineInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
VkPipelineInfoKHR* 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_VkPipeline(
&cgen_var_0, (VkPipeline*)&forUnmarshaling->pipeline, 1);
}
void marshal_VkPipelineExecutablePropertiesKHR(
VulkanStream* vkStream, VkStructureType rootType,
const VkPipelineExecutablePropertiesKHR* forMarshaling) {
(void)rootType;
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((VkShaderStageFlags*)&forMarshaling->stages, sizeof(VkShaderStageFlags));
vkStream->write((char*)forMarshaling->name, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
vkStream->write((char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
vkStream->write((uint32_t*)&forMarshaling->subgroupSize, sizeof(uint32_t));
}
void unmarshal_VkPipelineExecutablePropertiesKHR(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineExecutablePropertiesKHR* 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((VkShaderStageFlags*)&forUnmarshaling->stages, sizeof(VkShaderStageFlags));
vkStream->read((char*)forUnmarshaling->name, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
vkStream->read((char*)forUnmarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
vkStream->read((uint32_t*)&forUnmarshaling->subgroupSize, sizeof(uint32_t));
}
void marshal_VkPipelineExecutableInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
const VkPipelineExecutableInfoKHR* forMarshaling) {
(void)rootType;
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_VkPipeline_u64(&forMarshaling->pipeline, &cgen_var_0, 1);
vkStream->write((uint64_t*)&cgen_var_0, 1 * 8);
vkStream->write((uint32_t*)&forMarshaling->executableIndex, sizeof(uint32_t));
}
void unmarshal_VkPipelineExecutableInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
VkPipelineExecutableInfoKHR* 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_VkPipeline(
&cgen_var_0, (VkPipeline*)&forUnmarshaling->pipeline, 1);
vkStream->read((uint32_t*)&forUnmarshaling->executableIndex, sizeof(uint32_t));
}
void marshal_VkPipelineExecutableStatisticValueKHR(
VulkanStream* vkStream, VkStructureType rootType,
const VkPipelineExecutableStatisticValueKHR* forMarshaling) {
(void)rootType;
vkStream->write((VkBool32*)&forMarshaling->b32, sizeof(VkBool32));
}
void unmarshal_VkPipelineExecutableStatisticValueKHR(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineExecutableStatisticValueKHR* forUnmarshaling) {
(void)rootType;
vkStream->read((VkBool32*)&forUnmarshaling->b32, sizeof(VkBool32));
}
void marshal_VkPipelineExecutableStatisticKHR(
VulkanStream* vkStream, VkStructureType rootType,
const VkPipelineExecutableStatisticKHR* forMarshaling) {
(void)rootType;
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_DESCRIPTION_SIZE * sizeof(char));
vkStream->write((char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
vkStream->write((VkPipelineExecutableStatisticFormatKHR*)&forMarshaling->format,
sizeof(VkPipelineExecutableStatisticFormatKHR));
marshal_VkPipelineExecutableStatisticValueKHR(
vkStream, rootType, (VkPipelineExecutableStatisticValueKHR*)(&forMarshaling->value));
}
void unmarshal_VkPipelineExecutableStatisticKHR(VulkanStream* vkStream, VkStructureType rootType,
VkPipelineExecutableStatisticKHR* 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_DESCRIPTION_SIZE * sizeof(char));
vkStream->read((char*)forUnmarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
vkStream->read((VkPipelineExecutableStatisticFormatKHR*)&forUnmarshaling->format,
sizeof(VkPipelineExecutableStatisticFormatKHR));
unmarshal_VkPipelineExecutableStatisticValueKHR(
vkStream, rootType, (VkPipelineExecutableStatisticValueKHR*)(&forUnmarshaling->value));
}
void marshal_VkPipelineExecutableInternalRepresentationKHR(
VulkanStream* vkStream, VkStructureType rootType,
const VkPipelineExecutableInternalRepresentationKHR* forMarshaling) {
(void)rootType;
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_DESCRIPTION_SIZE * sizeof(char));
vkStream->write((char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
vkStream->write((VkBool32*)&forMarshaling->isText, sizeof(VkBool32));
uint64_t cgen_var_0 = (uint64_t)forMarshaling->dataSize;
vkStream->putBe64(cgen_var_0);
// WARNING PTR CHECK
uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pData;
vkStream->putBe64(cgen_var_1);
if (forMarshaling->pData) {
vkStream->write((void*)forMarshaling->pData, forMarshaling->dataSize * sizeof(uint8_t));
}
}
void unmarshal_VkPipelineExecutableInternalRepresentationKHR(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineExecutableInternalRepresentationKHR* 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_DESCRIPTION_SIZE * sizeof(char));
vkStream->read((char*)forUnmarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
vkStream->read((VkBool32*)&forUnmarshaling->isText, sizeof(VkBool32));
forUnmarshaling->dataSize = (size_t)vkStream->getBe64();
// WARNING PTR CHECK
forUnmarshaling->pData = (void*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pData) {
vkStream->alloc((void**)&forUnmarshaling->pData,
forUnmarshaling->dataSize * sizeof(uint8_t));
vkStream->read((void*)forUnmarshaling->pData, forUnmarshaling->dataSize * sizeof(uint8_t));
}
}
#endif
#ifdef VK_KHR_shader_integer_dot_product
#endif
#ifdef VK_KHR_shader_non_semantic_info
#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);
vkStream->write((VkPipelineStageFlags2*)&forMarshaling->checkpointExecutionStageMask,
sizeof(VkPipelineStageFlags2));
}
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) {
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->checkpointExecutionStageMask,
sizeof(VkPipelineStageFlags2));
}
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((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_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((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));
}
}
#endif
#ifdef VK_KHR_zero_initialize_workgroup_memory
#endif
#ifdef VK_KHR_copy_commands2
#endif
#ifdef VK_KHR_format_feature_flags2
#endif
#ifdef VK_KHR_maintenance4
#endif
#ifdef VK_KHR_maintenance5
void marshal_VkPhysicalDeviceMaintenance5FeaturesKHR(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceMaintenance5FeaturesKHR* forMarshaling) {
(void)rootType;
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->maintenance5, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceMaintenance5FeaturesKHR(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceMaintenance5FeaturesKHR* 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->maintenance5, sizeof(VkBool32));
}
void marshal_VkPhysicalDeviceMaintenance5PropertiesKHR(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceMaintenance5PropertiesKHR* forMarshaling) {
(void)rootType;
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->earlyFragmentMultisampleCoverageAfterSampleCounting,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->earlyFragmentSampleMaskTestBeforeSampleCounting,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->depthStencilSwizzleOneSupport, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->polygonModePointSize, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->nonStrictSinglePixelWideLinesUseParallelogram,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->nonStrictWideLinesUseParallelogram,
sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceMaintenance5PropertiesKHR(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceMaintenance5PropertiesKHR* 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->earlyFragmentMultisampleCoverageAfterSampleCounting,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->earlyFragmentSampleMaskTestBeforeSampleCounting,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->depthStencilSwizzleOneSupport, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->polygonModePointSize, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->nonStrictSinglePixelWideLinesUseParallelogram,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->nonStrictWideLinesUseParallelogram,
sizeof(VkBool32));
}
void marshal_VkRenderingAreaInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
const VkRenderingAreaInfoKHR* forMarshaling) {
(void)rootType;
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_VkRenderingAreaInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
VkRenderingAreaInfoKHR* 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_VkImageSubresource2KHR(VulkanStream* vkStream, VkStructureType rootType,
const VkImageSubresource2KHR* forMarshaling) {
(void)rootType;
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_VkImageSubresource2KHR(VulkanStream* vkStream, VkStructureType rootType,
VkImageSubresource2KHR* 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_VkDeviceImageSubresourceInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
const VkDeviceImageSubresourceInfoKHR* forMarshaling) {
(void)rootType;
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));
marshal_VkImageSubresource2KHR(vkStream, rootType,
(const VkImageSubresource2KHR*)(forMarshaling->pSubresource));
}
void unmarshal_VkDeviceImageSubresourceInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
VkDeviceImageSubresourceInfoKHR* 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->alloc((void**)&forUnmarshaling->pSubresource, sizeof(const VkImageSubresource2KHR));
unmarshal_VkImageSubresource2KHR(vkStream, rootType,
(VkImageSubresource2KHR*)(forUnmarshaling->pSubresource));
}
void marshal_VkSubresourceLayout2KHR(VulkanStream* vkStream, VkStructureType rootType,
const VkSubresourceLayout2KHR* forMarshaling) {
(void)rootType;
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_VkSubresourceLayout2KHR(VulkanStream* vkStream, VkStructureType rootType,
VkSubresourceLayout2KHR* 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_VkPipelineCreateFlags2CreateInfoKHR(
VulkanStream* vkStream, VkStructureType rootType,
const VkPipelineCreateFlags2CreateInfoKHR* forMarshaling) {
(void)rootType;
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((VkPipelineCreateFlags2KHR*)&forMarshaling->flags,
sizeof(VkPipelineCreateFlags2KHR));
}
void unmarshal_VkPipelineCreateFlags2CreateInfoKHR(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineCreateFlags2CreateInfoKHR* 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((VkPipelineCreateFlags2KHR*)&forUnmarshaling->flags,
sizeof(VkPipelineCreateFlags2KHR));
}
void marshal_VkBufferUsageFlags2CreateInfoKHR(
VulkanStream* vkStream, VkStructureType rootType,
const VkBufferUsageFlags2CreateInfoKHR* forMarshaling) {
(void)rootType;
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((VkBufferUsageFlags2KHR*)&forMarshaling->usage, sizeof(VkBufferUsageFlags2KHR));
}
void unmarshal_VkBufferUsageFlags2CreateInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
VkBufferUsageFlags2CreateInfoKHR* 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((VkBufferUsageFlags2KHR*)&forUnmarshaling->usage,
sizeof(VkBufferUsageFlags2KHR));
}
#endif
#ifdef VK_ANDROID_native_buffer
void marshal_VkNativeBufferUsage2ANDROID(VulkanStream* vkStream, VkStructureType rootType,
const VkNativeBufferUsage2ANDROID* forMarshaling) {
(void)rootType;
vkStream->write((uint64_t*)&forMarshaling->consumer, sizeof(uint64_t));
vkStream->write((uint64_t*)&forMarshaling->producer, sizeof(uint64_t));
}
void unmarshal_VkNativeBufferUsage2ANDROID(VulkanStream* vkStream, VkStructureType rootType,
VkNativeBufferUsage2ANDROID* forUnmarshaling) {
(void)rootType;
vkStream->read((uint64_t*)&forUnmarshaling->consumer, sizeof(uint64_t));
vkStream->read((uint64_t*)&forUnmarshaling->producer, sizeof(uint64_t));
}
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);
// 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_VkNativeBufferANDROID(VulkanStream* vkStream, VkStructureType rootType,
VkNativeBufferANDROID* 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));
}
// 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_VkSwapchainImageCreateInfoANDROID(
VulkanStream* vkStream, VkStructureType rootType,
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);
vkStream->write((VkSwapchainImageUsageFlagsANDROID*)&forMarshaling->usage,
sizeof(VkSwapchainImageUsageFlagsANDROID));
}
void unmarshal_VkSwapchainImageCreateInfoANDROID(
VulkanStream* vkStream, VkStructureType rootType,
VkSwapchainImageCreateInfoANDROID* 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((VkSwapchainImageUsageFlagsANDROID*)&forUnmarshaling->usage,
sizeof(VkSwapchainImageUsageFlagsANDROID));
}
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);
vkStream->write((VkBool32*)&forMarshaling->sharedImage, sizeof(VkBool32));
}
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) {
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->sharedImage, sizeof(VkBool32));
}
#endif
#ifdef VK_EXT_transform_feedback
void marshal_VkPhysicalDeviceTransformFeedbackFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceTransformFeedbackFeaturesEXT* forMarshaling) {
(void)rootType;
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->transformFeedback, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->geometryStreams, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceTransformFeedbackFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceTransformFeedbackFeaturesEXT* 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->transformFeedback, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->geometryStreams, sizeof(VkBool32));
}
void marshal_VkPhysicalDeviceTransformFeedbackPropertiesEXT(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceTransformFeedbackPropertiesEXT* forMarshaling) {
(void)rootType;
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->maxTransformFeedbackStreams, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxTransformFeedbackBuffers, sizeof(uint32_t));
vkStream->write((VkDeviceSize*)&forMarshaling->maxTransformFeedbackBufferSize,
sizeof(VkDeviceSize));
vkStream->write((uint32_t*)&forMarshaling->maxTransformFeedbackStreamDataSize,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxTransformFeedbackBufferDataSize,
sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->maxTransformFeedbackBufferDataStride,
sizeof(uint32_t));
vkStream->write((VkBool32*)&forMarshaling->transformFeedbackQueries, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->transformFeedbackStreamsLinesTriangles,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->transformFeedbackRasterizationStreamSelect,
sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->transformFeedbackDraw, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceTransformFeedbackPropertiesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceTransformFeedbackPropertiesEXT* 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->maxTransformFeedbackStreams, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxTransformFeedbackBuffers, sizeof(uint32_t));
vkStream->read((VkDeviceSize*)&forUnmarshaling->maxTransformFeedbackBufferSize,
sizeof(VkDeviceSize));
vkStream->read((uint32_t*)&forUnmarshaling->maxTransformFeedbackStreamDataSize,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxTransformFeedbackBufferDataSize,
sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->maxTransformFeedbackBufferDataStride,
sizeof(uint32_t));
vkStream->read((VkBool32*)&forUnmarshaling->transformFeedbackQueries, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->transformFeedbackStreamsLinesTriangles,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->transformFeedbackRasterizationStreamSelect,
sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->transformFeedbackDraw, sizeof(VkBool32));
}
void marshal_VkPipelineRasterizationStateStreamCreateInfoEXT(
VulkanStream* vkStream, VkStructureType rootType,
const VkPipelineRasterizationStateStreamCreateInfoEXT* forMarshaling) {
(void)rootType;
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((VkPipelineRasterizationStateStreamCreateFlagsEXT*)&forMarshaling->flags,
sizeof(VkPipelineRasterizationStateStreamCreateFlagsEXT));
vkStream->write((uint32_t*)&forMarshaling->rasterizationStream, sizeof(uint32_t));
}
void unmarshal_VkPipelineRasterizationStateStreamCreateInfoEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineRasterizationStateStreamCreateInfoEXT* 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((VkPipelineRasterizationStateStreamCreateFlagsEXT*)&forUnmarshaling->flags,
sizeof(VkPipelineRasterizationStateStreamCreateFlagsEXT));
vkStream->read((uint32_t*)&forUnmarshaling->rasterizationStream, sizeof(uint32_t));
}
#endif
#ifdef VK_AMD_gpu_shader_half_float
#endif
#ifdef VK_EXT_texture_compression_astc_hdr
#endif
#ifdef VK_EXT_swapchain_colorspace
#endif
#ifdef VK_EXT_queue_family_foreign
#endif
#ifdef VK_EXT_debug_utils
#endif
#ifdef VK_ANDROID_external_memory_android_hardware_buffer
#endif
#ifdef VK_EXT_inline_uniform_block
#endif
#ifdef VK_EXT_shader_stencil_export
#endif
#ifdef VK_EXT_pipeline_creation_feedback
#endif
#ifdef VK_NV_shader_subgroup_partitioned
#endif
#ifdef VK_EXT_metal_surface
#endif
#ifdef VK_EXT_subgroup_size_control
#endif
#ifdef VK_EXT_tooling_info
#endif
#ifdef VK_EXT_provoking_vertex
void marshal_VkPhysicalDeviceProvokingVertexFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceProvokingVertexFeaturesEXT* forMarshaling) {
(void)rootType;
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->provokingVertexLast, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->transformFeedbackPreservesProvokingVertex,
sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceProvokingVertexFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceProvokingVertexFeaturesEXT* 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->provokingVertexLast, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->transformFeedbackPreservesProvokingVertex,
sizeof(VkBool32));
}
void marshal_VkPhysicalDeviceProvokingVertexPropertiesEXT(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceProvokingVertexPropertiesEXT* forMarshaling) {
(void)rootType;
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->provokingVertexModePerPipeline, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->transformFeedbackPreservesTriangleFanProvokingVertex,
sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceProvokingVertexPropertiesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceProvokingVertexPropertiesEXT* 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->provokingVertexModePerPipeline, sizeof(VkBool32));
vkStream->read(
(VkBool32*)&forUnmarshaling->transformFeedbackPreservesTriangleFanProvokingVertex,
sizeof(VkBool32));
}
void marshal_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(
VulkanStream* vkStream, VkStructureType rootType,
const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT* forMarshaling) {
(void)rootType;
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((VkProvokingVertexModeEXT*)&forMarshaling->provokingVertexMode,
sizeof(VkProvokingVertexModeEXT));
}
void unmarshal_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineRasterizationProvokingVertexStateCreateInfoEXT* 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((VkProvokingVertexModeEXT*)&forUnmarshaling->provokingVertexMode,
sizeof(VkProvokingVertexModeEXT));
}
#endif
#ifdef VK_EXT_line_rasterization
void marshal_VkPhysicalDeviceLineRasterizationFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceLineRasterizationFeaturesEXT* forMarshaling) {
(void)rootType;
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->rectangularLines, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->bresenhamLines, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->smoothLines, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->stippledRectangularLines, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->stippledBresenhamLines, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->stippledSmoothLines, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceLineRasterizationFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceLineRasterizationFeaturesEXT* 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->rectangularLines, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->bresenhamLines, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->smoothLines, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->stippledRectangularLines, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->stippledBresenhamLines, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->stippledSmoothLines, sizeof(VkBool32));
}
void marshal_VkPhysicalDeviceLineRasterizationPropertiesEXT(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceLineRasterizationPropertiesEXT* forMarshaling) {
(void)rootType;
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->lineSubPixelPrecisionBits, sizeof(uint32_t));
}
void unmarshal_VkPhysicalDeviceLineRasterizationPropertiesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceLineRasterizationPropertiesEXT* 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->lineSubPixelPrecisionBits, sizeof(uint32_t));
}
void marshal_VkPipelineRasterizationLineStateCreateInfoEXT(
VulkanStream* vkStream, VkStructureType rootType,
const VkPipelineRasterizationLineStateCreateInfoEXT* forMarshaling) {
(void)rootType;
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((VkLineRasterizationModeEXT*)&forMarshaling->lineRasterizationMode,
sizeof(VkLineRasterizationModeEXT));
vkStream->write((VkBool32*)&forMarshaling->stippledLineEnable, sizeof(VkBool32));
vkStream->write((uint32_t*)&forMarshaling->lineStippleFactor, sizeof(uint32_t));
vkStream->write((uint16_t*)&forMarshaling->lineStipplePattern, sizeof(uint16_t));
}
void unmarshal_VkPipelineRasterizationLineStateCreateInfoEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineRasterizationLineStateCreateInfoEXT* 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((VkLineRasterizationModeEXT*)&forUnmarshaling->lineRasterizationMode,
sizeof(VkLineRasterizationModeEXT));
vkStream->read((VkBool32*)&forUnmarshaling->stippledLineEnable, sizeof(VkBool32));
vkStream->read((uint32_t*)&forUnmarshaling->lineStippleFactor, sizeof(uint32_t));
vkStream->read((uint16_t*)&forUnmarshaling->lineStipplePattern, sizeof(uint16_t));
}
#endif
#ifdef VK_EXT_index_type_uint8
void marshal_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceIndexTypeUint8FeaturesEXT* forMarshaling) {
(void)rootType;
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->indexTypeUint8, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceIndexTypeUint8FeaturesEXT* 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->indexTypeUint8, sizeof(VkBool32));
}
#endif
#ifdef VK_EXT_extended_dynamic_state
void marshal_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT* forMarshaling) {
(void)rootType;
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->extendedDynamicState, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceExtendedDynamicStateFeaturesEXT* 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->extendedDynamicState, sizeof(VkBool32));
}
#endif
#ifdef VK_EXT_host_image_copy
void marshal_VkPhysicalDeviceHostImageCopyFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceHostImageCopyFeaturesEXT* forMarshaling) {
(void)rootType;
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->hostImageCopy, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceHostImageCopyFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceHostImageCopyFeaturesEXT* 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->hostImageCopy, sizeof(VkBool32));
}
void marshal_VkPhysicalDeviceHostImageCopyPropertiesEXT(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceHostImageCopyPropertiesEXT* forMarshaling) {
(void)rootType;
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->copySrcLayoutCount, sizeof(uint32_t));
// WARNING PTR CHECK
uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pCopySrcLayouts;
vkStream->putBe64(cgen_var_0);
if (forMarshaling->pCopySrcLayouts) {
vkStream->write((VkImageLayout*)forMarshaling->pCopySrcLayouts,
forMarshaling->copySrcLayoutCount * sizeof(VkImageLayout));
}
vkStream->write((uint32_t*)&forMarshaling->copyDstLayoutCount, sizeof(uint32_t));
// WARNING PTR CHECK
uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pCopyDstLayouts;
vkStream->putBe64(cgen_var_1);
if (forMarshaling->pCopyDstLayouts) {
vkStream->write((VkImageLayout*)forMarshaling->pCopyDstLayouts,
forMarshaling->copyDstLayoutCount * sizeof(VkImageLayout));
}
vkStream->write((uint8_t*)forMarshaling->optimalTilingLayoutUUID,
VK_UUID_SIZE * sizeof(uint8_t));
vkStream->write((VkBool32*)&forMarshaling->identicalMemoryTypeRequirements, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceHostImageCopyPropertiesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceHostImageCopyPropertiesEXT* 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->copySrcLayoutCount, sizeof(uint32_t));
// WARNING PTR CHECK
forUnmarshaling->pCopySrcLayouts = (VkImageLayout*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pCopySrcLayouts) {
vkStream->alloc((void**)&forUnmarshaling->pCopySrcLayouts,
forUnmarshaling->copySrcLayoutCount * sizeof(VkImageLayout));
vkStream->read((VkImageLayout*)forUnmarshaling->pCopySrcLayouts,
forUnmarshaling->copySrcLayoutCount * sizeof(VkImageLayout));
}
vkStream->read((uint32_t*)&forUnmarshaling->copyDstLayoutCount, sizeof(uint32_t));
// WARNING PTR CHECK
forUnmarshaling->pCopyDstLayouts = (VkImageLayout*)(uintptr_t)vkStream->getBe64();
if (forUnmarshaling->pCopyDstLayouts) {
vkStream->alloc((void**)&forUnmarshaling->pCopyDstLayouts,
forUnmarshaling->copyDstLayoutCount * sizeof(VkImageLayout));
vkStream->read((VkImageLayout*)forUnmarshaling->pCopyDstLayouts,
forUnmarshaling->copyDstLayoutCount * sizeof(VkImageLayout));
}
vkStream->read((uint8_t*)forUnmarshaling->optimalTilingLayoutUUID,
VK_UUID_SIZE * sizeof(uint8_t));
vkStream->read((VkBool32*)&forUnmarshaling->identicalMemoryTypeRequirements, sizeof(VkBool32));
}
void marshal_VkMemoryToImageCopyEXT(VulkanStream* vkStream, VkStructureType rootType,
const VkMemoryToImageCopyEXT* forMarshaling) {
(void)rootType;
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->pHostPointer, sizeof(const uint8_t));
vkStream->write((uint32_t*)&forMarshaling->memoryRowLength, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->memoryImageHeight, 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_VkMemoryToImageCopyEXT(VulkanStream* vkStream, VkStructureType rootType,
VkMemoryToImageCopyEXT* 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->pHostPointer, sizeof(const uint8_t));
vkStream->read((void*)forUnmarshaling->pHostPointer, sizeof(const uint8_t));
vkStream->read((uint32_t*)&forUnmarshaling->memoryRowLength, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->memoryImageHeight, 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_VkImageToMemoryCopyEXT(VulkanStream* vkStream, VkStructureType rootType,
const VkImageToMemoryCopyEXT* forMarshaling) {
(void)rootType;
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->pHostPointer, sizeof(uint8_t));
vkStream->write((uint32_t*)&forMarshaling->memoryRowLength, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->memoryImageHeight, 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_VkImageToMemoryCopyEXT(VulkanStream* vkStream, VkStructureType rootType,
VkImageToMemoryCopyEXT* 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->pHostPointer, sizeof(uint8_t));
vkStream->read((void*)forUnmarshaling->pHostPointer, sizeof(uint8_t));
vkStream->read((uint32_t*)&forUnmarshaling->memoryRowLength, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->memoryImageHeight, 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_VkCopyMemoryToImageInfoEXT(VulkanStream* vkStream, VkStructureType rootType,
const VkCopyMemoryToImageInfoEXT* forMarshaling) {
(void)rootType;
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((VkHostImageCopyFlagsEXT*)&forMarshaling->flags,
sizeof(VkHostImageCopyFlagsEXT));
uint64_t cgen_var_0;
vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->dstImage, &cgen_var_0, 1);
vkStream->write((uint64_t*)&cgen_var_0, 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_VkMemoryToImageCopyEXT(
vkStream, rootType, (const VkMemoryToImageCopyEXT*)(forMarshaling->pRegions + i));
}
}
}
void unmarshal_VkCopyMemoryToImageInfoEXT(VulkanStream* vkStream, VkStructureType rootType,
VkCopyMemoryToImageInfoEXT* 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((VkHostImageCopyFlagsEXT*)&forUnmarshaling->flags,
sizeof(VkHostImageCopyFlagsEXT));
uint64_t cgen_var_0;
vkStream->read((uint64_t*)&cgen_var_0, 1 * 8);
vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_0,
(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 VkMemoryToImageCopyEXT));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) {
unmarshal_VkMemoryToImageCopyEXT(
vkStream, rootType, (VkMemoryToImageCopyEXT*)(forUnmarshaling->pRegions + i));
}
}
}
void marshal_VkCopyImageToMemoryInfoEXT(VulkanStream* vkStream, VkStructureType rootType,
const VkCopyImageToMemoryInfoEXT* forMarshaling) {
(void)rootType;
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((VkHostImageCopyFlagsEXT*)&forMarshaling->flags,
sizeof(VkHostImageCopyFlagsEXT));
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));
vkStream->write((uint32_t*)&forMarshaling->regionCount, sizeof(uint32_t));
if (forMarshaling) {
for (uint32_t i = 0; i < (uint32_t)forMarshaling->regionCount; ++i) {
marshal_VkImageToMemoryCopyEXT(
vkStream, rootType, (const VkImageToMemoryCopyEXT*)(forMarshaling->pRegions + i));
}
}
}
void unmarshal_VkCopyImageToMemoryInfoEXT(VulkanStream* vkStream, VkStructureType rootType,
VkCopyImageToMemoryInfoEXT* 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((VkHostImageCopyFlagsEXT*)&forUnmarshaling->flags,
sizeof(VkHostImageCopyFlagsEXT));
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));
vkStream->read((uint32_t*)&forUnmarshaling->regionCount, sizeof(uint32_t));
vkStream->alloc((void**)&forUnmarshaling->pRegions,
forUnmarshaling->regionCount * sizeof(const VkImageToMemoryCopyEXT));
if (forUnmarshaling) {
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) {
unmarshal_VkImageToMemoryCopyEXT(
vkStream, rootType, (VkImageToMemoryCopyEXT*)(forUnmarshaling->pRegions + i));
}
}
}
void marshal_VkCopyImageToImageInfoEXT(VulkanStream* vkStream, VkStructureType rootType,
const VkCopyImageToImageInfoEXT* forMarshaling) {
(void)rootType;
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((VkHostImageCopyFlagsEXT*)&forMarshaling->flags,
sizeof(VkHostImageCopyFlagsEXT));
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_VkCopyImageToImageInfoEXT(VulkanStream* vkStream, VkStructureType rootType,
VkCopyImageToImageInfoEXT* 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((VkHostImageCopyFlagsEXT*)&forUnmarshaling->flags,
sizeof(VkHostImageCopyFlagsEXT));
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_VkHostImageLayoutTransitionInfoEXT(
VulkanStream* vkStream, VkStructureType rootType,
const VkHostImageLayoutTransitionInfoEXT* forMarshaling) {
(void)rootType;
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((VkImageLayout*)&forMarshaling->oldLayout, sizeof(VkImageLayout));
vkStream->write((VkImageLayout*)&forMarshaling->newLayout, sizeof(VkImageLayout));
marshal_VkImageSubresourceRange(vkStream, rootType,
(VkImageSubresourceRange*)(&forMarshaling->subresourceRange));
}
void unmarshal_VkHostImageLayoutTransitionInfoEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkHostImageLayoutTransitionInfoEXT* 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((VkImageLayout*)&forUnmarshaling->oldLayout, sizeof(VkImageLayout));
vkStream->read((VkImageLayout*)&forUnmarshaling->newLayout, sizeof(VkImageLayout));
unmarshal_VkImageSubresourceRange(
vkStream, rootType, (VkImageSubresourceRange*)(&forUnmarshaling->subresourceRange));
}
void marshal_VkSubresourceHostMemcpySizeEXT(VulkanStream* vkStream, VkStructureType rootType,
const VkSubresourceHostMemcpySizeEXT* forMarshaling) {
(void)rootType;
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->size, sizeof(VkDeviceSize));
}
void unmarshal_VkSubresourceHostMemcpySizeEXT(VulkanStream* vkStream, VkStructureType rootType,
VkSubresourceHostMemcpySizeEXT* 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->size, sizeof(VkDeviceSize));
}
void marshal_VkHostImageCopyDevicePerformanceQueryEXT(
VulkanStream* vkStream, VkStructureType rootType,
const VkHostImageCopyDevicePerformanceQueryEXT* forMarshaling) {
(void)rootType;
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->optimalDeviceAccess, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->identicalMemoryLayout, sizeof(VkBool32));
}
void unmarshal_VkHostImageCopyDevicePerformanceQueryEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkHostImageCopyDevicePerformanceQueryEXT* 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->optimalDeviceAccess, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->identicalMemoryLayout, sizeof(VkBool32));
}
#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_EXT_texel_buffer_alignment
void marshal_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT* forMarshaling) {
(void)rootType;
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->texelBufferAlignment, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT* 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->texelBufferAlignment, sizeof(VkBool32));
}
#endif
#ifdef VK_EXT_device_memory_report
void marshal_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT* forMarshaling) {
(void)rootType;
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->deviceMemoryReport, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceDeviceMemoryReportFeaturesEXT* 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->deviceMemoryReport, sizeof(VkBool32));
}
void marshal_VkDeviceMemoryReportCallbackDataEXT(
VulkanStream* vkStream, VkStructureType rootType,
const VkDeviceMemoryReportCallbackDataEXT* forMarshaling) {
(void)rootType;
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((VkDeviceMemoryReportFlagsEXT*)&forMarshaling->flags,
sizeof(VkDeviceMemoryReportFlagsEXT));
vkStream->write((VkDeviceMemoryReportEventTypeEXT*)&forMarshaling->type,
sizeof(VkDeviceMemoryReportEventTypeEXT));
vkStream->write((uint64_t*)&forMarshaling->memoryObjectId, sizeof(uint64_t));
vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
vkStream->write((VkObjectType*)&forMarshaling->objectType, sizeof(VkObjectType));
vkStream->write((uint64_t*)&forMarshaling->objectHandle, sizeof(uint64_t));
vkStream->write((uint32_t*)&forMarshaling->heapIndex, sizeof(uint32_t));
}
void unmarshal_VkDeviceMemoryReportCallbackDataEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkDeviceMemoryReportCallbackDataEXT* 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((VkDeviceMemoryReportFlagsEXT*)&forUnmarshaling->flags,
sizeof(VkDeviceMemoryReportFlagsEXT));
vkStream->read((VkDeviceMemoryReportEventTypeEXT*)&forUnmarshaling->type,
sizeof(VkDeviceMemoryReportEventTypeEXT));
vkStream->read((uint64_t*)&forUnmarshaling->memoryObjectId, sizeof(uint64_t));
vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
vkStream->read((VkObjectType*)&forUnmarshaling->objectType, sizeof(VkObjectType));
vkStream->read((uint64_t*)&forUnmarshaling->objectHandle, sizeof(uint64_t));
vkStream->read((uint32_t*)&forUnmarshaling->heapIndex, sizeof(uint32_t));
}
void marshal_VkDeviceDeviceMemoryReportCreateInfoEXT(
VulkanStream* vkStream, VkStructureType rootType,
const VkDeviceDeviceMemoryReportCreateInfoEXT* forMarshaling) {
(void)rootType;
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((VkDeviceMemoryReportFlagsEXT*)&forMarshaling->flags,
sizeof(VkDeviceMemoryReportFlagsEXT));
uint64_t cgen_var_0 = (uint64_t)forMarshaling->pfnUserCallback;
vkStream->putBe64(cgen_var_0);
vkStream->write((void*)forMarshaling->pUserData, sizeof(uint8_t));
}
void unmarshal_VkDeviceDeviceMemoryReportCreateInfoEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkDeviceDeviceMemoryReportCreateInfoEXT* 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((VkDeviceMemoryReportFlagsEXT*)&forUnmarshaling->flags,
sizeof(VkDeviceMemoryReportFlagsEXT));
forUnmarshaling->pfnUserCallback = (PFN_vkDeviceMemoryReportCallbackEXT)vkStream->getBe64();
vkStream->alloc((void**)&forUnmarshaling->pUserData, sizeof(uint8_t));
vkStream->read((void*)forUnmarshaling->pUserData, sizeof(uint8_t));
}
#endif
#ifdef VK_EXT_custom_border_color
void marshal_VkSamplerCustomBorderColorCreateInfoEXT(
VulkanStream* vkStream, VkStructureType rootType,
const VkSamplerCustomBorderColorCreateInfoEXT* forMarshaling) {
(void)rootType;
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_VkClearColorValue(vkStream, rootType,
(VkClearColorValue*)(&forMarshaling->customBorderColor));
vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
}
void unmarshal_VkSamplerCustomBorderColorCreateInfoEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkSamplerCustomBorderColorCreateInfoEXT* 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_VkClearColorValue(vkStream, rootType,
(VkClearColorValue*)(&forUnmarshaling->customBorderColor));
vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
}
void marshal_VkPhysicalDeviceCustomBorderColorPropertiesEXT(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceCustomBorderColorPropertiesEXT* forMarshaling) {
(void)rootType;
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->maxCustomBorderColorSamplers, sizeof(uint32_t));
}
void unmarshal_VkPhysicalDeviceCustomBorderColorPropertiesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceCustomBorderColorPropertiesEXT* 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->maxCustomBorderColorSamplers, sizeof(uint32_t));
}
void marshal_VkPhysicalDeviceCustomBorderColorFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceCustomBorderColorFeaturesEXT* forMarshaling) {
(void)rootType;
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->customBorderColors, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->customBorderColorWithoutFormat, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceCustomBorderColorFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceCustomBorderColorFeaturesEXT* 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->customBorderColors, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->customBorderColorWithoutFormat, sizeof(VkBool32));
}
#endif
#ifdef VK_EXT_private_data
#endif
#ifdef VK_EXT_pipeline_creation_cache_control
#endif
#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_EXT_ycbcr_2plane_444_formats
void marshal_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT* forMarshaling) {
(void)rootType;
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->ycbcr2plane444Formats, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT* 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->ycbcr2plane444Formats, sizeof(VkBool32));
}
#endif
#ifdef VK_EXT_image_robustness
#endif
#ifdef VK_EXT_image_compression_control
void marshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
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->imageCompressionControl, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceImageCompressionControlFeaturesEXT* 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->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_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_4444_formats
void marshal_VkPhysicalDevice4444FormatsFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDevice4444FormatsFeaturesEXT* forMarshaling) {
(void)rootType;
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->formatA4R4G4B4, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->formatA4B4G4R4, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDevice4444FormatsFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDevice4444FormatsFeaturesEXT* 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->formatA4R4G4B4, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->formatA4B4G4R4, sizeof(VkBool32));
}
#endif
#ifdef VK_EXT_primitive_topology_list_restart
void marshal_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT* forMarshaling) {
(void)rootType;
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->primitiveTopologyListRestart, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->primitiveTopologyPatchListRestart, sizeof(VkBool32));
}
void unmarshal_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT* 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->primitiveTopologyListRestart, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->primitiveTopologyPatchListRestart,
sizeof(VkBool32));
}
#endif
#ifdef VK_EXT_extended_dynamic_state2
void marshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT* forMarshaling) {
(void)rootType;
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->extendedDynamicState2, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState2LogicOp, sizeof(VkBool32));
vkStream->write((VkBool32*)&forMarshaling->extendedDynamicState2PatchControlPoints,
sizeof(VkBool32));
}
void unmarshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceExtendedDynamicState2FeaturesEXT* 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->extendedDynamicState2, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState2LogicOp, sizeof(VkBool32));
vkStream->read((VkBool32*)&forUnmarshaling->extendedDynamicState2PatchControlPoints,
sizeof(VkBool32));
}
#endif
#ifdef VK_GOOGLE_gfxstream
void marshal_VkImportColorBufferGOOGLE(VulkanStream* vkStream, VkStructureType rootType,
const VkImportColorBufferGOOGLE* forMarshaling) {
(void)rootType;
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->colorBuffer, sizeof(uint32_t));
}
void unmarshal_VkImportColorBufferGOOGLE(VulkanStream* vkStream, VkStructureType rootType,
VkImportColorBufferGOOGLE* forUnmarshaling) {
(void)rootType;
vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
forUnmarshaling->sType = VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE;
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->colorBuffer, sizeof(uint32_t));
}
void marshal_VkImportBufferGOOGLE(VulkanStream* vkStream, VkStructureType rootType,
const VkImportBufferGOOGLE* forMarshaling) {
(void)rootType;
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->buffer, sizeof(uint32_t));
}
void unmarshal_VkImportBufferGOOGLE(VulkanStream* vkStream, VkStructureType rootType,
VkImportBufferGOOGLE* forUnmarshaling) {
(void)rootType;
vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
forUnmarshaling->sType = VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE;
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->buffer, sizeof(uint32_t));
}
void marshal_VkCreateBlobGOOGLE(VulkanStream* vkStream, VkStructureType rootType,
const VkCreateBlobGOOGLE* forMarshaling) {
(void)rootType;
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->blobMem, sizeof(uint32_t));
vkStream->write((uint32_t*)&forMarshaling->blobFlags, sizeof(uint32_t));
vkStream->write((uint64_t*)&forMarshaling->blobId, sizeof(uint64_t));
}
void unmarshal_VkCreateBlobGOOGLE(VulkanStream* vkStream, VkStructureType rootType,
VkCreateBlobGOOGLE* forUnmarshaling) {
(void)rootType;
vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
forUnmarshaling->sType = VK_STRUCTURE_TYPE_CREATE_BLOB_GOOGLE;
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->blobMem, sizeof(uint32_t));
vkStream->read((uint32_t*)&forUnmarshaling->blobFlags, sizeof(uint32_t));
vkStream->read((uint64_t*)&forUnmarshaling->blobId, sizeof(uint64_t));
}
#endif
#ifdef VK_EXT_load_store_op_none
#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
void marshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType,
const void* structExtension) {
VkInstanceCreateInfo* structAccess = (VkInstanceCreateInfo*)(structExtension);
size_t currExtSize = goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, structExtension);
if (!currExtSize && structExtension) {
// unknown struct extension; skip and call on its pNext field
marshal_extension_struct(vkStream, rootType, (void*)structAccess->pNext);
return;
} else {
// known or null extension struct
vkStream->putBe32(currExtSize);
if (!currExtSize) {
// exit if this was a null extension struct (size == 0 in this branch)
return;
}
}
vkStream->write(structExtension, sizeof(VkStructureType));
if (!structExtension) {
return;
}
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(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceSubgroupProperties*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: {
marshal_VkPhysicalDevice16BitStorageFeatures(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDevice16BitStorageFeatures*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: {
marshal_VkMemoryDedicatedRequirements(
vkStream, rootType,
reinterpret_cast<const VkMemoryDedicatedRequirements*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: {
marshal_VkMemoryDedicatedAllocateInfo(
vkStream, rootType,
reinterpret_cast<const VkMemoryDedicatedAllocateInfo*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: {
marshal_VkMemoryAllocateFlagsInfo(
vkStream, rootType,
reinterpret_cast<const VkMemoryAllocateFlagsInfo*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: {
marshal_VkDeviceGroupRenderPassBeginInfo(
vkStream, rootType,
reinterpret_cast<const VkDeviceGroupRenderPassBeginInfo*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: {
marshal_VkDeviceGroupCommandBufferBeginInfo(
vkStream, rootType,
reinterpret_cast<const VkDeviceGroupCommandBufferBeginInfo*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: {
marshal_VkDeviceGroupSubmitInfo(
vkStream, rootType,
reinterpret_cast<const VkDeviceGroupSubmitInfo*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: {
marshal_VkDeviceGroupBindSparseInfo(
vkStream, rootType,
reinterpret_cast<const VkDeviceGroupBindSparseInfo*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: {
marshal_VkBindBufferMemoryDeviceGroupInfo(
vkStream, rootType,
reinterpret_cast<const VkBindBufferMemoryDeviceGroupInfo*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: {
marshal_VkBindImageMemoryDeviceGroupInfo(
vkStream, rootType,
reinterpret_cast<const VkBindImageMemoryDeviceGroupInfo*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: {
marshal_VkDeviceGroupDeviceCreateInfo(
vkStream, rootType,
reinterpret_cast<const VkDeviceGroupDeviceCreateInfo*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
marshal_VkPhysicalDeviceFeatures2(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceFeatures2*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: {
marshal_VkPhysicalDevicePointClippingProperties(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDevicePointClippingProperties*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: {
marshal_VkRenderPassInputAttachmentAspectCreateInfo(
vkStream, rootType,
reinterpret_cast<const VkRenderPassInputAttachmentAspectCreateInfo*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: {
marshal_VkImageViewUsageCreateInfo(
vkStream, rootType,
reinterpret_cast<const VkImageViewUsageCreateInfo*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: {
marshal_VkPipelineTessellationDomainOriginStateCreateInfo(
vkStream, rootType,
reinterpret_cast<const VkPipelineTessellationDomainOriginStateCreateInfo*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: {
marshal_VkRenderPassMultiviewCreateInfo(
vkStream, rootType,
reinterpret_cast<const VkRenderPassMultiviewCreateInfo*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: {
marshal_VkPhysicalDeviceMultiviewFeatures(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceMultiviewFeatures*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: {
marshal_VkPhysicalDeviceMultiviewProperties(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceMultiviewProperties*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: {
marshal_VkPhysicalDeviceVariablePointersFeatures(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceVariablePointersFeatures*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: {
marshal_VkPhysicalDeviceProtectedMemoryFeatures(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceProtectedMemoryFeatures*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: {
marshal_VkPhysicalDeviceProtectedMemoryProperties(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceProtectedMemoryProperties*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: {
marshal_VkProtectedSubmitInfo(
vkStream, rootType,
reinterpret_cast<const VkProtectedSubmitInfo*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: {
marshal_VkSamplerYcbcrConversionInfo(
vkStream, rootType,
reinterpret_cast<const VkSamplerYcbcrConversionInfo*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: {
marshal_VkBindImagePlaneMemoryInfo(
vkStream, rootType,
reinterpret_cast<const VkBindImagePlaneMemoryInfo*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: {
marshal_VkImagePlaneMemoryRequirementsInfo(
vkStream, rootType,
reinterpret_cast<const VkImagePlaneMemoryRequirementsInfo*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: {
marshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: {
marshal_VkSamplerYcbcrConversionImageFormatProperties(
vkStream, rootType,
reinterpret_cast<const VkSamplerYcbcrConversionImageFormatProperties*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: {
marshal_VkPhysicalDeviceExternalImageFormatInfo(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceExternalImageFormatInfo*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: {
marshal_VkExternalImageFormatProperties(
vkStream, rootType,
reinterpret_cast<const VkExternalImageFormatProperties*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: {
marshal_VkPhysicalDeviceIDProperties(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceIDProperties*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: {
marshal_VkExternalMemoryImageCreateInfo(
vkStream, rootType,
reinterpret_cast<const VkExternalMemoryImageCreateInfo*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: {
marshal_VkExternalMemoryBufferCreateInfo(
vkStream, rootType,
reinterpret_cast<const VkExternalMemoryBufferCreateInfo*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: {
marshal_VkExportMemoryAllocateInfo(
vkStream, rootType,
reinterpret_cast<const VkExportMemoryAllocateInfo*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: {
marshal_VkExportFenceCreateInfo(
vkStream, rootType,
reinterpret_cast<const VkExportFenceCreateInfo*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: {
marshal_VkExportSemaphoreCreateInfo(
vkStream, rootType,
reinterpret_cast<const VkExportSemaphoreCreateInfo*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: {
marshal_VkPhysicalDeviceMaintenance3Properties(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceMaintenance3Properties*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: {
marshal_VkPhysicalDeviceShaderDrawParametersFeatures(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceShaderDrawParametersFeatures*>(
structExtension));
break;
}
#endif
#ifdef VK_VERSION_1_2
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: {
marshal_VkPhysicalDeviceVulkan11Features(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceVulkan11Features*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: {
marshal_VkPhysicalDeviceVulkan11Properties(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceVulkan11Properties*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES: {
marshal_VkPhysicalDeviceVulkan12Features(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceVulkan12Features*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES: {
marshal_VkPhysicalDeviceVulkan12Properties(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceVulkan12Properties*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO: {
marshal_VkImageFormatListCreateInfo(
vkStream, rootType,
reinterpret_cast<const VkImageFormatListCreateInfo*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: {
marshal_VkPhysicalDevice8BitStorageFeatures(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDevice8BitStorageFeatures*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: {
marshal_VkPhysicalDeviceDriverProperties(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceDriverProperties*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: {
marshal_VkPhysicalDeviceShaderAtomicInt64Features(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceShaderAtomicInt64Features*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: {
marshal_VkPhysicalDeviceShaderFloat16Int8Features(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceShaderFloat16Int8Features*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: {
marshal_VkPhysicalDeviceFloatControlsProperties(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceFloatControlsProperties*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: {
marshal_VkDescriptorSetLayoutBindingFlagsCreateInfo(
vkStream, rootType,
reinterpret_cast<const VkDescriptorSetLayoutBindingFlagsCreateInfo*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: {
marshal_VkPhysicalDeviceDescriptorIndexingFeatures(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingFeatures*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: {
marshal_VkPhysicalDeviceDescriptorIndexingProperties(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingProperties*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: {
marshal_VkDescriptorSetVariableDescriptorCountAllocateInfo(
vkStream, rootType,
reinterpret_cast<const VkDescriptorSetVariableDescriptorCountAllocateInfo*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: {
marshal_VkDescriptorSetVariableDescriptorCountLayoutSupport(
vkStream, rootType,
reinterpret_cast<const VkDescriptorSetVariableDescriptorCountLayoutSupport*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: {
marshal_VkSubpassDescriptionDepthStencilResolve(
vkStream, rootType,
reinterpret_cast<const VkSubpassDescriptionDepthStencilResolve*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: {
marshal_VkPhysicalDeviceDepthStencilResolveProperties(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceDepthStencilResolveProperties*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: {
marshal_VkPhysicalDeviceScalarBlockLayoutFeatures(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceScalarBlockLayoutFeatures*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: {
marshal_VkImageStencilUsageCreateInfo(
vkStream, rootType,
reinterpret_cast<const VkImageStencilUsageCreateInfo*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: {
marshal_VkSamplerReductionModeCreateInfo(
vkStream, rootType,
reinterpret_cast<const VkSamplerReductionModeCreateInfo*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: {
marshal_VkPhysicalDeviceSamplerFilterMinmaxProperties(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceSamplerFilterMinmaxProperties*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES: {
marshal_VkPhysicalDeviceVulkanMemoryModelFeatures(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceVulkanMemoryModelFeatures*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: {
marshal_VkPhysicalDeviceImagelessFramebufferFeatures(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceImagelessFramebufferFeatures*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: {
marshal_VkFramebufferAttachmentsCreateInfo(
vkStream, rootType,
reinterpret_cast<const VkFramebufferAttachmentsCreateInfo*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: {
marshal_VkRenderPassAttachmentBeginInfo(
vkStream, rootType,
reinterpret_cast<const VkRenderPassAttachmentBeginInfo*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: {
marshal_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceUniformBufferStandardLayoutFeatures*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: {
marshal_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: {
marshal_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: {
marshal_VkAttachmentReferenceStencilLayout(
vkStream, rootType,
reinterpret_cast<const VkAttachmentReferenceStencilLayout*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: {
marshal_VkAttachmentDescriptionStencilLayout(
vkStream, rootType,
reinterpret_cast<const VkAttachmentDescriptionStencilLayout*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: {
marshal_VkPhysicalDeviceHostQueryResetFeatures(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceHostQueryResetFeatures*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES: {
marshal_VkPhysicalDeviceTimelineSemaphoreFeatures(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceTimelineSemaphoreFeatures*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES: {
marshal_VkPhysicalDeviceTimelineSemaphoreProperties(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceTimelineSemaphoreProperties*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO: {
marshal_VkSemaphoreTypeCreateInfo(
vkStream, rootType,
reinterpret_cast<const VkSemaphoreTypeCreateInfo*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO: {
marshal_VkTimelineSemaphoreSubmitInfo(
vkStream, rootType,
reinterpret_cast<const VkTimelineSemaphoreSubmitInfo*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES: {
marshal_VkPhysicalDeviceBufferDeviceAddressFeatures(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceBufferDeviceAddressFeatures*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO: {
marshal_VkBufferOpaqueCaptureAddressCreateInfo(
vkStream, rootType,
reinterpret_cast<const VkBufferOpaqueCaptureAddressCreateInfo*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO: {
marshal_VkMemoryOpaqueCaptureAddressAllocateInfo(
vkStream, rootType,
reinterpret_cast<const VkMemoryOpaqueCaptureAddressAllocateInfo*>(structExtension));
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(
vkStream, rootType,
reinterpret_cast<const VkImageSwapchainCreateInfoKHR*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR: {
marshal_VkBindImageMemorySwapchainInfoKHR(
vkStream, rootType,
reinterpret_cast<const VkBindImageMemorySwapchainInfoKHR*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR: {
marshal_VkDeviceGroupPresentInfoKHR(
vkStream, rootType,
reinterpret_cast<const VkDeviceGroupPresentInfoKHR*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR: {
marshal_VkDeviceGroupSwapchainCreateInfoKHR(
vkStream, rootType,
reinterpret_cast<const VkDeviceGroupSwapchainCreateInfoKHR*>(structExtension));
break;
}
#endif
#ifdef VK_KHR_dynamic_rendering
case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: {
marshal_VkRenderingFragmentShadingRateAttachmentInfoKHR(
vkStream, rootType,
reinterpret_cast<const VkRenderingFragmentShadingRateAttachmentInfoKHR*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT: {
marshal_VkRenderingFragmentDensityMapAttachmentInfoEXT(
vkStream, rootType,
reinterpret_cast<const VkRenderingFragmentDensityMapAttachmentInfoEXT*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD: {
marshal_VkAttachmentSampleCountInfoAMD(
vkStream, rootType,
reinterpret_cast<const VkAttachmentSampleCountInfoAMD*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX: {
marshal_VkMultiviewPerViewAttributesInfoNVX(
vkStream, rootType,
reinterpret_cast<const VkMultiviewPerViewAttributesInfoNVX*>(structExtension));
break;
}
#endif
#ifdef VK_KHR_incremental_present
case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: {
marshal_VkPresentRegionsKHR(
vkStream, rootType, reinterpret_cast<const VkPresentRegionsKHR*>(structExtension));
break;
}
#endif
#ifdef VK_KHR_pipeline_executable_properties
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR: {
marshal_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR*>(
structExtension));
break;
}
#endif
#ifdef VK_KHR_synchronization2
case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: {
marshal_VkQueueFamilyCheckpointProperties2NV(
vkStream, rootType,
reinterpret_cast<const VkQueueFamilyCheckpointProperties2NV*>(structExtension));
break;
}
#endif
#ifdef VK_KHR_maintenance5
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR: {
marshal_VkPhysicalDeviceMaintenance5FeaturesKHR(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceMaintenance5FeaturesKHR*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR: {
marshal_VkPhysicalDeviceMaintenance5PropertiesKHR(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceMaintenance5PropertiesKHR*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR: {
marshal_VkPipelineCreateFlags2CreateInfoKHR(
vkStream, rootType,
reinterpret_cast<const VkPipelineCreateFlags2CreateInfoKHR*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR: {
marshal_VkBufferUsageFlags2CreateInfoKHR(
vkStream, rootType,
reinterpret_cast<const VkBufferUsageFlags2CreateInfoKHR*>(structExtension));
break;
}
#endif
#ifdef VK_ANDROID_native_buffer
case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID: {
marshal_VkNativeBufferANDROID(
vkStream, rootType,
reinterpret_cast<const VkNativeBufferANDROID*>(structExtension));
break;
}
#endif
#ifdef VK_EXT_transform_feedback
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: {
marshal_VkPhysicalDeviceTransformFeedbackFeaturesEXT(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceTransformFeedbackFeaturesEXT*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: {
marshal_VkPhysicalDeviceTransformFeedbackPropertiesEXT(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceTransformFeedbackPropertiesEXT*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: {
marshal_VkPipelineRasterizationStateStreamCreateInfoEXT(
vkStream, rootType,
reinterpret_cast<const VkPipelineRasterizationStateStreamCreateInfoEXT*>(
structExtension));
break;
}
#endif
#ifdef VK_EXT_provoking_vertex
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT: {
marshal_VkPhysicalDeviceProvokingVertexFeaturesEXT(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceProvokingVertexFeaturesEXT*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: {
marshal_VkPhysicalDeviceProvokingVertexPropertiesEXT(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceProvokingVertexPropertiesEXT*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT: {
marshal_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(
vkStream, rootType,
reinterpret_cast<const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT*>(
structExtension));
break;
}
#endif
#ifdef VK_EXT_line_rasterization
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT: {
marshal_VkPhysicalDeviceLineRasterizationFeaturesEXT(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceLineRasterizationFeaturesEXT*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT: {
marshal_VkPhysicalDeviceLineRasterizationPropertiesEXT(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceLineRasterizationPropertiesEXT*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT: {
marshal_VkPipelineRasterizationLineStateCreateInfoEXT(
vkStream, rootType,
reinterpret_cast<const VkPipelineRasterizationLineStateCreateInfoEXT*>(
structExtension));
break;
}
#endif
#ifdef VK_EXT_index_type_uint8
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT: {
marshal_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceIndexTypeUint8FeaturesEXT*>(
structExtension));
break;
}
#endif
#ifdef VK_EXT_extended_dynamic_state
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: {
marshal_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT*>(
structExtension));
break;
}
#endif
#ifdef VK_EXT_host_image_copy
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT: {
marshal_VkPhysicalDeviceHostImageCopyFeaturesEXT(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceHostImageCopyFeaturesEXT*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT: {
marshal_VkPhysicalDeviceHostImageCopyPropertiesEXT(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceHostImageCopyPropertiesEXT*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE_EXT: {
marshal_VkSubresourceHostMemcpySizeEXT(
vkStream, rootType,
reinterpret_cast<const VkSubresourceHostMemcpySizeEXT*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT: {
marshal_VkHostImageCopyDevicePerformanceQueryEXT(
vkStream, rootType,
reinterpret_cast<const VkHostImageCopyDevicePerformanceQueryEXT*>(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 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_EXT_texel_buffer_alignment
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: {
marshal_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT*>(
structExtension));
break;
}
#endif
#ifdef VK_EXT_device_memory_report
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT: {
marshal_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT: {
marshal_VkDeviceDeviceMemoryReportCreateInfoEXT(
vkStream, rootType,
reinterpret_cast<const VkDeviceDeviceMemoryReportCreateInfoEXT*>(structExtension));
break;
}
#endif
#ifdef VK_EXT_custom_border_color
case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: {
marshal_VkSamplerCustomBorderColorCreateInfoEXT(
vkStream, rootType,
reinterpret_cast<const VkSamplerCustomBorderColorCreateInfoEXT*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: {
marshal_VkPhysicalDeviceCustomBorderColorPropertiesEXT(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceCustomBorderColorPropertiesEXT*>(
structExtension));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: {
marshal_VkPhysicalDeviceCustomBorderColorFeaturesEXT(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceCustomBorderColorFeaturesEXT*>(
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_EXT_ycbcr_2plane_444_formats
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: {
marshal_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT*>(
structExtension));
break;
}
#endif
#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_4444_formats
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: {
marshal_VkPhysicalDevice4444FormatsFeaturesEXT(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDevice4444FormatsFeaturesEXT*>(structExtension));
break;
}
#endif
#ifdef VK_EXT_primitive_topology_list_restart
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT: {
marshal_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT*>(
structExtension));
break;
}
#endif
#ifdef VK_EXT_extended_dynamic_state2
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT: {
marshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(
vkStream, rootType,
reinterpret_cast<const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT*>(
structExtension));
break;
}
#endif
#ifdef VK_GOOGLE_gfxstream
case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE: {
marshal_VkImportColorBufferGOOGLE(
vkStream, rootType,
reinterpret_cast<const VkImportColorBufferGOOGLE*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE: {
marshal_VkImportBufferGOOGLE(
vkStream, rootType, reinterpret_cast<const VkImportBufferGOOGLE*>(structExtension));
break;
}
case VK_STRUCTURE_TYPE_CREATE_BLOB_GOOGLE: {
marshal_VkCreateBlobGOOGLE(
vkStream, rootType, reinterpret_cast<const VkCreateBlobGOOGLE*>(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
default: {
// fatal; the switch is only taken if the extension struct is known
abort();
}
}
}
void unmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType,
void* structExtension_out) {
VkInstanceCreateInfo* structAccess = (VkInstanceCreateInfo*)(structExtension_out);
size_t currExtSize = goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, structExtension_out);
if (!currExtSize && structExtension_out) {
// unknown struct extension; skip and call on its pNext field
unmarshal_extension_struct(vkStream, rootType, (void*)structAccess->pNext);
return;
} else {
// known or null extension struct
if (!currExtSize) {
// exit if this was a null extension struct (size == 0 in this branch)
return;
}
}
if (!structExtension_out) {
return;
}
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(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceSubgroupProperties*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: {
unmarshal_VkPhysicalDevice16BitStorageFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDevice16BitStorageFeatures*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: {
unmarshal_VkMemoryDedicatedRequirements(
vkStream, rootType,
reinterpret_cast<VkMemoryDedicatedRequirements*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: {
unmarshal_VkMemoryDedicatedAllocateInfo(
vkStream, rootType,
reinterpret_cast<VkMemoryDedicatedAllocateInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: {
unmarshal_VkMemoryAllocateFlagsInfo(
vkStream, rootType,
reinterpret_cast<VkMemoryAllocateFlagsInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: {
unmarshal_VkDeviceGroupRenderPassBeginInfo(
vkStream, rootType,
reinterpret_cast<VkDeviceGroupRenderPassBeginInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: {
unmarshal_VkDeviceGroupCommandBufferBeginInfo(
vkStream, rootType,
reinterpret_cast<VkDeviceGroupCommandBufferBeginInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: {
unmarshal_VkDeviceGroupSubmitInfo(
vkStream, rootType,
reinterpret_cast<VkDeviceGroupSubmitInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: {
unmarshal_VkDeviceGroupBindSparseInfo(
vkStream, rootType,
reinterpret_cast<VkDeviceGroupBindSparseInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: {
unmarshal_VkBindBufferMemoryDeviceGroupInfo(
vkStream, rootType,
reinterpret_cast<VkBindBufferMemoryDeviceGroupInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: {
unmarshal_VkBindImageMemoryDeviceGroupInfo(
vkStream, rootType,
reinterpret_cast<VkBindImageMemoryDeviceGroupInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: {
unmarshal_VkDeviceGroupDeviceCreateInfo(
vkStream, rootType,
reinterpret_cast<VkDeviceGroupDeviceCreateInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
unmarshal_VkPhysicalDeviceFeatures2(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceFeatures2*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: {
unmarshal_VkPhysicalDevicePointClippingProperties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDevicePointClippingProperties*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: {
unmarshal_VkRenderPassInputAttachmentAspectCreateInfo(
vkStream, rootType,
reinterpret_cast<VkRenderPassInputAttachmentAspectCreateInfo*>(
structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: {
unmarshal_VkImageViewUsageCreateInfo(
vkStream, rootType,
reinterpret_cast<VkImageViewUsageCreateInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: {
unmarshal_VkPipelineTessellationDomainOriginStateCreateInfo(
vkStream, rootType,
reinterpret_cast<VkPipelineTessellationDomainOriginStateCreateInfo*>(
structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: {
unmarshal_VkRenderPassMultiviewCreateInfo(
vkStream, rootType,
reinterpret_cast<VkRenderPassMultiviewCreateInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: {
unmarshal_VkPhysicalDeviceMultiviewFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceMultiviewFeatures*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: {
unmarshal_VkPhysicalDeviceMultiviewProperties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceMultiviewProperties*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: {
unmarshal_VkPhysicalDeviceVariablePointersFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceVariablePointersFeatures*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: {
unmarshal_VkPhysicalDeviceProtectedMemoryFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceProtectedMemoryFeatures*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: {
unmarshal_VkPhysicalDeviceProtectedMemoryProperties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceProtectedMemoryProperties*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: {
unmarshal_VkProtectedSubmitInfo(
vkStream, rootType, reinterpret_cast<VkProtectedSubmitInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: {
unmarshal_VkSamplerYcbcrConversionInfo(
vkStream, rootType,
reinterpret_cast<VkSamplerYcbcrConversionInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: {
unmarshal_VkBindImagePlaneMemoryInfo(
vkStream, rootType,
reinterpret_cast<VkBindImagePlaneMemoryInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: {
unmarshal_VkImagePlaneMemoryRequirementsInfo(
vkStream, rootType,
reinterpret_cast<VkImagePlaneMemoryRequirementsInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: {
unmarshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(
structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: {
unmarshal_VkSamplerYcbcrConversionImageFormatProperties(
vkStream, rootType,
reinterpret_cast<VkSamplerYcbcrConversionImageFormatProperties*>(
structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: {
unmarshal_VkPhysicalDeviceExternalImageFormatInfo(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceExternalImageFormatInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: {
unmarshal_VkExternalImageFormatProperties(
vkStream, rootType,
reinterpret_cast<VkExternalImageFormatProperties*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: {
unmarshal_VkPhysicalDeviceIDProperties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceIDProperties*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: {
unmarshal_VkExternalMemoryImageCreateInfo(
vkStream, rootType,
reinterpret_cast<VkExternalMemoryImageCreateInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: {
unmarshal_VkExternalMemoryBufferCreateInfo(
vkStream, rootType,
reinterpret_cast<VkExternalMemoryBufferCreateInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: {
unmarshal_VkExportMemoryAllocateInfo(
vkStream, rootType,
reinterpret_cast<VkExportMemoryAllocateInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: {
unmarshal_VkExportFenceCreateInfo(
vkStream, rootType,
reinterpret_cast<VkExportFenceCreateInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: {
unmarshal_VkExportSemaphoreCreateInfo(
vkStream, rootType,
reinterpret_cast<VkExportSemaphoreCreateInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: {
unmarshal_VkPhysicalDeviceMaintenance3Properties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceMaintenance3Properties*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: {
unmarshal_VkPhysicalDeviceShaderDrawParametersFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceShaderDrawParametersFeatures*>(
structExtension_out));
break;
}
#endif
#ifdef VK_VERSION_1_2
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: {
unmarshal_VkPhysicalDeviceVulkan11Features(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceVulkan11Features*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: {
unmarshal_VkPhysicalDeviceVulkan11Properties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceVulkan11Properties*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES: {
unmarshal_VkPhysicalDeviceVulkan12Features(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceVulkan12Features*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES: {
unmarshal_VkPhysicalDeviceVulkan12Properties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceVulkan12Properties*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO: {
unmarshal_VkImageFormatListCreateInfo(
vkStream, rootType,
reinterpret_cast<VkImageFormatListCreateInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: {
unmarshal_VkPhysicalDevice8BitStorageFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDevice8BitStorageFeatures*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: {
unmarshal_VkPhysicalDeviceDriverProperties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceDriverProperties*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: {
unmarshal_VkPhysicalDeviceShaderAtomicInt64Features(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceShaderAtomicInt64Features*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: {
unmarshal_VkPhysicalDeviceShaderFloat16Int8Features(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceShaderFloat16Int8Features*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: {
unmarshal_VkPhysicalDeviceFloatControlsProperties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceFloatControlsProperties*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: {
unmarshal_VkDescriptorSetLayoutBindingFlagsCreateInfo(
vkStream, rootType,
reinterpret_cast<VkDescriptorSetLayoutBindingFlagsCreateInfo*>(
structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: {
unmarshal_VkPhysicalDeviceDescriptorIndexingFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceDescriptorIndexingFeatures*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: {
unmarshal_VkPhysicalDeviceDescriptorIndexingProperties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceDescriptorIndexingProperties*>(
structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: {
unmarshal_VkDescriptorSetVariableDescriptorCountAllocateInfo(
vkStream, rootType,
reinterpret_cast<VkDescriptorSetVariableDescriptorCountAllocateInfo*>(
structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: {
unmarshal_VkDescriptorSetVariableDescriptorCountLayoutSupport(
vkStream, rootType,
reinterpret_cast<VkDescriptorSetVariableDescriptorCountLayoutSupport*>(
structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: {
unmarshal_VkSubpassDescriptionDepthStencilResolve(
vkStream, rootType,
reinterpret_cast<VkSubpassDescriptionDepthStencilResolve*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: {
unmarshal_VkPhysicalDeviceDepthStencilResolveProperties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceDepthStencilResolveProperties*>(
structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: {
unmarshal_VkPhysicalDeviceScalarBlockLayoutFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceScalarBlockLayoutFeatures*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: {
unmarshal_VkImageStencilUsageCreateInfo(
vkStream, rootType,
reinterpret_cast<VkImageStencilUsageCreateInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: {
unmarshal_VkSamplerReductionModeCreateInfo(
vkStream, rootType,
reinterpret_cast<VkSamplerReductionModeCreateInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: {
unmarshal_VkPhysicalDeviceSamplerFilterMinmaxProperties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceSamplerFilterMinmaxProperties*>(
structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES: {
unmarshal_VkPhysicalDeviceVulkanMemoryModelFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceVulkanMemoryModelFeatures*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: {
unmarshal_VkPhysicalDeviceImagelessFramebufferFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceImagelessFramebufferFeatures*>(
structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: {
unmarshal_VkFramebufferAttachmentsCreateInfo(
vkStream, rootType,
reinterpret_cast<VkFramebufferAttachmentsCreateInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: {
unmarshal_VkRenderPassAttachmentBeginInfo(
vkStream, rootType,
reinterpret_cast<VkRenderPassAttachmentBeginInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: {
unmarshal_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceUniformBufferStandardLayoutFeatures*>(
structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: {
unmarshal_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures*>(
structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: {
unmarshal_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures*>(
structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: {
unmarshal_VkAttachmentReferenceStencilLayout(
vkStream, rootType,
reinterpret_cast<VkAttachmentReferenceStencilLayout*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: {
unmarshal_VkAttachmentDescriptionStencilLayout(
vkStream, rootType,
reinterpret_cast<VkAttachmentDescriptionStencilLayout*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: {
unmarshal_VkPhysicalDeviceHostQueryResetFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceHostQueryResetFeatures*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES: {
unmarshal_VkPhysicalDeviceTimelineSemaphoreFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceTimelineSemaphoreFeatures*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES: {
unmarshal_VkPhysicalDeviceTimelineSemaphoreProperties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceTimelineSemaphoreProperties*>(
structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO: {
unmarshal_VkSemaphoreTypeCreateInfo(
vkStream, rootType,
reinterpret_cast<VkSemaphoreTypeCreateInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO: {
unmarshal_VkTimelineSemaphoreSubmitInfo(
vkStream, rootType,
reinterpret_cast<VkTimelineSemaphoreSubmitInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES: {
unmarshal_VkPhysicalDeviceBufferDeviceAddressFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceBufferDeviceAddressFeatures*>(
structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO: {
unmarshal_VkBufferOpaqueCaptureAddressCreateInfo(
vkStream, rootType,
reinterpret_cast<VkBufferOpaqueCaptureAddressCreateInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO: {
unmarshal_VkMemoryOpaqueCaptureAddressAllocateInfo(
vkStream, rootType,
reinterpret_cast<VkMemoryOpaqueCaptureAddressAllocateInfo*>(structExtension_out));
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(
vkStream, rootType,
reinterpret_cast<VkImageSwapchainCreateInfoKHR*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR: {
unmarshal_VkBindImageMemorySwapchainInfoKHR(
vkStream, rootType,
reinterpret_cast<VkBindImageMemorySwapchainInfoKHR*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR: {
unmarshal_VkDeviceGroupPresentInfoKHR(
vkStream, rootType,
reinterpret_cast<VkDeviceGroupPresentInfoKHR*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR: {
unmarshal_VkDeviceGroupSwapchainCreateInfoKHR(
vkStream, rootType,
reinterpret_cast<VkDeviceGroupSwapchainCreateInfoKHR*>(structExtension_out));
break;
}
#endif
#ifdef VK_KHR_dynamic_rendering
case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: {
unmarshal_VkRenderingFragmentShadingRateAttachmentInfoKHR(
vkStream, rootType,
reinterpret_cast<VkRenderingFragmentShadingRateAttachmentInfoKHR*>(
structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT: {
unmarshal_VkRenderingFragmentDensityMapAttachmentInfoEXT(
vkStream, rootType,
reinterpret_cast<VkRenderingFragmentDensityMapAttachmentInfoEXT*>(
structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD: {
unmarshal_VkAttachmentSampleCountInfoAMD(
vkStream, rootType,
reinterpret_cast<VkAttachmentSampleCountInfoAMD*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX: {
unmarshal_VkMultiviewPerViewAttributesInfoNVX(
vkStream, rootType,
reinterpret_cast<VkMultiviewPerViewAttributesInfoNVX*>(structExtension_out));
break;
}
#endif
#ifdef VK_KHR_incremental_present
case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: {
unmarshal_VkPresentRegionsKHR(
vkStream, rootType, reinterpret_cast<VkPresentRegionsKHR*>(structExtension_out));
break;
}
#endif
#ifdef VK_KHR_pipeline_executable_properties
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR: {
unmarshal_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
vkStream, rootType,
reinterpret_cast<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR*>(
structExtension_out));
break;
}
#endif
#ifdef VK_KHR_synchronization2
case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: {
unmarshal_VkQueueFamilyCheckpointProperties2NV(
vkStream, rootType,
reinterpret_cast<VkQueueFamilyCheckpointProperties2NV*>(structExtension_out));
break;
}
#endif
#ifdef VK_KHR_maintenance5
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR: {
unmarshal_VkPhysicalDeviceMaintenance5FeaturesKHR(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceMaintenance5FeaturesKHR*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR: {
unmarshal_VkPhysicalDeviceMaintenance5PropertiesKHR(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceMaintenance5PropertiesKHR*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR: {
unmarshal_VkPipelineCreateFlags2CreateInfoKHR(
vkStream, rootType,
reinterpret_cast<VkPipelineCreateFlags2CreateInfoKHR*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR: {
unmarshal_VkBufferUsageFlags2CreateInfoKHR(
vkStream, rootType,
reinterpret_cast<VkBufferUsageFlags2CreateInfoKHR*>(structExtension_out));
break;
}
#endif
#ifdef VK_ANDROID_native_buffer
case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID: {
unmarshal_VkNativeBufferANDROID(
vkStream, rootType, reinterpret_cast<VkNativeBufferANDROID*>(structExtension_out));
break;
}
#endif
#ifdef VK_EXT_transform_feedback
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: {
unmarshal_VkPhysicalDeviceTransformFeedbackFeaturesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceTransformFeedbackFeaturesEXT*>(
structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: {
unmarshal_VkPhysicalDeviceTransformFeedbackPropertiesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceTransformFeedbackPropertiesEXT*>(
structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: {
unmarshal_VkPipelineRasterizationStateStreamCreateInfoEXT(
vkStream, rootType,
reinterpret_cast<VkPipelineRasterizationStateStreamCreateInfoEXT*>(
structExtension_out));
break;
}
#endif
#ifdef VK_EXT_provoking_vertex
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT: {
unmarshal_VkPhysicalDeviceProvokingVertexFeaturesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceProvokingVertexFeaturesEXT*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: {
unmarshal_VkPhysicalDeviceProvokingVertexPropertiesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceProvokingVertexPropertiesEXT*>(
structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT: {
unmarshal_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(
vkStream, rootType,
reinterpret_cast<VkPipelineRasterizationProvokingVertexStateCreateInfoEXT*>(
structExtension_out));
break;
}
#endif
#ifdef VK_EXT_line_rasterization
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT: {
unmarshal_VkPhysicalDeviceLineRasterizationFeaturesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceLineRasterizationFeaturesEXT*>(
structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT: {
unmarshal_VkPhysicalDeviceLineRasterizationPropertiesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceLineRasterizationPropertiesEXT*>(
structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT: {
unmarshal_VkPipelineRasterizationLineStateCreateInfoEXT(
vkStream, rootType,
reinterpret_cast<VkPipelineRasterizationLineStateCreateInfoEXT*>(
structExtension_out));
break;
}
#endif
#ifdef VK_EXT_index_type_uint8
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT: {
unmarshal_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceIndexTypeUint8FeaturesEXT*>(structExtension_out));
break;
}
#endif
#ifdef VK_EXT_extended_dynamic_state
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: {
unmarshal_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceExtendedDynamicStateFeaturesEXT*>(
structExtension_out));
break;
}
#endif
#ifdef VK_EXT_host_image_copy
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT: {
unmarshal_VkPhysicalDeviceHostImageCopyFeaturesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceHostImageCopyFeaturesEXT*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT: {
unmarshal_VkPhysicalDeviceHostImageCopyPropertiesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceHostImageCopyPropertiesEXT*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE_EXT: {
unmarshal_VkSubresourceHostMemcpySizeEXT(
vkStream, rootType,
reinterpret_cast<VkSubresourceHostMemcpySizeEXT*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT: {
unmarshal_VkHostImageCopyDevicePerformanceQueryEXT(
vkStream, rootType,
reinterpret_cast<VkHostImageCopyDevicePerformanceQueryEXT*>(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<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_EXT_texel_buffer_alignment
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: {
unmarshal_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT*>(
structExtension_out));
break;
}
#endif
#ifdef VK_EXT_device_memory_report
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT: {
unmarshal_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT*>(
structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT: {
unmarshal_VkDeviceDeviceMemoryReportCreateInfoEXT(
vkStream, rootType,
reinterpret_cast<VkDeviceDeviceMemoryReportCreateInfoEXT*>(structExtension_out));
break;
}
#endif
#ifdef VK_EXT_custom_border_color
case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: {
unmarshal_VkSamplerCustomBorderColorCreateInfoEXT(
vkStream, rootType,
reinterpret_cast<VkSamplerCustomBorderColorCreateInfoEXT*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: {
unmarshal_VkPhysicalDeviceCustomBorderColorPropertiesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceCustomBorderColorPropertiesEXT*>(
structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: {
unmarshal_VkPhysicalDeviceCustomBorderColorFeaturesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceCustomBorderColorFeaturesEXT*>(
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_EXT_ycbcr_2plane_444_formats
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: {
unmarshal_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT*>(
structExtension_out));
break;
}
#endif
#ifdef VK_EXT_image_compression_control
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT: {
unmarshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT(
vkStream, rootType,
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_4444_formats
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: {
unmarshal_VkPhysicalDevice4444FormatsFeaturesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDevice4444FormatsFeaturesEXT*>(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(
vkStream, rootType,
reinterpret_cast<VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT*>(
structExtension_out));
break;
}
#endif
#ifdef VK_EXT_extended_dynamic_state2
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT: {
unmarshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceExtendedDynamicState2FeaturesEXT*>(
structExtension_out));
break;
}
#endif
#ifdef VK_GOOGLE_gfxstream
case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE: {
unmarshal_VkImportColorBufferGOOGLE(
vkStream, rootType,
reinterpret_cast<VkImportColorBufferGOOGLE*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE: {
unmarshal_VkImportBufferGOOGLE(
vkStream, rootType, reinterpret_cast<VkImportBufferGOOGLE*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_CREATE_BLOB_GOOGLE: {
unmarshal_VkCreateBlobGOOGLE(
vkStream, rootType, reinterpret_cast<VkCreateBlobGOOGLE*>(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
default: {
// fatal; the switch is only taken if the extension struct is known
abort();
}
}
}
const char* api_opcode_to_string(const uint32_t opcode) {
switch (opcode) {
#ifdef VK_VERSION_1_0
case OP_vkCreateInstance: {
return "OP_vkCreateInstance";
}
case OP_vkDestroyInstance: {
return "OP_vkDestroyInstance";
}
case OP_vkEnumeratePhysicalDevices: {
return "OP_vkEnumeratePhysicalDevices";
}
case OP_vkGetPhysicalDeviceFeatures: {
return "OP_vkGetPhysicalDeviceFeatures";
}
case OP_vkGetPhysicalDeviceFormatProperties: {
return "OP_vkGetPhysicalDeviceFormatProperties";
}
case OP_vkGetPhysicalDeviceImageFormatProperties: {
return "OP_vkGetPhysicalDeviceImageFormatProperties";
}
case OP_vkGetPhysicalDeviceProperties: {
return "OP_vkGetPhysicalDeviceProperties";
}
case OP_vkGetPhysicalDeviceQueueFamilyProperties: {
return "OP_vkGetPhysicalDeviceQueueFamilyProperties";
}
case OP_vkGetPhysicalDeviceMemoryProperties: {
return "OP_vkGetPhysicalDeviceMemoryProperties";
}
case OP_vkGetInstanceProcAddr: {
return "OP_vkGetInstanceProcAddr";
}
case OP_vkGetDeviceProcAddr: {
return "OP_vkGetDeviceProcAddr";
}
case OP_vkCreateDevice: {
return "OP_vkCreateDevice";
}
case OP_vkDestroyDevice: {
return "OP_vkDestroyDevice";
}
case OP_vkEnumerateInstanceExtensionProperties: {
return "OP_vkEnumerateInstanceExtensionProperties";
}
case OP_vkEnumerateDeviceExtensionProperties: {
return "OP_vkEnumerateDeviceExtensionProperties";
}
case OP_vkEnumerateInstanceLayerProperties: {
return "OP_vkEnumerateInstanceLayerProperties";
}
case OP_vkEnumerateDeviceLayerProperties: {
return "OP_vkEnumerateDeviceLayerProperties";
}
case OP_vkGetDeviceQueue: {
return "OP_vkGetDeviceQueue";
}
case OP_vkQueueSubmit: {
return "OP_vkQueueSubmit";
}
case OP_vkQueueWaitIdle: {
return "OP_vkQueueWaitIdle";
}
case OP_vkDeviceWaitIdle: {
return "OP_vkDeviceWaitIdle";
}
case OP_vkAllocateMemory: {
return "OP_vkAllocateMemory";
}
case OP_vkFreeMemory: {
return "OP_vkFreeMemory";
}
case OP_vkMapMemory: {
return "OP_vkMapMemory";
}
case OP_vkUnmapMemory: {
return "OP_vkUnmapMemory";
}
case OP_vkFlushMappedMemoryRanges: {
return "OP_vkFlushMappedMemoryRanges";
}
case OP_vkInvalidateMappedMemoryRanges: {
return "OP_vkInvalidateMappedMemoryRanges";
}
case OP_vkGetDeviceMemoryCommitment: {
return "OP_vkGetDeviceMemoryCommitment";
}
case OP_vkBindBufferMemory: {
return "OP_vkBindBufferMemory";
}
case OP_vkBindImageMemory: {
return "OP_vkBindImageMemory";
}
case OP_vkGetBufferMemoryRequirements: {
return "OP_vkGetBufferMemoryRequirements";
}
case OP_vkGetImageMemoryRequirements: {
return "OP_vkGetImageMemoryRequirements";
}
case OP_vkGetImageSparseMemoryRequirements: {
return "OP_vkGetImageSparseMemoryRequirements";
}
case OP_vkGetPhysicalDeviceSparseImageFormatProperties: {
return "OP_vkGetPhysicalDeviceSparseImageFormatProperties";
}
case OP_vkQueueBindSparse: {
return "OP_vkQueueBindSparse";
}
case OP_vkCreateFence: {
return "OP_vkCreateFence";
}
case OP_vkDestroyFence: {
return "OP_vkDestroyFence";
}
case OP_vkResetFences: {
return "OP_vkResetFences";
}
case OP_vkGetFenceStatus: {
return "OP_vkGetFenceStatus";
}
case OP_vkWaitForFences: {
return "OP_vkWaitForFences";
}
case OP_vkCreateSemaphore: {
return "OP_vkCreateSemaphore";
}
case OP_vkDestroySemaphore: {
return "OP_vkDestroySemaphore";
}
case OP_vkCreateEvent: {
return "OP_vkCreateEvent";
}
case OP_vkDestroyEvent: {
return "OP_vkDestroyEvent";
}
case OP_vkGetEventStatus: {
return "OP_vkGetEventStatus";
}
case OP_vkSetEvent: {
return "OP_vkSetEvent";
}
case OP_vkResetEvent: {
return "OP_vkResetEvent";
}
case OP_vkCreateQueryPool: {
return "OP_vkCreateQueryPool";
}
case OP_vkDestroyQueryPool: {
return "OP_vkDestroyQueryPool";
}
case OP_vkGetQueryPoolResults: {
return "OP_vkGetQueryPoolResults";
}
case OP_vkCreateBuffer: {
return "OP_vkCreateBuffer";
}
case OP_vkDestroyBuffer: {
return "OP_vkDestroyBuffer";
}
case OP_vkCreateBufferView: {
return "OP_vkCreateBufferView";
}
case OP_vkDestroyBufferView: {
return "OP_vkDestroyBufferView";
}
case OP_vkCreateImage: {
return "OP_vkCreateImage";
}
case OP_vkDestroyImage: {
return "OP_vkDestroyImage";
}
case OP_vkGetImageSubresourceLayout: {
return "OP_vkGetImageSubresourceLayout";
}
case OP_vkCreateImageView: {
return "OP_vkCreateImageView";
}
case OP_vkDestroyImageView: {
return "OP_vkDestroyImageView";
}
case OP_vkCreateShaderModule: {
return "OP_vkCreateShaderModule";
}
case OP_vkDestroyShaderModule: {
return "OP_vkDestroyShaderModule";
}
case OP_vkCreatePipelineCache: {
return "OP_vkCreatePipelineCache";
}
case OP_vkDestroyPipelineCache: {
return "OP_vkDestroyPipelineCache";
}
case OP_vkGetPipelineCacheData: {
return "OP_vkGetPipelineCacheData";
}
case OP_vkMergePipelineCaches: {
return "OP_vkMergePipelineCaches";
}
case OP_vkCreateGraphicsPipelines: {
return "OP_vkCreateGraphicsPipelines";
}
case OP_vkCreateComputePipelines: {
return "OP_vkCreateComputePipelines";
}
case OP_vkDestroyPipeline: {
return "OP_vkDestroyPipeline";
}
case OP_vkCreatePipelineLayout: {
return "OP_vkCreatePipelineLayout";
}
case OP_vkDestroyPipelineLayout: {
return "OP_vkDestroyPipelineLayout";
}
case OP_vkCreateSampler: {
return "OP_vkCreateSampler";
}
case OP_vkDestroySampler: {
return "OP_vkDestroySampler";
}
case OP_vkCreateDescriptorSetLayout: {
return "OP_vkCreateDescriptorSetLayout";
}
case OP_vkDestroyDescriptorSetLayout: {
return "OP_vkDestroyDescriptorSetLayout";
}
case OP_vkCreateDescriptorPool: {
return "OP_vkCreateDescriptorPool";
}
case OP_vkDestroyDescriptorPool: {
return "OP_vkDestroyDescriptorPool";
}
case OP_vkResetDescriptorPool: {
return "OP_vkResetDescriptorPool";
}
case OP_vkAllocateDescriptorSets: {
return "OP_vkAllocateDescriptorSets";
}
case OP_vkFreeDescriptorSets: {
return "OP_vkFreeDescriptorSets";
}
case OP_vkUpdateDescriptorSets: {
return "OP_vkUpdateDescriptorSets";
}
case OP_vkCreateFramebuffer: {
return "OP_vkCreateFramebuffer";
}
case OP_vkDestroyFramebuffer: {
return "OP_vkDestroyFramebuffer";
}
case OP_vkCreateRenderPass: {
return "OP_vkCreateRenderPass";
}
case OP_vkDestroyRenderPass: {
return "OP_vkDestroyRenderPass";
}
case OP_vkGetRenderAreaGranularity: {
return "OP_vkGetRenderAreaGranularity";
}
case OP_vkCreateCommandPool: {
return "OP_vkCreateCommandPool";
}
case OP_vkDestroyCommandPool: {
return "OP_vkDestroyCommandPool";
}
case OP_vkResetCommandPool: {
return "OP_vkResetCommandPool";
}
case OP_vkAllocateCommandBuffers: {
return "OP_vkAllocateCommandBuffers";
}
case OP_vkFreeCommandBuffers: {
return "OP_vkFreeCommandBuffers";
}
case OP_vkBeginCommandBuffer: {
return "OP_vkBeginCommandBuffer";
}
case OP_vkEndCommandBuffer: {
return "OP_vkEndCommandBuffer";
}
case OP_vkResetCommandBuffer: {
return "OP_vkResetCommandBuffer";
}
case OP_vkCmdBindPipeline: {
return "OP_vkCmdBindPipeline";
}
case OP_vkCmdSetViewport: {
return "OP_vkCmdSetViewport";
}
case OP_vkCmdSetScissor: {
return "OP_vkCmdSetScissor";
}
case OP_vkCmdSetLineWidth: {
return "OP_vkCmdSetLineWidth";
}
case OP_vkCmdSetDepthBias: {
return "OP_vkCmdSetDepthBias";
}
case OP_vkCmdSetBlendConstants: {
return "OP_vkCmdSetBlendConstants";
}
case OP_vkCmdSetDepthBounds: {
return "OP_vkCmdSetDepthBounds";
}
case OP_vkCmdSetStencilCompareMask: {
return "OP_vkCmdSetStencilCompareMask";
}
case OP_vkCmdSetStencilWriteMask: {
return "OP_vkCmdSetStencilWriteMask";
}
case OP_vkCmdSetStencilReference: {
return "OP_vkCmdSetStencilReference";
}
case OP_vkCmdBindDescriptorSets: {
return "OP_vkCmdBindDescriptorSets";
}
case OP_vkCmdBindIndexBuffer: {
return "OP_vkCmdBindIndexBuffer";
}
case OP_vkCmdBindVertexBuffers: {
return "OP_vkCmdBindVertexBuffers";
}
case OP_vkCmdDraw: {
return "OP_vkCmdDraw";
}
case OP_vkCmdDrawIndexed: {
return "OP_vkCmdDrawIndexed";
}
case OP_vkCmdDrawIndirect: {
return "OP_vkCmdDrawIndirect";
}
case OP_vkCmdDrawIndexedIndirect: {
return "OP_vkCmdDrawIndexedIndirect";
}
case OP_vkCmdDispatch: {
return "OP_vkCmdDispatch";
}
case OP_vkCmdDispatchIndirect: {
return "OP_vkCmdDispatchIndirect";
}
case OP_vkCmdCopyBuffer: {
return "OP_vkCmdCopyBuffer";
}
case OP_vkCmdCopyImage: {
return "OP_vkCmdCopyImage";
}
case OP_vkCmdBlitImage: {
return "OP_vkCmdBlitImage";
}
case OP_vkCmdCopyBufferToImage: {
return "OP_vkCmdCopyBufferToImage";
}
case OP_vkCmdCopyImageToBuffer: {
return "OP_vkCmdCopyImageToBuffer";
}
case OP_vkCmdUpdateBuffer: {
return "OP_vkCmdUpdateBuffer";
}
case OP_vkCmdFillBuffer: {
return "OP_vkCmdFillBuffer";
}
case OP_vkCmdClearColorImage: {
return "OP_vkCmdClearColorImage";
}
case OP_vkCmdClearDepthStencilImage: {
return "OP_vkCmdClearDepthStencilImage";
}
case OP_vkCmdClearAttachments: {
return "OP_vkCmdClearAttachments";
}
case OP_vkCmdResolveImage: {
return "OP_vkCmdResolveImage";
}
case OP_vkCmdSetEvent: {
return "OP_vkCmdSetEvent";
}
case OP_vkCmdResetEvent: {
return "OP_vkCmdResetEvent";
}
case OP_vkCmdWaitEvents: {
return "OP_vkCmdWaitEvents";
}
case OP_vkCmdPipelineBarrier: {
return "OP_vkCmdPipelineBarrier";
}
case OP_vkCmdBeginQuery: {
return "OP_vkCmdBeginQuery";
}
case OP_vkCmdEndQuery: {
return "OP_vkCmdEndQuery";
}
case OP_vkCmdResetQueryPool: {
return "OP_vkCmdResetQueryPool";
}
case OP_vkCmdWriteTimestamp: {
return "OP_vkCmdWriteTimestamp";
}
case OP_vkCmdCopyQueryPoolResults: {
return "OP_vkCmdCopyQueryPoolResults";
}
case OP_vkCmdPushConstants: {
return "OP_vkCmdPushConstants";
}
case OP_vkCmdBeginRenderPass: {
return "OP_vkCmdBeginRenderPass";
}
case OP_vkCmdNextSubpass: {
return "OP_vkCmdNextSubpass";
}
case OP_vkCmdEndRenderPass: {
return "OP_vkCmdEndRenderPass";
}
case OP_vkCmdExecuteCommands: {
return "OP_vkCmdExecuteCommands";
}
#endif
#ifdef VK_VERSION_1_1
case OP_vkEnumerateInstanceVersion: {
return "OP_vkEnumerateInstanceVersion";
}
case OP_vkBindBufferMemory2: {
return "OP_vkBindBufferMemory2";
}
case OP_vkBindImageMemory2: {
return "OP_vkBindImageMemory2";
}
case OP_vkGetDeviceGroupPeerMemoryFeatures: {
return "OP_vkGetDeviceGroupPeerMemoryFeatures";
}
case OP_vkCmdSetDeviceMask: {
return "OP_vkCmdSetDeviceMask";
}
case OP_vkCmdDispatchBase: {
return "OP_vkCmdDispatchBase";
}
case OP_vkEnumeratePhysicalDeviceGroups: {
return "OP_vkEnumeratePhysicalDeviceGroups";
}
case OP_vkGetImageMemoryRequirements2: {
return "OP_vkGetImageMemoryRequirements2";
}
case OP_vkGetBufferMemoryRequirements2: {
return "OP_vkGetBufferMemoryRequirements2";
}
case OP_vkGetImageSparseMemoryRequirements2: {
return "OP_vkGetImageSparseMemoryRequirements2";
}
case OP_vkGetPhysicalDeviceFeatures2: {
return "OP_vkGetPhysicalDeviceFeatures2";
}
case OP_vkGetPhysicalDeviceProperties2: {
return "OP_vkGetPhysicalDeviceProperties2";
}
case OP_vkGetPhysicalDeviceFormatProperties2: {
return "OP_vkGetPhysicalDeviceFormatProperties2";
}
case OP_vkGetPhysicalDeviceImageFormatProperties2: {
return "OP_vkGetPhysicalDeviceImageFormatProperties2";
}
case OP_vkGetPhysicalDeviceQueueFamilyProperties2: {
return "OP_vkGetPhysicalDeviceQueueFamilyProperties2";
}
case OP_vkGetPhysicalDeviceMemoryProperties2: {
return "OP_vkGetPhysicalDeviceMemoryProperties2";
}
case OP_vkGetPhysicalDeviceSparseImageFormatProperties2: {
return "OP_vkGetPhysicalDeviceSparseImageFormatProperties2";
}
case OP_vkTrimCommandPool: {
return "OP_vkTrimCommandPool";
}
case OP_vkGetDeviceQueue2: {
return "OP_vkGetDeviceQueue2";
}
case OP_vkCreateSamplerYcbcrConversion: {
return "OP_vkCreateSamplerYcbcrConversion";
}
case OP_vkDestroySamplerYcbcrConversion: {
return "OP_vkDestroySamplerYcbcrConversion";
}
case OP_vkCreateDescriptorUpdateTemplate: {
return "OP_vkCreateDescriptorUpdateTemplate";
}
case OP_vkDestroyDescriptorUpdateTemplate: {
return "OP_vkDestroyDescriptorUpdateTemplate";
}
case OP_vkUpdateDescriptorSetWithTemplate: {
return "OP_vkUpdateDescriptorSetWithTemplate";
}
case OP_vkGetPhysicalDeviceExternalBufferProperties: {
return "OP_vkGetPhysicalDeviceExternalBufferProperties";
}
case OP_vkGetPhysicalDeviceExternalFenceProperties: {
return "OP_vkGetPhysicalDeviceExternalFenceProperties";
}
case OP_vkGetPhysicalDeviceExternalSemaphoreProperties: {
return "OP_vkGetPhysicalDeviceExternalSemaphoreProperties";
}
case OP_vkGetDescriptorSetLayoutSupport: {
return "OP_vkGetDescriptorSetLayoutSupport";
}
#endif
#ifdef VK_KHR_swapchain
case OP_vkCreateSwapchainKHR: {
return "OP_vkCreateSwapchainKHR";
}
case OP_vkDestroySwapchainKHR: {
return "OP_vkDestroySwapchainKHR";
}
case OP_vkGetSwapchainImagesKHR: {
return "OP_vkGetSwapchainImagesKHR";
}
case OP_vkAcquireNextImageKHR: {
return "OP_vkAcquireNextImageKHR";
}
case OP_vkQueuePresentKHR: {
return "OP_vkQueuePresentKHR";
}
case OP_vkGetDeviceGroupPresentCapabilitiesKHR: {
return "OP_vkGetDeviceGroupPresentCapabilitiesKHR";
}
case OP_vkGetDeviceGroupSurfacePresentModesKHR: {
return "OP_vkGetDeviceGroupSurfacePresentModesKHR";
}
case OP_vkGetPhysicalDevicePresentRectanglesKHR: {
return "OP_vkGetPhysicalDevicePresentRectanglesKHR";
}
case OP_vkAcquireNextImage2KHR: {
return "OP_vkAcquireNextImage2KHR";
}
#endif
#ifdef VK_KHR_get_physical_device_properties2
case OP_vkGetPhysicalDeviceFeatures2KHR: {
return "OP_vkGetPhysicalDeviceFeatures2KHR";
}
case OP_vkGetPhysicalDeviceProperties2KHR: {
return "OP_vkGetPhysicalDeviceProperties2KHR";
}
case OP_vkGetPhysicalDeviceFormatProperties2KHR: {
return "OP_vkGetPhysicalDeviceFormatProperties2KHR";
}
case OP_vkGetPhysicalDeviceImageFormatProperties2KHR: {
return "OP_vkGetPhysicalDeviceImageFormatProperties2KHR";
}
case OP_vkGetPhysicalDeviceQueueFamilyProperties2KHR: {
return "OP_vkGetPhysicalDeviceQueueFamilyProperties2KHR";
}
case OP_vkGetPhysicalDeviceMemoryProperties2KHR: {
return "OP_vkGetPhysicalDeviceMemoryProperties2KHR";
}
case OP_vkGetPhysicalDeviceSparseImageFormatProperties2KHR: {
return "OP_vkGetPhysicalDeviceSparseImageFormatProperties2KHR";
}
#endif
#ifdef VK_KHR_maintenance1
case OP_vkTrimCommandPoolKHR: {
return "OP_vkTrimCommandPoolKHR";
}
#endif
#ifdef VK_KHR_external_memory_capabilities
case OP_vkGetPhysicalDeviceExternalBufferPropertiesKHR: {
return "OP_vkGetPhysicalDeviceExternalBufferPropertiesKHR";
}
#endif
#ifdef VK_KHR_external_semaphore_capabilities
case OP_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR: {
return "OP_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR";
}
#endif
#ifdef VK_KHR_external_semaphore_fd
case OP_vkImportSemaphoreFdKHR: {
return "OP_vkImportSemaphoreFdKHR";
}
case OP_vkGetSemaphoreFdKHR: {
return "OP_vkGetSemaphoreFdKHR";
}
#endif
#ifdef VK_KHR_descriptor_update_template
case OP_vkCreateDescriptorUpdateTemplateKHR: {
return "OP_vkCreateDescriptorUpdateTemplateKHR";
}
case OP_vkDestroyDescriptorUpdateTemplateKHR: {
return "OP_vkDestroyDescriptorUpdateTemplateKHR";
}
case OP_vkUpdateDescriptorSetWithTemplateKHR: {
return "OP_vkUpdateDescriptorSetWithTemplateKHR";
}
#endif
#ifdef VK_KHR_create_renderpass2
case OP_vkCreateRenderPass2KHR: {
return "OP_vkCreateRenderPass2KHR";
}
case OP_vkCmdBeginRenderPass2KHR: {
return "OP_vkCmdBeginRenderPass2KHR";
}
case OP_vkCmdNextSubpass2KHR: {
return "OP_vkCmdNextSubpass2KHR";
}
case OP_vkCmdEndRenderPass2KHR: {
return "OP_vkCmdEndRenderPass2KHR";
}
#endif
#ifdef VK_KHR_external_fence_capabilities
case OP_vkGetPhysicalDeviceExternalFencePropertiesKHR: {
return "OP_vkGetPhysicalDeviceExternalFencePropertiesKHR";
}
#endif
#ifdef VK_KHR_external_fence_fd
case OP_vkImportFenceFdKHR: {
return "OP_vkImportFenceFdKHR";
}
case OP_vkGetFenceFdKHR: {
return "OP_vkGetFenceFdKHR";
}
#endif
#ifdef VK_KHR_get_memory_requirements2
case OP_vkGetImageMemoryRequirements2KHR: {
return "OP_vkGetImageMemoryRequirements2KHR";
}
case OP_vkGetBufferMemoryRequirements2KHR: {
return "OP_vkGetBufferMemoryRequirements2KHR";
}
case OP_vkGetImageSparseMemoryRequirements2KHR: {
return "OP_vkGetImageSparseMemoryRequirements2KHR";
}
#endif
#ifdef VK_KHR_sampler_ycbcr_conversion
case OP_vkCreateSamplerYcbcrConversionKHR: {
return "OP_vkCreateSamplerYcbcrConversionKHR";
}
case OP_vkDestroySamplerYcbcrConversionKHR: {
return "OP_vkDestroySamplerYcbcrConversionKHR";
}
#endif
#ifdef VK_KHR_bind_memory2
case OP_vkBindBufferMemory2KHR: {
return "OP_vkBindBufferMemory2KHR";
}
case OP_vkBindImageMemory2KHR: {
return "OP_vkBindImageMemory2KHR";
}
#endif
#ifdef VK_KHR_maintenance3
case OP_vkGetDescriptorSetLayoutSupportKHR: {
return "OP_vkGetDescriptorSetLayoutSupportKHR";
}
#endif
#ifdef VK_ANDROID_native_buffer
case OP_vkGetSwapchainGrallocUsageANDROID: {
return "OP_vkGetSwapchainGrallocUsageANDROID";
}
case OP_vkAcquireImageANDROID: {
return "OP_vkAcquireImageANDROID";
}
case OP_vkQueueSignalReleaseImageANDROID: {
return "OP_vkQueueSignalReleaseImageANDROID";
}
#endif
#ifdef VK_GOOGLE_gfxstream
case OP_vkMapMemoryIntoAddressSpaceGOOGLE: {
return "OP_vkMapMemoryIntoAddressSpaceGOOGLE";
}
case OP_vkUpdateDescriptorSetWithTemplateSizedGOOGLE: {
return "OP_vkUpdateDescriptorSetWithTemplateSizedGOOGLE";
}
case OP_vkBeginCommandBufferAsyncGOOGLE: {
return "OP_vkBeginCommandBufferAsyncGOOGLE";
}
case OP_vkEndCommandBufferAsyncGOOGLE: {
return "OP_vkEndCommandBufferAsyncGOOGLE";
}
case OP_vkResetCommandBufferAsyncGOOGLE: {
return "OP_vkResetCommandBufferAsyncGOOGLE";
}
case OP_vkCommandBufferHostSyncGOOGLE: {
return "OP_vkCommandBufferHostSyncGOOGLE";
}
case OP_vkCreateImageWithRequirementsGOOGLE: {
return "OP_vkCreateImageWithRequirementsGOOGLE";
}
case OP_vkCreateBufferWithRequirementsGOOGLE: {
return "OP_vkCreateBufferWithRequirementsGOOGLE";
}
case OP_vkGetMemoryHostAddressInfoGOOGLE: {
return "OP_vkGetMemoryHostAddressInfoGOOGLE";
}
case OP_vkFreeMemorySyncGOOGLE: {
return "OP_vkFreeMemorySyncGOOGLE";
}
case OP_vkQueueHostSyncGOOGLE: {
return "OP_vkQueueHostSyncGOOGLE";
}
case OP_vkQueueSubmitAsyncGOOGLE: {
return "OP_vkQueueSubmitAsyncGOOGLE";
}
case OP_vkQueueWaitIdleAsyncGOOGLE: {
return "OP_vkQueueWaitIdleAsyncGOOGLE";
}
case OP_vkQueueBindSparseAsyncGOOGLE: {
return "OP_vkQueueBindSparseAsyncGOOGLE";
}
case OP_vkGetLinearImageLayoutGOOGLE: {
return "OP_vkGetLinearImageLayoutGOOGLE";
}
case OP_vkQueueFlushCommandsGOOGLE: {
return "OP_vkQueueFlushCommandsGOOGLE";
}
case OP_vkGetBlobGOOGLE: {
return "OP_vkGetBlobGOOGLE";
}
#endif
#ifdef VK_KHR_dynamic_rendering
case OP_vkCmdEndRenderingKHR: {
return "OP_vkCmdEndRenderingKHR";
}
#endif
#ifdef VK_KHR_synchronization2
case OP_vkCmdPipelineBarrier2KHR: {
return "OP_vkCmdPipelineBarrier2KHR";
}
#endif
#ifdef VK_KHR_maintenance4
case OP_vkGetDeviceBufferMemoryRequirementsKHR: {
return "OP_vkGetDeviceBufferMemoryRequirementsKHR";
}
#endif
#ifdef VK_KHR_maintenance5
case OP_vkCmdBindIndexBuffer2KHR: {
return "OP_vkCmdBindIndexBuffer2KHR";
}
#endif
#ifdef VK_EXT_extended_dynamic_state
case OP_vkCmdSetScissorWithCountEXT: {
return "OP_vkCmdSetScissorWithCountEXT";
}
#endif
#ifdef VK_EXT_host_image_copy
case OP_vkCopyImageToMemoryEXT: {
return "OP_vkCopyImageToMemoryEXT";
}
#endif
#ifdef VK_EXT_extended_dynamic_state2
case OP_vkCmdSetPatchControlPointsEXT: {
return "OP_vkCmdSetPatchControlPointsEXT";
}
#endif
#ifdef VK_EXT_private_data
case OP_vkDestroyPrivateDataSlotEXT: {
return "OP_vkDestroyPrivateDataSlotEXT";
}
#endif
#ifdef VK_VERSION_1_3
case OP_vkCmdSetDepthTestEnable: {
return "OP_vkCmdSetDepthTestEnable";
}
#endif
#ifdef VK_EXT_extended_dynamic_state
case OP_vkCmdSetFrontFaceEXT: {
return "OP_vkCmdSetFrontFaceEXT";
}
#endif
#ifdef VK_GOOGLE_gfxstream
case OP_vkCollectDescriptorPoolIdsGOOGLE: {
return "OP_vkCollectDescriptorPoolIdsGOOGLE";
}
#endif
#ifdef VK_VERSION_1_3
case OP_vkCmdCopyImageToBuffer2: {
return "OP_vkCmdCopyImageToBuffer2";
}
#endif
#ifdef VK_EXT_extended_dynamic_state
case OP_vkCmdSetDepthWriteEnableEXT: {
return "OP_vkCmdSetDepthWriteEnableEXT";
}
#endif
#ifdef VK_EXT_host_image_copy
case OP_vkCopyMemoryToImageEXT: {
return "OP_vkCopyMemoryToImageEXT";
}
#endif
#ifdef VK_KHR_buffer_device_address
case OP_vkGetBufferDeviceAddressKHR: {
return "OP_vkGetBufferDeviceAddressKHR";
}
#endif
#ifdef VK_VERSION_1_3
case OP_vkCmdSetDepthBoundsTestEnable: {
return "OP_vkCmdSetDepthBoundsTestEnable";
}
case OP_vkCmdSetScissorWithCount: {
return "OP_vkCmdSetScissorWithCount";
}
case OP_vkCmdEndRendering: {
return "OP_vkCmdEndRendering";
}
#endif
#ifdef VK_VERSION_1_2
case OP_vkCmdEndRenderPass2: {
return "OP_vkCmdEndRenderPass2";
}
case OP_vkGetBufferDeviceAddress: {
return "OP_vkGetBufferDeviceAddress";
}
#endif
#ifdef VK_VERSION_1_3
case OP_vkCmdSetFrontFace: {
return "OP_vkCmdSetFrontFace";
}
#endif
#ifdef VK_EXT_extended_dynamic_state
case OP_vkCmdSetDepthBoundsTestEnableEXT: {
return "OP_vkCmdSetDepthBoundsTestEnableEXT";
}
#endif
#ifdef VK_EXT_host_image_copy
case OP_vkCopyImageToImageEXT: {
return "OP_vkCopyImageToImageEXT";
}
#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";
}
#endif
#ifdef VK_VERSION_1_2
case OP_vkWaitSemaphores: {
return "OP_vkWaitSemaphores";
}
#endif
#ifdef VK_EXT_private_data
case OP_vkSetPrivateDataEXT: {
return "OP_vkSetPrivateDataEXT";
}
#endif
#ifdef VK_KHR_copy_commands2
case OP_vkCmdCopyImage2KHR: {
return "OP_vkCmdCopyImage2KHR";
}
#endif
#ifdef VK_VERSION_1_2
case OP_vkGetBufferOpaqueCaptureAddress: {
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";
}
case OP_vkGetDeviceImageSparseMemoryRequirements: {
return "OP_vkGetDeviceImageSparseMemoryRequirements";
}
#endif
#ifdef VK_EXT_extended_dynamic_state
case OP_vkCmdSetDepthTestEnableEXT: {
return "OP_vkCmdSetDepthTestEnableEXT";
}
#endif
#ifdef VK_VERSION_1_2
case OP_vkCmdBeginRenderPass2: {
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";
}
case OP_vkGetPrivateData: {
return "OP_vkGetPrivateData";
}
#endif
#ifdef VK_KHR_maintenance5
case OP_vkGetRenderingAreaGranularityKHR: {
return "OP_vkGetRenderingAreaGranularityKHR";
}
#endif
#ifdef VK_VERSION_1_3
case OP_vkCmdSetDepthWriteEnable: {
return "OP_vkCmdSetDepthWriteEnable";
}
case OP_vkSetPrivateData: {
return "OP_vkSetPrivateData";
}
#endif
#ifdef VK_EXT_host_image_copy
case OP_vkTransitionImageLayoutEXT: {
return "OP_vkTransitionImageLayoutEXT";
}
#endif
#ifdef VK_KHR_maintenance4
case OP_vkGetDeviceImageMemoryRequirementsKHR: {
return "OP_vkGetDeviceImageMemoryRequirementsKHR";
}
#endif
#ifdef VK_KHR_maintenance5
case OP_vkGetImageSubresourceLayout2KHR: {
return "OP_vkGetImageSubresourceLayout2KHR";
}
#endif
#ifdef VK_EXT_extended_dynamic_state
case OP_vkCmdBindVertexBuffers2EXT: {
return "OP_vkCmdBindVertexBuffers2EXT";
}
#endif
#ifdef VK_GOOGLE_gfxstream
case OP_vkQueueSignalReleaseImageANDROIDAsyncGOOGLE: {
return "OP_vkQueueSignalReleaseImageANDROIDAsyncGOOGLE";
}
#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_VERSION_1_2
case OP_vkCmdNextSubpass2: {
return "OP_vkCmdNextSubpass2";
}
#endif
#ifdef VK_KHR_synchronization2
case OP_vkCmdWaitEvents2KHR: {
return "OP_vkCmdWaitEvents2KHR";
}
#endif
#ifdef VK_VERSION_1_2
case OP_vkCmdDrawIndexedIndirectCount: {
return "OP_vkCmdDrawIndexedIndirectCount";
}
#endif
#ifdef VK_EXT_extended_dynamic_state2
case OP_vkCmdSetRasterizerDiscardEnableEXT: {
return "OP_vkCmdSetRasterizerDiscardEnableEXT";
}
#endif
#ifdef VK_VERSION_1_3
case OP_vkCmdSetDepthCompareOp: {
return "OP_vkCmdSetDepthCompareOp";
}
case OP_vkCmdWriteTimestamp2: {
return "OP_vkCmdWriteTimestamp2";
}
case OP_vkCmdCopyImage2: {
return "OP_vkCmdCopyImage2";
}
#endif
#ifdef VK_EXT_extended_dynamic_state
case OP_vkCmdSetDepthCompareOpEXT: {
return "OP_vkCmdSetDepthCompareOpEXT";
}
#endif
#ifdef VK_KHR_copy_commands2
case OP_vkCmdCopyBuffer2KHR: {
return "OP_vkCmdCopyBuffer2KHR";
}
case OP_vkCmdCopyBufferToImage2KHR: {
return "OP_vkCmdCopyBufferToImage2KHR";
}
#endif
#ifdef VK_VERSION_1_2
case OP_vkResetQueryPool: {
return "OP_vkResetQueryPool";
}
#endif
#ifdef VK_KHR_copy_commands2
case OP_vkCmdCopyImageToBuffer2KHR: {
return "OP_vkCmdCopyImageToBuffer2KHR";
}
#endif
#ifdef VK_KHR_synchronization2
case OP_vkCmdWriteTimestamp2KHR: {
return "OP_vkCmdWriteTimestamp2KHR";
}
#endif
#ifdef VK_KHR_maintenance5
case OP_vkGetDeviceImageSubresourceLayoutKHR: {
return "OP_vkGetDeviceImageSubresourceLayoutKHR";
}
#endif
#ifdef VK_KHR_copy_commands2
case OP_vkCmdResolveImage2KHR: {
return "OP_vkCmdResolveImage2KHR";
}
#endif
#ifdef VK_EXT_extended_dynamic_state
case OP_vkCmdSetViewportWithCountEXT: {
return "OP_vkCmdSetViewportWithCountEXT";
}
#endif
#ifdef VK_VERSION_1_3
case OP_vkCmdBindVertexBuffers2: {
return "OP_vkCmdBindVertexBuffers2";
}
#endif
#ifdef VK_EXT_extended_dynamic_state2
case OP_vkCmdSetDepthBiasEnableEXT: {
return "OP_vkCmdSetDepthBiasEnableEXT";
}
#endif
#ifdef VK_KHR_copy_commands2
case OP_vkCmdBlitImage2KHR: {
return "OP_vkCmdBlitImage2KHR";
}
#endif
#ifdef VK_VERSION_1_2
case OP_vkGetDeviceMemoryOpaqueCaptureAddress: {
return "OP_vkGetDeviceMemoryOpaqueCaptureAddress";
}
#endif
#ifdef VK_EXT_extended_dynamic_state
case OP_vkCmdSetPrimitiveTopologyEXT: {
return "OP_vkCmdSetPrimitiveTopologyEXT";
}
#endif
#ifdef VK_VERSION_1_3
case OP_vkCreatePrivateDataSlot: {
return "OP_vkCreatePrivateDataSlot";
}
case OP_vkCmdSetPrimitiveTopology: {
return "OP_vkCmdSetPrimitiveTopology";
}
#endif
#ifdef VK_EXT_line_rasterization
case OP_vkCmdSetLineStippleEXT: {
return "OP_vkCmdSetLineStippleEXT";
}
#endif
#ifdef VK_EXT_extended_dynamic_state
case OP_vkCmdSetCullModeEXT: {
return "OP_vkCmdSetCullModeEXT";
}
#endif
#ifdef VK_VERSION_1_2
case OP_vkGetSemaphoreCounterValue: {
return "OP_vkGetSemaphoreCounterValue";
}
#endif
#ifdef VK_VERSION_1_3
case OP_vkCmdSetDepthBiasEnable: {
return "OP_vkCmdSetDepthBiasEnable";
}
case OP_vkCmdSetViewportWithCount: {
return "OP_vkCmdSetViewportWithCount";
}
#endif
#ifdef VK_EXT_extended_dynamic_state2
case OP_vkCmdSetLogicOpEXT: {
return "OP_vkCmdSetLogicOpEXT";
}
#endif
#ifdef VK_EXT_transform_feedback
case OP_vkCmdBindTransformFeedbackBuffersEXT: {
return "OP_vkCmdBindTransformFeedbackBuffersEXT";
}
#endif
#ifdef VK_GOOGLE_gfxstream
case OP_vkQueueCommitDescriptorSetUpdatesGOOGLE: {
return "OP_vkQueueCommitDescriptorSetUpdatesGOOGLE";
}
#endif
#ifdef VK_VERSION_1_3
case OP_vkCmdCopyBufferToImage2: {
return "OP_vkCmdCopyBufferToImage2";
}
#endif
#ifdef VK_KHR_pipeline_executable_properties
case OP_vkGetPipelineExecutablePropertiesKHR: {
return "OP_vkGetPipelineExecutablePropertiesKHR";
}
#endif
#ifdef VK_KHR_synchronization2
case OP_vkCmdSetEvent2KHR: {
return "OP_vkCmdSetEvent2KHR";
}
#endif
#ifdef VK_VERSION_1_2
case OP_vkSignalSemaphore: {
return "OP_vkSignalSemaphore";
}
#endif
#ifdef VK_KHR_pipeline_executable_properties
case OP_vkGetPipelineExecutableStatisticsKHR: {
return "OP_vkGetPipelineExecutableStatisticsKHR";
}
#endif
#ifdef VK_VERSION_1_3
case OP_vkCmdResetEvent2: {
return "OP_vkCmdResetEvent2";
}
#endif
#ifdef VK_EXT_transform_feedback
case OP_vkCmdEndTransformFeedbackEXT: {
return "OP_vkCmdEndTransformFeedbackEXT";
}
#endif
#ifdef VK_KHR_pipeline_executable_properties
case OP_vkGetPipelineExecutableInternalRepresentationsKHR: {
return "OP_vkGetPipelineExecutableInternalRepresentationsKHR";
}
#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";
}
#endif
#ifdef VK_EXT_transform_feedback
case OP_vkCmdBeginQueryIndexedEXT: {
return "OP_vkCmdBeginQueryIndexedEXT";
}
#endif
#ifdef VK_VERSION_1_3
case OP_vkCmdSetRasterizerDiscardEnable: {
return "OP_vkCmdSetRasterizerDiscardEnable";
}
#endif
#ifdef VK_EXT_extended_dynamic_state
case OP_vkCmdSetStencilOpEXT: {
return "OP_vkCmdSetStencilOpEXT";
}
#endif
#ifdef VK_VERSION_1_2
case OP_vkCreateRenderPass2: {
return "OP_vkCreateRenderPass2";
}
#endif
#ifdef VK_EXT_transform_feedback
case OP_vkCmdEndQueryIndexedEXT: {
return "OP_vkCmdEndQueryIndexedEXT";
}
#endif
#ifdef VK_EXT_tooling_info
case OP_vkGetPhysicalDeviceToolPropertiesEXT: {
return "OP_vkGetPhysicalDeviceToolPropertiesEXT";
}
#endif
#ifdef VK_GOOGLE_gfxstream
case OP_vkGetLinearImageLayout2GOOGLE: {
return "OP_vkGetLinearImageLayout2GOOGLE";
}
#endif
#ifdef VK_VERSION_1_3
case OP_vkCmdResolveImage2: {
return "OP_vkCmdResolveImage2";
}
case OP_vkGetDeviceImageMemoryRequirements: {
return "OP_vkGetDeviceImageMemoryRequirements";
}
#endif
#ifdef VK_VERSION_1_2
case OP_vkCmdDrawIndirectCount: {
return "OP_vkCmdDrawIndirectCount";
}
#endif
#ifdef VK_KHR_synchronization2
case OP_vkCmdResetEvent2KHR: {
return "OP_vkCmdResetEvent2KHR";
}
#endif
#ifdef VK_EXT_transform_feedback
case OP_vkCmdDrawIndirectByteCountEXT: {
return "OP_vkCmdDrawIndirectByteCountEXT";
}
#endif
#ifdef VK_KHR_buffer_device_address
case OP_vkGetBufferOpaqueCaptureAddressKHR: {
return "OP_vkGetBufferOpaqueCaptureAddressKHR";
}
#endif
#ifdef VK_EXT_extended_dynamic_state
case OP_vkCmdSetStencilTestEnableEXT: {
return "OP_vkCmdSetStencilTestEnableEXT";
}
#endif
#ifdef VK_VERSION_1_3
case OP_vkCmdSetStencilTestEnable: {
return "OP_vkCmdSetStencilTestEnable";
}
case OP_vkGetPhysicalDeviceToolProperties: {
return "OP_vkGetPhysicalDeviceToolProperties";
}
#endif
#ifdef VK_ANDROID_native_buffer
case OP_vkGetSwapchainGrallocUsage2ANDROID: {
return "OP_vkGetSwapchainGrallocUsage2ANDROID";
}
#endif
#ifdef VK_GOOGLE_gfxstream
case OP_vkQueueFlushCommandsFromAuxMemoryGOOGLE: {
return "OP_vkQueueFlushCommandsFromAuxMemoryGOOGLE";
}
#endif
#ifdef VK_EXT_private_data
case OP_vkGetPrivateDataEXT: {
return "OP_vkGetPrivateDataEXT";
}
#endif
#ifdef VK_KHR_synchronization2
case OP_vkGetQueueCheckpointData2NV: {
return "OP_vkGetQueueCheckpointData2NV";
}
#endif
#ifdef VK_GOOGLE_gfxstream
case OP_vkQueueSubmitAsync2GOOGLE: {
return "OP_vkQueueSubmitAsync2GOOGLE";
}
#endif
#ifdef VK_KHR_synchronization2
case OP_vkQueueSubmit2KHR: {
return "OP_vkQueueSubmit2KHR";
}
#endif
#ifdef VK_VERSION_1_3
case OP_vkGetDeviceBufferMemoryRequirements: {
return "OP_vkGetDeviceBufferMemoryRequirements";
}
#endif
#ifdef VK_EXT_transform_feedback
case OP_vkCmdBeginTransformFeedbackEXT: {
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";
}
#endif
#ifdef VK_EXT_host_image_copy
case OP_vkGetImageSubresourceLayout2EXT: {
return "OP_vkGetImageSubresourceLayout2EXT";
}
#endif
#ifdef VK_VERSION_1_3
case OP_vkCmdPipelineBarrier2: {
return "OP_vkCmdPipelineBarrier2";
}
#endif
#ifdef VK_KHR_dynamic_rendering
case OP_vkCmdBeginRenderingKHR: {
return "OP_vkCmdBeginRenderingKHR";
}
#endif
#ifdef VK_EXT_extended_dynamic_state2
case OP_vkCmdSetPrimitiveRestartEnableEXT: {
return "OP_vkCmdSetPrimitiveRestartEnableEXT";
}
#endif
default: {
return "OP_UNKNOWN_API_CALL";
}
}
}
} // namespace vk
} // namespace gfxstream