blob: d98dfa72fbd7c53a0655ad7aa058af18c415d500 [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_reserved_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_reserved_marshaling.h"
#include <string.h>
#include "goldfish_vk_extension_structs.h"
#include "goldfish_vk_private_defs.h"
namespace gfxstream {
namespace vk {
void reservedmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType,
const void* structExtension, uint8_t** ptr);
void reservedunmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType,
void* structExtension_out, uint8_t** ptr);
#ifdef VK_VERSION_1_0
void reservedunmarshal_VkExtent2D(VulkanStream* vkStream, VkStructureType rootType,
VkExtent2D* forUnmarshaling, uint8_t** ptr) {
memcpy((uint32_t*)&forUnmarshaling->width, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->height, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkExtent3D(VulkanStream* vkStream, VkStructureType rootType,
VkExtent3D* forUnmarshaling, uint8_t** ptr) {
memcpy((uint32_t*)&forUnmarshaling->width, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->height, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->depth, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkOffset2D(VulkanStream* vkStream, VkStructureType rootType,
VkOffset2D* forUnmarshaling, uint8_t** ptr) {
memcpy((int32_t*)&forUnmarshaling->x, *ptr, sizeof(int32_t));
*ptr += sizeof(int32_t);
memcpy((int32_t*)&forUnmarshaling->y, *ptr, sizeof(int32_t));
*ptr += sizeof(int32_t);
}
void reservedunmarshal_VkOffset3D(VulkanStream* vkStream, VkStructureType rootType,
VkOffset3D* forUnmarshaling, uint8_t** ptr) {
memcpy((int32_t*)&forUnmarshaling->x, *ptr, sizeof(int32_t));
*ptr += sizeof(int32_t);
memcpy((int32_t*)&forUnmarshaling->y, *ptr, sizeof(int32_t));
*ptr += sizeof(int32_t);
memcpy((int32_t*)&forUnmarshaling->z, *ptr, sizeof(int32_t));
*ptr += sizeof(int32_t);
}
void reservedunmarshal_VkRect2D(VulkanStream* vkStream, VkStructureType rootType,
VkRect2D* forUnmarshaling, uint8_t** ptr) {
reservedunmarshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forUnmarshaling->offset), ptr);
reservedunmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forUnmarshaling->extent), ptr);
}
void reservedunmarshal_VkBaseInStructure(VulkanStream* vkStream, VkStructureType rootType,
VkBaseInStructure* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((VkBaseInStructure*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
}
void reservedunmarshal_VkBaseOutStructure(VulkanStream* vkStream, VkStructureType rootType,
VkBaseOutStructure* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((VkBaseOutStructure*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
}
void reservedunmarshal_VkBufferMemoryBarrier(VulkanStream* vkStream, VkStructureType rootType,
VkBufferMemoryBarrier* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkAccessFlags*)&forUnmarshaling->srcAccessMask, *ptr, sizeof(VkAccessFlags));
*ptr += sizeof(VkAccessFlags);
memcpy((VkAccessFlags*)&forUnmarshaling->dstAccessMask, *ptr, sizeof(VkAccessFlags));
*ptr += sizeof(VkAccessFlags);
memcpy((uint32_t*)&forUnmarshaling->srcQueueFamilyIndex, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->dstQueueFamilyIndex, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkBuffer*)&forUnmarshaling->buffer = (VkBuffer)unbox_VkBuffer((VkBuffer)(*&cgen_var_0));
memcpy((VkDeviceSize*)&forUnmarshaling->offset, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkDeviceSize*)&forUnmarshaling->size, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
}
void reservedunmarshal_VkDispatchIndirectCommand(VulkanStream* vkStream, VkStructureType rootType,
VkDispatchIndirectCommand* forUnmarshaling,
uint8_t** ptr) {
memcpy((uint32_t*)&forUnmarshaling->x, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->y, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->z, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkDrawIndexedIndirectCommand(VulkanStream* vkStream,
VkStructureType rootType,
VkDrawIndexedIndirectCommand* forUnmarshaling,
uint8_t** ptr) {
memcpy((uint32_t*)&forUnmarshaling->indexCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->instanceCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->firstIndex, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((int32_t*)&forUnmarshaling->vertexOffset, *ptr, sizeof(int32_t));
*ptr += sizeof(int32_t);
memcpy((uint32_t*)&forUnmarshaling->firstInstance, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkDrawIndirectCommand(VulkanStream* vkStream, VkStructureType rootType,
VkDrawIndirectCommand* forUnmarshaling,
uint8_t** ptr) {
memcpy((uint32_t*)&forUnmarshaling->vertexCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->instanceCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->firstVertex, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->firstInstance, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkImageSubresourceRange(VulkanStream* vkStream, VkStructureType rootType,
VkImageSubresourceRange* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkImageAspectFlags*)&forUnmarshaling->aspectMask, *ptr, sizeof(VkImageAspectFlags));
*ptr += sizeof(VkImageAspectFlags);
memcpy((uint32_t*)&forUnmarshaling->baseMipLevel, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->levelCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->baseArrayLayer, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->layerCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkImageMemoryBarrier(VulkanStream* vkStream, VkStructureType rootType,
VkImageMemoryBarrier* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkAccessFlags*)&forUnmarshaling->srcAccessMask, *ptr, sizeof(VkAccessFlags));
*ptr += sizeof(VkAccessFlags);
memcpy((VkAccessFlags*)&forUnmarshaling->dstAccessMask, *ptr, sizeof(VkAccessFlags));
*ptr += sizeof(VkAccessFlags);
memcpy((VkImageLayout*)&forUnmarshaling->oldLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
memcpy((VkImageLayout*)&forUnmarshaling->newLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
memcpy((uint32_t*)&forUnmarshaling->srcQueueFamilyIndex, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->dstQueueFamilyIndex, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkImage*)&forUnmarshaling->image = (VkImage)unbox_VkImage((VkImage)(*&cgen_var_0));
reservedunmarshal_VkImageSubresourceRange(
vkStream, rootType, (VkImageSubresourceRange*)(&forUnmarshaling->subresourceRange), ptr);
}
void reservedunmarshal_VkMemoryBarrier(VulkanStream* vkStream, VkStructureType rootType,
VkMemoryBarrier* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkAccessFlags*)&forUnmarshaling->srcAccessMask, *ptr, sizeof(VkAccessFlags));
*ptr += sizeof(VkAccessFlags);
memcpy((VkAccessFlags*)&forUnmarshaling->dstAccessMask, *ptr, sizeof(VkAccessFlags));
*ptr += sizeof(VkAccessFlags);
}
void reservedunmarshal_VkPipelineCacheHeaderVersionOne(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineCacheHeaderVersionOne* forUnmarshaling, uint8_t** ptr) {
memcpy((uint32_t*)&forUnmarshaling->headerSize, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkPipelineCacheHeaderVersion*)&forUnmarshaling->headerVersion, *ptr,
sizeof(VkPipelineCacheHeaderVersion));
*ptr += sizeof(VkPipelineCacheHeaderVersion);
memcpy((uint32_t*)&forUnmarshaling->vendorID, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->deviceID, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint8_t*)forUnmarshaling->pipelineCacheUUID, *ptr, VK_UUID_SIZE * sizeof(uint8_t));
*ptr += VK_UUID_SIZE * sizeof(uint8_t);
}
void reservedunmarshal_VkAllocationCallbacks(VulkanStream* vkStream, VkStructureType rootType,
VkAllocationCallbacks* forUnmarshaling,
uint8_t** ptr) {
// WARNING PTR CHECK
memcpy((void**)&forUnmarshaling->pUserData, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pUserData);
*ptr += 8;
if (forUnmarshaling->pUserData) {
vkStream->alloc((void**)&forUnmarshaling->pUserData, sizeof(uint8_t));
memcpy((void*)forUnmarshaling->pUserData, *ptr, sizeof(uint8_t));
*ptr += sizeof(uint8_t);
}
memcpy((PFN_vkAllocationFunction*)&forUnmarshaling->pfnAllocation, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pfnAllocation);
*ptr += 8;
memcpy((PFN_vkReallocationFunction*)&forUnmarshaling->pfnReallocation, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pfnReallocation);
*ptr += 8;
memcpy((PFN_vkFreeFunction*)&forUnmarshaling->pfnFree, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pfnFree);
*ptr += 8;
memcpy((PFN_vkInternalAllocationNotification*)&forUnmarshaling->pfnInternalAllocation, (*ptr),
8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pfnInternalAllocation);
*ptr += 8;
memcpy((PFN_vkInternalFreeNotification*)&forUnmarshaling->pfnInternalFree, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pfnInternalFree);
*ptr += 8;
}
void reservedunmarshal_VkApplicationInfo(VulkanStream* vkStream, VkStructureType rootType,
VkApplicationInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
// WARNING PTR CHECK
memcpy((char**)&forUnmarshaling->pApplicationName, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pApplicationName);
*ptr += 8;
if (forUnmarshaling->pApplicationName) {
vkStream->loadStringInPlaceWithStreamPtr((char**)&forUnmarshaling->pApplicationName,
ptr);
}
} else {
vkStream->loadStringInPlaceWithStreamPtr((char**)&forUnmarshaling->pApplicationName, ptr);
}
memcpy((uint32_t*)&forUnmarshaling->applicationVersion, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
// WARNING PTR CHECK
memcpy((char**)&forUnmarshaling->pEngineName, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pEngineName);
*ptr += 8;
if (forUnmarshaling->pEngineName) {
vkStream->loadStringInPlaceWithStreamPtr((char**)&forUnmarshaling->pEngineName, ptr);
}
} else {
vkStream->loadStringInPlaceWithStreamPtr((char**)&forUnmarshaling->pEngineName, ptr);
}
memcpy((uint32_t*)&forUnmarshaling->engineVersion, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->apiVersion, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkFormatProperties(VulkanStream* vkStream, VkStructureType rootType,
VkFormatProperties* forUnmarshaling, uint8_t** ptr) {
memcpy((VkFormatFeatureFlags*)&forUnmarshaling->linearTilingFeatures, *ptr,
sizeof(VkFormatFeatureFlags));
*ptr += sizeof(VkFormatFeatureFlags);
memcpy((VkFormatFeatureFlags*)&forUnmarshaling->optimalTilingFeatures, *ptr,
sizeof(VkFormatFeatureFlags));
*ptr += sizeof(VkFormatFeatureFlags);
memcpy((VkFormatFeatureFlags*)&forUnmarshaling->bufferFeatures, *ptr,
sizeof(VkFormatFeatureFlags));
*ptr += sizeof(VkFormatFeatureFlags);
}
void reservedunmarshal_VkImageFormatProperties(VulkanStream* vkStream, VkStructureType rootType,
VkImageFormatProperties* forUnmarshaling,
uint8_t** ptr) {
reservedunmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->maxExtent),
ptr);
memcpy((uint32_t*)&forUnmarshaling->maxMipLevels, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxArrayLayers, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkSampleCountFlags*)&forUnmarshaling->sampleCounts, *ptr, sizeof(VkSampleCountFlags));
*ptr += sizeof(VkSampleCountFlags);
memcpy((VkDeviceSize*)&forUnmarshaling->maxResourceSize, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
}
void reservedunmarshal_VkInstanceCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkInstanceCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkInstanceCreateFlags*)&forUnmarshaling->flags, *ptr, sizeof(VkInstanceCreateFlags));
*ptr += sizeof(VkInstanceCreateFlags);
// WARNING PTR CHECK
memcpy((VkApplicationInfo**)&forUnmarshaling->pApplicationInfo, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pApplicationInfo);
*ptr += 8;
if (forUnmarshaling->pApplicationInfo) {
vkStream->alloc((void**)&forUnmarshaling->pApplicationInfo,
sizeof(const VkApplicationInfo));
reservedunmarshal_VkApplicationInfo(
vkStream, rootType, (VkApplicationInfo*)(forUnmarshaling->pApplicationInfo), ptr);
}
memcpy((uint32_t*)&forUnmarshaling->enabledLayerCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->loadStringArrayInPlaceWithStreamPtr((char***)&forUnmarshaling->ppEnabledLayerNames,
ptr);
memcpy((uint32_t*)&forUnmarshaling->enabledExtensionCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->loadStringArrayInPlaceWithStreamPtr(
(char***)&forUnmarshaling->ppEnabledExtensionNames, ptr);
}
void reservedunmarshal_VkMemoryHeap(VulkanStream* vkStream, VkStructureType rootType,
VkMemoryHeap* forUnmarshaling, uint8_t** ptr) {
memcpy((VkDeviceSize*)&forUnmarshaling->size, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkMemoryHeapFlags*)&forUnmarshaling->flags, *ptr, sizeof(VkMemoryHeapFlags));
*ptr += sizeof(VkMemoryHeapFlags);
}
void reservedunmarshal_VkMemoryType(VulkanStream* vkStream, VkStructureType rootType,
VkMemoryType* forUnmarshaling, uint8_t** ptr) {
memcpy((VkMemoryPropertyFlags*)&forUnmarshaling->propertyFlags, *ptr,
sizeof(VkMemoryPropertyFlags));
*ptr += sizeof(VkMemoryPropertyFlags);
memcpy((uint32_t*)&forUnmarshaling->heapIndex, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkPhysicalDeviceFeatures(VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceFeatures* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkBool32*)&forUnmarshaling->robustBufferAccess, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->fullDrawIndexUint32, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->imageCubeArray, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->independentBlend, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->geometryShader, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->tessellationShader, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->sampleRateShading, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->dualSrcBlend, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->logicOp, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->multiDrawIndirect, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->drawIndirectFirstInstance, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->depthClamp, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->depthBiasClamp, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->fillModeNonSolid, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->depthBounds, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->wideLines, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->largePoints, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->alphaToOne, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->multiViewport, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->samplerAnisotropy, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->textureCompressionETC2, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->textureCompressionASTC_LDR, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->textureCompressionBC, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->occlusionQueryPrecise, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->pipelineStatisticsQuery, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->vertexPipelineStoresAndAtomics, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->fragmentStoresAndAtomics, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderTessellationAndGeometryPointSize, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderImageGatherExtended, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderStorageImageExtendedFormats, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderStorageImageMultisample, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderStorageImageReadWithoutFormat, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderStorageImageWriteWithoutFormat, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderUniformBufferArrayDynamicIndexing, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderSampledImageArrayDynamicIndexing, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderStorageBufferArrayDynamicIndexing, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderStorageImageArrayDynamicIndexing, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderClipDistance, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderCullDistance, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderFloat64, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderInt64, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderInt16, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderResourceResidency, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderResourceMinLod, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->sparseBinding, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->sparseResidencyBuffer, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->sparseResidencyImage2D, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->sparseResidencyImage3D, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->sparseResidency2Samples, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->sparseResidency4Samples, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->sparseResidency8Samples, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->sparseResidency16Samples, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->sparseResidencyAliased, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->variableMultisampleRate, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->inheritedQueries, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceLimits(VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceLimits* forUnmarshaling,
uint8_t** ptr) {
memcpy((uint32_t*)&forUnmarshaling->maxImageDimension1D, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxImageDimension2D, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxImageDimension3D, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxImageDimensionCube, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxImageArrayLayers, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxTexelBufferElements, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxUniformBufferRange, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxStorageBufferRange, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxPushConstantsSize, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxMemoryAllocationCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxSamplerAllocationCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkDeviceSize*)&forUnmarshaling->bufferImageGranularity, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkDeviceSize*)&forUnmarshaling->sparseAddressSpaceSize, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((uint32_t*)&forUnmarshaling->maxBoundDescriptorSets, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxPerStageDescriptorSamplers, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUniformBuffers, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxPerStageDescriptorStorageBuffers, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxPerStageDescriptorSampledImages, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxPerStageDescriptorStorageImages, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxPerStageDescriptorInputAttachments, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxPerStageResources, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDescriptorSetSamplers, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDescriptorSetUniformBuffers, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDescriptorSetUniformBuffersDynamic, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDescriptorSetStorageBuffers, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDescriptorSetStorageBuffersDynamic, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDescriptorSetSampledImages, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDescriptorSetStorageImages, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDescriptorSetInputAttachments, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxVertexInputAttributes, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxVertexInputBindings, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxVertexInputAttributeOffset, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxVertexInputBindingStride, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxVertexOutputComponents, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxTessellationGenerationLevel, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxTessellationPatchSize, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxTessellationControlPerVertexInputComponents, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxTessellationControlPerVertexOutputComponents, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxTessellationControlPerPatchOutputComponents, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxTessellationControlTotalOutputComponents, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxTessellationEvaluationInputComponents, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxTessellationEvaluationOutputComponents, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxGeometryShaderInvocations, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxGeometryInputComponents, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxGeometryOutputComponents, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxGeometryOutputVertices, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxGeometryTotalOutputComponents, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxFragmentInputComponents, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxFragmentOutputAttachments, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxFragmentDualSrcAttachments, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxFragmentCombinedOutputResources, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxComputeSharedMemorySize, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)forUnmarshaling->maxComputeWorkGroupCount, *ptr, 3 * sizeof(uint32_t));
*ptr += 3 * sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxComputeWorkGroupInvocations, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)forUnmarshaling->maxComputeWorkGroupSize, *ptr, 3 * sizeof(uint32_t));
*ptr += 3 * sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->subPixelPrecisionBits, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->subTexelPrecisionBits, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->mipmapPrecisionBits, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDrawIndexedIndexValue, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDrawIndirectCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((float*)&forUnmarshaling->maxSamplerLodBias, *ptr, sizeof(float));
*ptr += sizeof(float);
memcpy((float*)&forUnmarshaling->maxSamplerAnisotropy, *ptr, sizeof(float));
*ptr += sizeof(float);
memcpy((uint32_t*)&forUnmarshaling->maxViewports, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)forUnmarshaling->maxViewportDimensions, *ptr, 2 * sizeof(uint32_t));
*ptr += 2 * sizeof(uint32_t);
memcpy((float*)forUnmarshaling->viewportBoundsRange, *ptr, 2 * sizeof(float));
*ptr += 2 * sizeof(float);
memcpy((uint32_t*)&forUnmarshaling->viewportSubPixelBits, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((size_t*)&forUnmarshaling->minMemoryMapAlignment, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->minMemoryMapAlignment);
*ptr += 8;
memcpy((VkDeviceSize*)&forUnmarshaling->minTexelBufferOffsetAlignment, *ptr,
sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkDeviceSize*)&forUnmarshaling->minUniformBufferOffsetAlignment, *ptr,
sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkDeviceSize*)&forUnmarshaling->minStorageBufferOffsetAlignment, *ptr,
sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((int32_t*)&forUnmarshaling->minTexelOffset, *ptr, sizeof(int32_t));
*ptr += sizeof(int32_t);
memcpy((uint32_t*)&forUnmarshaling->maxTexelOffset, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((int32_t*)&forUnmarshaling->minTexelGatherOffset, *ptr, sizeof(int32_t));
*ptr += sizeof(int32_t);
memcpy((uint32_t*)&forUnmarshaling->maxTexelGatherOffset, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((float*)&forUnmarshaling->minInterpolationOffset, *ptr, sizeof(float));
*ptr += sizeof(float);
memcpy((float*)&forUnmarshaling->maxInterpolationOffset, *ptr, sizeof(float));
*ptr += sizeof(float);
memcpy((uint32_t*)&forUnmarshaling->subPixelInterpolationOffsetBits, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxFramebufferWidth, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxFramebufferHeight, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxFramebufferLayers, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkSampleCountFlags*)&forUnmarshaling->framebufferColorSampleCounts, *ptr,
sizeof(VkSampleCountFlags));
*ptr += sizeof(VkSampleCountFlags);
memcpy((VkSampleCountFlags*)&forUnmarshaling->framebufferDepthSampleCounts, *ptr,
sizeof(VkSampleCountFlags));
*ptr += sizeof(VkSampleCountFlags);
memcpy((VkSampleCountFlags*)&forUnmarshaling->framebufferStencilSampleCounts, *ptr,
sizeof(VkSampleCountFlags));
*ptr += sizeof(VkSampleCountFlags);
memcpy((VkSampleCountFlags*)&forUnmarshaling->framebufferNoAttachmentsSampleCounts, *ptr,
sizeof(VkSampleCountFlags));
*ptr += sizeof(VkSampleCountFlags);
memcpy((uint32_t*)&forUnmarshaling->maxColorAttachments, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkSampleCountFlags*)&forUnmarshaling->sampledImageColorSampleCounts, *ptr,
sizeof(VkSampleCountFlags));
*ptr += sizeof(VkSampleCountFlags);
memcpy((VkSampleCountFlags*)&forUnmarshaling->sampledImageIntegerSampleCounts, *ptr,
sizeof(VkSampleCountFlags));
*ptr += sizeof(VkSampleCountFlags);
memcpy((VkSampleCountFlags*)&forUnmarshaling->sampledImageDepthSampleCounts, *ptr,
sizeof(VkSampleCountFlags));
*ptr += sizeof(VkSampleCountFlags);
memcpy((VkSampleCountFlags*)&forUnmarshaling->sampledImageStencilSampleCounts, *ptr,
sizeof(VkSampleCountFlags));
*ptr += sizeof(VkSampleCountFlags);
memcpy((VkSampleCountFlags*)&forUnmarshaling->storageImageSampleCounts, *ptr,
sizeof(VkSampleCountFlags));
*ptr += sizeof(VkSampleCountFlags);
memcpy((uint32_t*)&forUnmarshaling->maxSampleMaskWords, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkBool32*)&forUnmarshaling->timestampComputeAndGraphics, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((float*)&forUnmarshaling->timestampPeriod, *ptr, sizeof(float));
*ptr += sizeof(float);
memcpy((uint32_t*)&forUnmarshaling->maxClipDistances, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxCullDistances, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxCombinedClipAndCullDistances, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->discreteQueuePriorities, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((float*)forUnmarshaling->pointSizeRange, *ptr, 2 * sizeof(float));
*ptr += 2 * sizeof(float);
memcpy((float*)forUnmarshaling->lineWidthRange, *ptr, 2 * sizeof(float));
*ptr += 2 * sizeof(float);
memcpy((float*)&forUnmarshaling->pointSizeGranularity, *ptr, sizeof(float));
*ptr += sizeof(float);
memcpy((float*)&forUnmarshaling->lineWidthGranularity, *ptr, sizeof(float));
*ptr += sizeof(float);
memcpy((VkBool32*)&forUnmarshaling->strictLines, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->standardSampleLocations, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkDeviceSize*)&forUnmarshaling->optimalBufferCopyOffsetAlignment, *ptr,
sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkDeviceSize*)&forUnmarshaling->optimalBufferCopyRowPitchAlignment, *ptr,
sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkDeviceSize*)&forUnmarshaling->nonCoherentAtomSize, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
}
void reservedunmarshal_VkPhysicalDeviceMemoryProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceMemoryProperties* forUnmarshaling, uint8_t** ptr) {
memcpy((uint32_t*)&forUnmarshaling->memoryTypeCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_TYPES; ++i) {
reservedunmarshal_VkMemoryType(vkStream, rootType,
(VkMemoryType*)(forUnmarshaling->memoryTypes + i), ptr);
}
memcpy((uint32_t*)&forUnmarshaling->memoryHeapCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_HEAPS; ++i) {
reservedunmarshal_VkMemoryHeap(vkStream, rootType,
(VkMemoryHeap*)(forUnmarshaling->memoryHeaps + i), ptr);
}
}
void reservedunmarshal_VkPhysicalDeviceSparseProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceSparseProperties* forUnmarshaling, uint8_t** ptr) {
memcpy((VkBool32*)&forUnmarshaling->residencyStandard2DBlockShape, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->residencyStandard2DMultisampleBlockShape, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->residencyStandard3DBlockShape, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->residencyAlignedMipSize, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->residencyNonResidentStrict, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceProperties(VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceProperties* forUnmarshaling,
uint8_t** ptr) {
memcpy((uint32_t*)&forUnmarshaling->apiVersion, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->driverVersion, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->vendorID, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->deviceID, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkPhysicalDeviceType*)&forUnmarshaling->deviceType, *ptr, sizeof(VkPhysicalDeviceType));
*ptr += sizeof(VkPhysicalDeviceType);
memcpy((char*)forUnmarshaling->deviceName, *ptr,
VK_MAX_PHYSICAL_DEVICE_NAME_SIZE * sizeof(char));
*ptr += VK_MAX_PHYSICAL_DEVICE_NAME_SIZE * sizeof(char);
memcpy((uint8_t*)forUnmarshaling->pipelineCacheUUID, *ptr, VK_UUID_SIZE * sizeof(uint8_t));
*ptr += VK_UUID_SIZE * sizeof(uint8_t);
reservedunmarshal_VkPhysicalDeviceLimits(
vkStream, rootType, (VkPhysicalDeviceLimits*)(&forUnmarshaling->limits), ptr);
reservedunmarshal_VkPhysicalDeviceSparseProperties(
vkStream, rootType, (VkPhysicalDeviceSparseProperties*)(&forUnmarshaling->sparseProperties),
ptr);
}
void reservedunmarshal_VkQueueFamilyProperties(VulkanStream* vkStream, VkStructureType rootType,
VkQueueFamilyProperties* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkQueueFlags*)&forUnmarshaling->queueFlags, *ptr, sizeof(VkQueueFlags));
*ptr += sizeof(VkQueueFlags);
memcpy((uint32_t*)&forUnmarshaling->queueCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->timestampValidBits, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
reservedunmarshal_VkExtent3D(vkStream, rootType,
(VkExtent3D*)(&forUnmarshaling->minImageTransferGranularity), ptr);
}
void reservedunmarshal_VkDeviceQueueCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkDeviceQueueCreateInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkDeviceQueueCreateFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkDeviceQueueCreateFlags));
*ptr += sizeof(VkDeviceQueueCreateFlags);
memcpy((uint32_t*)&forUnmarshaling->queueFamilyIndex, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->queueCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pQueuePriorities,
forUnmarshaling->queueCount * sizeof(const float));
memcpy((float*)forUnmarshaling->pQueuePriorities, *ptr,
forUnmarshaling->queueCount * sizeof(const float));
*ptr += forUnmarshaling->queueCount * sizeof(const float);
}
void reservedunmarshal_VkDeviceCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkDeviceCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkDeviceCreateFlags*)&forUnmarshaling->flags, *ptr, sizeof(VkDeviceCreateFlags));
*ptr += sizeof(VkDeviceCreateFlags);
memcpy((uint32_t*)&forUnmarshaling->queueCreateInfoCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pQueueCreateInfos,
forUnmarshaling->queueCreateInfoCount * sizeof(const VkDeviceQueueCreateInfo));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->queueCreateInfoCount; ++i) {
reservedunmarshal_VkDeviceQueueCreateInfo(
vkStream, rootType, (VkDeviceQueueCreateInfo*)(forUnmarshaling->pQueueCreateInfos + i),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->enabledLayerCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->loadStringArrayInPlaceWithStreamPtr((char***)&forUnmarshaling->ppEnabledLayerNames,
ptr);
memcpy((uint32_t*)&forUnmarshaling->enabledExtensionCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->loadStringArrayInPlaceWithStreamPtr(
(char***)&forUnmarshaling->ppEnabledExtensionNames, ptr);
// WARNING PTR CHECK
memcpy((VkPhysicalDeviceFeatures**)&forUnmarshaling->pEnabledFeatures, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pEnabledFeatures);
*ptr += 8;
if (forUnmarshaling->pEnabledFeatures) {
vkStream->alloc((void**)&forUnmarshaling->pEnabledFeatures,
sizeof(const VkPhysicalDeviceFeatures));
reservedunmarshal_VkPhysicalDeviceFeatures(
vkStream, rootType, (VkPhysicalDeviceFeatures*)(forUnmarshaling->pEnabledFeatures),
ptr);
}
}
void reservedunmarshal_VkExtensionProperties(VulkanStream* vkStream, VkStructureType rootType,
VkExtensionProperties* forUnmarshaling,
uint8_t** ptr) {
memcpy((char*)forUnmarshaling->extensionName, *ptr, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
*ptr += VK_MAX_EXTENSION_NAME_SIZE * sizeof(char);
memcpy((uint32_t*)&forUnmarshaling->specVersion, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkLayerProperties(VulkanStream* vkStream, VkStructureType rootType,
VkLayerProperties* forUnmarshaling, uint8_t** ptr) {
memcpy((char*)forUnmarshaling->layerName, *ptr, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
*ptr += VK_MAX_EXTENSION_NAME_SIZE * sizeof(char);
memcpy((uint32_t*)&forUnmarshaling->specVersion, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->implementationVersion, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((char*)forUnmarshaling->description, *ptr, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
*ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
}
void reservedunmarshal_VkSubmitInfo(VulkanStream* vkStream, VkStructureType rootType,
VkSubmitInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->waitSemaphoreCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pWaitSemaphores,
forUnmarshaling->waitSemaphoreCount * sizeof(const VkSemaphore));
if (forUnmarshaling->waitSemaphoreCount) {
uint8_t* cgen_var_0_ptr = (uint8_t*)(*ptr);
*ptr += 8 * forUnmarshaling->waitSemaphoreCount;
if (forUnmarshaling) {
for (uint32_t k = 0; k < forUnmarshaling->waitSemaphoreCount; ++k) {
uint64_t tmpval;
memcpy(&tmpval, cgen_var_0_ptr + k * 8, sizeof(uint64_t));
*(((VkSemaphore*)forUnmarshaling->pWaitSemaphores) + k) =
(VkSemaphore)unbox_VkSemaphore((VkSemaphore)tmpval);
}
}
}
vkStream->alloc((void**)&forUnmarshaling->pWaitDstStageMask,
forUnmarshaling->waitSemaphoreCount * sizeof(const VkPipelineStageFlags));
memcpy((VkPipelineStageFlags*)forUnmarshaling->pWaitDstStageMask, *ptr,
forUnmarshaling->waitSemaphoreCount * sizeof(const VkPipelineStageFlags));
*ptr += forUnmarshaling->waitSemaphoreCount * sizeof(const VkPipelineStageFlags);
memcpy((uint32_t*)&forUnmarshaling->commandBufferCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pCommandBuffers,
forUnmarshaling->commandBufferCount * sizeof(const VkCommandBuffer));
if (forUnmarshaling->commandBufferCount) {
uint8_t* cgen_var_1_ptr = (uint8_t*)(*ptr);
*ptr += 8 * forUnmarshaling->commandBufferCount;
if (forUnmarshaling) {
for (uint32_t k = 0; k < forUnmarshaling->commandBufferCount; ++k) {
uint64_t tmpval;
memcpy(&tmpval, cgen_var_1_ptr + k * 8, sizeof(uint64_t));
*(((VkCommandBuffer*)forUnmarshaling->pCommandBuffers) + k) =
(VkCommandBuffer)unbox_VkCommandBuffer((VkCommandBuffer)tmpval);
}
}
}
memcpy((uint32_t*)&forUnmarshaling->signalSemaphoreCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pSignalSemaphores,
forUnmarshaling->signalSemaphoreCount * sizeof(const VkSemaphore));
if (forUnmarshaling->signalSemaphoreCount) {
uint8_t* cgen_var_2_ptr = (uint8_t*)(*ptr);
*ptr += 8 * forUnmarshaling->signalSemaphoreCount;
if (forUnmarshaling) {
for (uint32_t k = 0; k < forUnmarshaling->signalSemaphoreCount; ++k) {
uint64_t tmpval;
memcpy(&tmpval, cgen_var_2_ptr + k * 8, sizeof(uint64_t));
*(((VkSemaphore*)forUnmarshaling->pSignalSemaphores) + k) =
(VkSemaphore)unbox_VkSemaphore((VkSemaphore)tmpval);
}
}
}
}
void reservedunmarshal_VkMappedMemoryRange(VulkanStream* vkStream, VkStructureType rootType,
VkMappedMemoryRange* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkDeviceMemory*)&forUnmarshaling->memory =
(VkDeviceMemory)unbox_VkDeviceMemory((VkDeviceMemory)(*&cgen_var_0));
memcpy((VkDeviceSize*)&forUnmarshaling->offset, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkDeviceSize*)&forUnmarshaling->size, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
}
void reservedunmarshal_VkMemoryAllocateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkMemoryAllocateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkDeviceSize*)&forUnmarshaling->allocationSize, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((uint32_t*)&forUnmarshaling->memoryTypeIndex, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkMemoryRequirements(VulkanStream* vkStream, VkStructureType rootType,
VkMemoryRequirements* forUnmarshaling, uint8_t** ptr) {
memcpy((VkDeviceSize*)&forUnmarshaling->size, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkDeviceSize*)&forUnmarshaling->alignment, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((uint32_t*)&forUnmarshaling->memoryTypeBits, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkSparseMemoryBind(VulkanStream* vkStream, VkStructureType rootType,
VkSparseMemoryBind* forUnmarshaling, uint8_t** ptr) {
memcpy((VkDeviceSize*)&forUnmarshaling->resourceOffset, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkDeviceSize*)&forUnmarshaling->size, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkDeviceMemory*)&forUnmarshaling->memory =
(VkDeviceMemory)unbox_VkDeviceMemory((VkDeviceMemory)(*&cgen_var_0));
memcpy((VkDeviceSize*)&forUnmarshaling->memoryOffset, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkSparseMemoryBindFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkSparseMemoryBindFlags));
*ptr += sizeof(VkSparseMemoryBindFlags);
}
void reservedunmarshal_VkSparseBufferMemoryBindInfo(VulkanStream* vkStream,
VkStructureType rootType,
VkSparseBufferMemoryBindInfo* forUnmarshaling,
uint8_t** ptr) {
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkBuffer*)&forUnmarshaling->buffer = (VkBuffer)unbox_VkBuffer((VkBuffer)(*&cgen_var_0));
memcpy((uint32_t*)&forUnmarshaling->bindCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pBinds,
forUnmarshaling->bindCount * sizeof(const VkSparseMemoryBind));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bindCount; ++i) {
reservedunmarshal_VkSparseMemoryBind(
vkStream, rootType, (VkSparseMemoryBind*)(forUnmarshaling->pBinds + i), ptr);
}
}
void reservedunmarshal_VkSparseImageOpaqueMemoryBindInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkSparseImageOpaqueMemoryBindInfo* forUnmarshaling, uint8_t** ptr) {
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkImage*)&forUnmarshaling->image = (VkImage)unbox_VkImage((VkImage)(*&cgen_var_0));
memcpy((uint32_t*)&forUnmarshaling->bindCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pBinds,
forUnmarshaling->bindCount * sizeof(const VkSparseMemoryBind));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bindCount; ++i) {
reservedunmarshal_VkSparseMemoryBind(
vkStream, rootType, (VkSparseMemoryBind*)(forUnmarshaling->pBinds + i), ptr);
}
}
void reservedunmarshal_VkImageSubresource(VulkanStream* vkStream, VkStructureType rootType,
VkImageSubresource* forUnmarshaling, uint8_t** ptr) {
memcpy((VkImageAspectFlags*)&forUnmarshaling->aspectMask, *ptr, sizeof(VkImageAspectFlags));
*ptr += sizeof(VkImageAspectFlags);
memcpy((uint32_t*)&forUnmarshaling->mipLevel, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->arrayLayer, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkSparseImageMemoryBind(VulkanStream* vkStream, VkStructureType rootType,
VkSparseImageMemoryBind* forUnmarshaling,
uint8_t** ptr) {
reservedunmarshal_VkImageSubresource(vkStream, rootType,
(VkImageSubresource*)(&forUnmarshaling->subresource), ptr);
reservedunmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->offset), ptr);
reservedunmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->extent), ptr);
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkDeviceMemory*)&forUnmarshaling->memory =
(VkDeviceMemory)unbox_VkDeviceMemory((VkDeviceMemory)(*&cgen_var_0));
memcpy((VkDeviceSize*)&forUnmarshaling->memoryOffset, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkSparseMemoryBindFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkSparseMemoryBindFlags));
*ptr += sizeof(VkSparseMemoryBindFlags);
}
void reservedunmarshal_VkSparseImageMemoryBindInfo(VulkanStream* vkStream, VkStructureType rootType,
VkSparseImageMemoryBindInfo* forUnmarshaling,
uint8_t** ptr) {
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkImage*)&forUnmarshaling->image = (VkImage)unbox_VkImage((VkImage)(*&cgen_var_0));
memcpy((uint32_t*)&forUnmarshaling->bindCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pBinds,
forUnmarshaling->bindCount * sizeof(const VkSparseImageMemoryBind));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bindCount; ++i) {
reservedunmarshal_VkSparseImageMemoryBind(
vkStream, rootType, (VkSparseImageMemoryBind*)(forUnmarshaling->pBinds + i), ptr);
}
}
void reservedunmarshal_VkBindSparseInfo(VulkanStream* vkStream, VkStructureType rootType,
VkBindSparseInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->waitSemaphoreCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pWaitSemaphores,
forUnmarshaling->waitSemaphoreCount * sizeof(const VkSemaphore));
if (forUnmarshaling->waitSemaphoreCount) {
uint8_t* cgen_var_0_ptr = (uint8_t*)(*ptr);
*ptr += 8 * forUnmarshaling->waitSemaphoreCount;
if (forUnmarshaling) {
for (uint32_t k = 0; k < forUnmarshaling->waitSemaphoreCount; ++k) {
uint64_t tmpval;
memcpy(&tmpval, cgen_var_0_ptr + k * 8, sizeof(uint64_t));
*(((VkSemaphore*)forUnmarshaling->pWaitSemaphores) + k) =
(VkSemaphore)unbox_VkSemaphore((VkSemaphore)tmpval);
}
}
}
memcpy((uint32_t*)&forUnmarshaling->bufferBindCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pBufferBinds,
forUnmarshaling->bufferBindCount * sizeof(const VkSparseBufferMemoryBindInfo));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bufferBindCount; ++i) {
reservedunmarshal_VkSparseBufferMemoryBindInfo(
vkStream, rootType, (VkSparseBufferMemoryBindInfo*)(forUnmarshaling->pBufferBinds + i),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->imageOpaqueBindCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc(
(void**)&forUnmarshaling->pImageOpaqueBinds,
forUnmarshaling->imageOpaqueBindCount * sizeof(const VkSparseImageOpaqueMemoryBindInfo));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->imageOpaqueBindCount; ++i) {
reservedunmarshal_VkSparseImageOpaqueMemoryBindInfo(
vkStream, rootType,
(VkSparseImageOpaqueMemoryBindInfo*)(forUnmarshaling->pImageOpaqueBinds + i), ptr);
}
memcpy((uint32_t*)&forUnmarshaling->imageBindCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pImageBinds,
forUnmarshaling->imageBindCount * sizeof(const VkSparseImageMemoryBindInfo));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->imageBindCount; ++i) {
reservedunmarshal_VkSparseImageMemoryBindInfo(
vkStream, rootType, (VkSparseImageMemoryBindInfo*)(forUnmarshaling->pImageBinds + i),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->signalSemaphoreCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pSignalSemaphores,
forUnmarshaling->signalSemaphoreCount * sizeof(const VkSemaphore));
if (forUnmarshaling->signalSemaphoreCount) {
uint8_t* cgen_var_1_ptr = (uint8_t*)(*ptr);
*ptr += 8 * forUnmarshaling->signalSemaphoreCount;
if (forUnmarshaling) {
for (uint32_t k = 0; k < forUnmarshaling->signalSemaphoreCount; ++k) {
uint64_t tmpval;
memcpy(&tmpval, cgen_var_1_ptr + k * 8, sizeof(uint64_t));
*(((VkSemaphore*)forUnmarshaling->pSignalSemaphores) + k) =
(VkSemaphore)unbox_VkSemaphore((VkSemaphore)tmpval);
}
}
}
}
void reservedunmarshal_VkSparseImageFormatProperties(VulkanStream* vkStream,
VkStructureType rootType,
VkSparseImageFormatProperties* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkImageAspectFlags*)&forUnmarshaling->aspectMask, *ptr, sizeof(VkImageAspectFlags));
*ptr += sizeof(VkImageAspectFlags);
reservedunmarshal_VkExtent3D(vkStream, rootType,
(VkExtent3D*)(&forUnmarshaling->imageGranularity), ptr);
memcpy((VkSparseImageFormatFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkSparseImageFormatFlags));
*ptr += sizeof(VkSparseImageFormatFlags);
}
void reservedunmarshal_VkSparseImageMemoryRequirements(
VulkanStream* vkStream, VkStructureType rootType,
VkSparseImageMemoryRequirements* forUnmarshaling, uint8_t** ptr) {
reservedunmarshal_VkSparseImageFormatProperties(
vkStream, rootType, (VkSparseImageFormatProperties*)(&forUnmarshaling->formatProperties),
ptr);
memcpy((uint32_t*)&forUnmarshaling->imageMipTailFirstLod, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkDeviceSize*)&forUnmarshaling->imageMipTailSize, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkDeviceSize*)&forUnmarshaling->imageMipTailOffset, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkDeviceSize*)&forUnmarshaling->imageMipTailStride, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
}
void reservedunmarshal_VkFenceCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkFenceCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkFenceCreateFlags*)&forUnmarshaling->flags, *ptr, sizeof(VkFenceCreateFlags));
*ptr += sizeof(VkFenceCreateFlags);
}
void reservedunmarshal_VkSemaphoreCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkSemaphoreCreateInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkSemaphoreCreateFlags*)&forUnmarshaling->flags, *ptr, sizeof(VkSemaphoreCreateFlags));
*ptr += sizeof(VkSemaphoreCreateFlags);
}
void reservedunmarshal_VkEventCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkEventCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkEventCreateFlags*)&forUnmarshaling->flags, *ptr, sizeof(VkEventCreateFlags));
*ptr += sizeof(VkEventCreateFlags);
}
void reservedunmarshal_VkQueryPoolCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkQueryPoolCreateInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkQueryPoolCreateFlags*)&forUnmarshaling->flags, *ptr, sizeof(VkQueryPoolCreateFlags));
*ptr += sizeof(VkQueryPoolCreateFlags);
memcpy((VkQueryType*)&forUnmarshaling->queryType, *ptr, sizeof(VkQueryType));
*ptr += sizeof(VkQueryType);
memcpy((uint32_t*)&forUnmarshaling->queryCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkQueryPipelineStatisticFlags*)&forUnmarshaling->pipelineStatistics, *ptr,
sizeof(VkQueryPipelineStatisticFlags));
*ptr += sizeof(VkQueryPipelineStatisticFlags);
}
void reservedunmarshal_VkBufferCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkBufferCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBufferCreateFlags*)&forUnmarshaling->flags, *ptr, sizeof(VkBufferCreateFlags));
*ptr += sizeof(VkBufferCreateFlags);
memcpy((VkDeviceSize*)&forUnmarshaling->size, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkBufferUsageFlags*)&forUnmarshaling->usage, *ptr, sizeof(VkBufferUsageFlags));
*ptr += sizeof(VkBufferUsageFlags);
memcpy((VkSharingMode*)&forUnmarshaling->sharingMode, *ptr, sizeof(VkSharingMode));
*ptr += sizeof(VkSharingMode);
memcpy((uint32_t*)&forUnmarshaling->queueFamilyIndexCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
// WARNING PTR CHECK
memcpy((uint32_t**)&forUnmarshaling->pQueueFamilyIndices, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pQueueFamilyIndices);
*ptr += 8;
if (forUnmarshaling->pQueueFamilyIndices) {
vkStream->alloc((void**)&forUnmarshaling->pQueueFamilyIndices,
forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
memcpy((uint32_t*)forUnmarshaling->pQueueFamilyIndices, *ptr,
forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
*ptr += forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t);
}
}
void reservedunmarshal_VkBufferViewCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkBufferViewCreateInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBufferViewCreateFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkBufferViewCreateFlags));
*ptr += sizeof(VkBufferViewCreateFlags);
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkBuffer*)&forUnmarshaling->buffer = (VkBuffer)unbox_VkBuffer((VkBuffer)(*&cgen_var_0));
memcpy((VkFormat*)&forUnmarshaling->format, *ptr, sizeof(VkFormat));
*ptr += sizeof(VkFormat);
memcpy((VkDeviceSize*)&forUnmarshaling->offset, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkDeviceSize*)&forUnmarshaling->range, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
}
void reservedunmarshal_VkImageCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkImageCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkImageCreateFlags*)&forUnmarshaling->flags, *ptr, sizeof(VkImageCreateFlags));
*ptr += sizeof(VkImageCreateFlags);
memcpy((VkImageType*)&forUnmarshaling->imageType, *ptr, sizeof(VkImageType));
*ptr += sizeof(VkImageType);
memcpy((VkFormat*)&forUnmarshaling->format, *ptr, sizeof(VkFormat));
*ptr += sizeof(VkFormat);
reservedunmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->extent), ptr);
memcpy((uint32_t*)&forUnmarshaling->mipLevels, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->arrayLayers, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkSampleCountFlagBits*)&forUnmarshaling->samples, *ptr, sizeof(VkSampleCountFlagBits));
*ptr += sizeof(VkSampleCountFlagBits);
memcpy((VkImageTiling*)&forUnmarshaling->tiling, *ptr, sizeof(VkImageTiling));
*ptr += sizeof(VkImageTiling);
memcpy((VkImageUsageFlags*)&forUnmarshaling->usage, *ptr, sizeof(VkImageUsageFlags));
*ptr += sizeof(VkImageUsageFlags);
memcpy((VkSharingMode*)&forUnmarshaling->sharingMode, *ptr, sizeof(VkSharingMode));
*ptr += sizeof(VkSharingMode);
memcpy((uint32_t*)&forUnmarshaling->queueFamilyIndexCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
// WARNING PTR CHECK
memcpy((uint32_t**)&forUnmarshaling->pQueueFamilyIndices, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pQueueFamilyIndices);
*ptr += 8;
if (forUnmarshaling->pQueueFamilyIndices) {
vkStream->alloc((void**)&forUnmarshaling->pQueueFamilyIndices,
forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
memcpy((uint32_t*)forUnmarshaling->pQueueFamilyIndices, *ptr,
forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
*ptr += forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t);
}
memcpy((VkImageLayout*)&forUnmarshaling->initialLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
}
void reservedunmarshal_VkSubresourceLayout(VulkanStream* vkStream, VkStructureType rootType,
VkSubresourceLayout* forUnmarshaling, uint8_t** ptr) {
memcpy((VkDeviceSize*)&forUnmarshaling->offset, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkDeviceSize*)&forUnmarshaling->size, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkDeviceSize*)&forUnmarshaling->rowPitch, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkDeviceSize*)&forUnmarshaling->arrayPitch, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkDeviceSize*)&forUnmarshaling->depthPitch, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
}
void reservedunmarshal_VkComponentMapping(VulkanStream* vkStream, VkStructureType rootType,
VkComponentMapping* forUnmarshaling, uint8_t** ptr) {
memcpy((VkComponentSwizzle*)&forUnmarshaling->r, *ptr, sizeof(VkComponentSwizzle));
*ptr += sizeof(VkComponentSwizzle);
memcpy((VkComponentSwizzle*)&forUnmarshaling->g, *ptr, sizeof(VkComponentSwizzle));
*ptr += sizeof(VkComponentSwizzle);
memcpy((VkComponentSwizzle*)&forUnmarshaling->b, *ptr, sizeof(VkComponentSwizzle));
*ptr += sizeof(VkComponentSwizzle);
memcpy((VkComponentSwizzle*)&forUnmarshaling->a, *ptr, sizeof(VkComponentSwizzle));
*ptr += sizeof(VkComponentSwizzle);
}
void reservedunmarshal_VkImageViewCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkImageViewCreateInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkImageViewCreateFlags*)&forUnmarshaling->flags, *ptr, sizeof(VkImageViewCreateFlags));
*ptr += sizeof(VkImageViewCreateFlags);
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkImage*)&forUnmarshaling->image = (VkImage)unbox_VkImage((VkImage)(*&cgen_var_0));
memcpy((VkImageViewType*)&forUnmarshaling->viewType, *ptr, sizeof(VkImageViewType));
*ptr += sizeof(VkImageViewType);
memcpy((VkFormat*)&forUnmarshaling->format, *ptr, sizeof(VkFormat));
*ptr += sizeof(VkFormat);
reservedunmarshal_VkComponentMapping(vkStream, rootType,
(VkComponentMapping*)(&forUnmarshaling->components), ptr);
reservedunmarshal_VkImageSubresourceRange(
vkStream, rootType, (VkImageSubresourceRange*)(&forUnmarshaling->subresourceRange), ptr);
}
void reservedunmarshal_VkShaderModuleCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkShaderModuleCreateInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkShaderModuleCreateFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkShaderModuleCreateFlags));
*ptr += sizeof(VkShaderModuleCreateFlags);
memcpy((size_t*)&forUnmarshaling->codeSize, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->codeSize);
*ptr += 8;
vkStream->alloc((void**)&forUnmarshaling->pCode,
(forUnmarshaling->codeSize / 4) * sizeof(const uint32_t));
memcpy((uint32_t*)forUnmarshaling->pCode, *ptr,
(forUnmarshaling->codeSize / 4) * sizeof(const uint32_t));
*ptr += (forUnmarshaling->codeSize / 4) * sizeof(const uint32_t);
}
void reservedunmarshal_VkPipelineCacheCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkPipelineCacheCreateInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkPipelineCacheCreateFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkPipelineCacheCreateFlags));
*ptr += sizeof(VkPipelineCacheCreateFlags);
memcpy((size_t*)&forUnmarshaling->initialDataSize, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->initialDataSize);
*ptr += 8;
vkStream->alloc((void**)&forUnmarshaling->pInitialData,
forUnmarshaling->initialDataSize * sizeof(const uint8_t));
memcpy((void*)forUnmarshaling->pInitialData, *ptr,
forUnmarshaling->initialDataSize * sizeof(const uint8_t));
*ptr += forUnmarshaling->initialDataSize * sizeof(const uint8_t);
}
void reservedunmarshal_VkSpecializationMapEntry(VulkanStream* vkStream, VkStructureType rootType,
VkSpecializationMapEntry* forUnmarshaling,
uint8_t** ptr) {
memcpy((uint32_t*)&forUnmarshaling->constantID, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->offset, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((size_t*)&forUnmarshaling->size, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->size);
*ptr += 8;
}
void reservedunmarshal_VkSpecializationInfo(VulkanStream* vkStream, VkStructureType rootType,
VkSpecializationInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((uint32_t*)&forUnmarshaling->mapEntryCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pMapEntries,
forUnmarshaling->mapEntryCount * sizeof(const VkSpecializationMapEntry));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->mapEntryCount; ++i) {
reservedunmarshal_VkSpecializationMapEntry(
vkStream, rootType, (VkSpecializationMapEntry*)(forUnmarshaling->pMapEntries + i), ptr);
}
memcpy((size_t*)&forUnmarshaling->dataSize, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->dataSize);
*ptr += 8;
vkStream->alloc((void**)&forUnmarshaling->pData,
forUnmarshaling->dataSize * sizeof(const uint8_t));
memcpy((void*)forUnmarshaling->pData, *ptr, forUnmarshaling->dataSize * sizeof(const uint8_t));
*ptr += forUnmarshaling->dataSize * sizeof(const uint8_t);
}
void reservedunmarshal_VkPipelineShaderStageCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineShaderStageCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkPipelineShaderStageCreateFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkPipelineShaderStageCreateFlags));
*ptr += sizeof(VkPipelineShaderStageCreateFlags);
memcpy((VkShaderStageFlagBits*)&forUnmarshaling->stage, *ptr, sizeof(VkShaderStageFlagBits));
*ptr += sizeof(VkShaderStageFlagBits);
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkShaderModule*)&forUnmarshaling->module =
(VkShaderModule)unbox_VkShaderModule((VkShaderModule)(*&cgen_var_0));
vkStream->loadStringInPlaceWithStreamPtr((char**)&forUnmarshaling->pName, ptr);
// WARNING PTR CHECK
memcpy((VkSpecializationInfo**)&forUnmarshaling->pSpecializationInfo, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pSpecializationInfo);
*ptr += 8;
if (forUnmarshaling->pSpecializationInfo) {
vkStream->alloc((void**)&forUnmarshaling->pSpecializationInfo,
sizeof(const VkSpecializationInfo));
reservedunmarshal_VkSpecializationInfo(
vkStream, rootType, (VkSpecializationInfo*)(forUnmarshaling->pSpecializationInfo), ptr);
}
}
void reservedunmarshal_VkComputePipelineCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkComputePipelineCreateInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkPipelineCreateFlags*)&forUnmarshaling->flags, *ptr, sizeof(VkPipelineCreateFlags));
*ptr += sizeof(VkPipelineCreateFlags);
reservedunmarshal_VkPipelineShaderStageCreateInfo(
vkStream, rootType, (VkPipelineShaderStageCreateInfo*)(&forUnmarshaling->stage), ptr);
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkPipelineLayout*)&forUnmarshaling->layout =
(VkPipelineLayout)unbox_VkPipelineLayout((VkPipelineLayout)(*&cgen_var_0));
uint64_t cgen_var_1;
memcpy((uint64_t*)&cgen_var_1, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkPipeline*)&forUnmarshaling->basePipelineHandle =
(VkPipeline)unbox_VkPipeline((VkPipeline)(*&cgen_var_1));
memcpy((int32_t*)&forUnmarshaling->basePipelineIndex, *ptr, sizeof(int32_t));
*ptr += sizeof(int32_t);
}
void reservedunmarshal_VkVertexInputBindingDescription(
VulkanStream* vkStream, VkStructureType rootType,
VkVertexInputBindingDescription* forUnmarshaling, uint8_t** ptr) {
memcpy((uint32_t*)&forUnmarshaling->binding, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->stride, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkVertexInputRate*)&forUnmarshaling->inputRate, *ptr, sizeof(VkVertexInputRate));
*ptr += sizeof(VkVertexInputRate);
}
void reservedunmarshal_VkVertexInputAttributeDescription(
VulkanStream* vkStream, VkStructureType rootType,
VkVertexInputAttributeDescription* forUnmarshaling, uint8_t** ptr) {
memcpy((uint32_t*)&forUnmarshaling->location, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->binding, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkFormat*)&forUnmarshaling->format, *ptr, sizeof(VkFormat));
*ptr += sizeof(VkFormat);
memcpy((uint32_t*)&forUnmarshaling->offset, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkPipelineVertexInputStateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineVertexInputStateCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkPipelineVertexInputStateCreateFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkPipelineVertexInputStateCreateFlags));
*ptr += sizeof(VkPipelineVertexInputStateCreateFlags);
memcpy((uint32_t*)&forUnmarshaling->vertexBindingDescriptionCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pVertexBindingDescriptions,
forUnmarshaling->vertexBindingDescriptionCount *
sizeof(const VkVertexInputBindingDescription));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->vertexBindingDescriptionCount; ++i) {
reservedunmarshal_VkVertexInputBindingDescription(
vkStream, rootType,
(VkVertexInputBindingDescription*)(forUnmarshaling->pVertexBindingDescriptions + i),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->vertexAttributeDescriptionCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pVertexAttributeDescriptions,
forUnmarshaling->vertexAttributeDescriptionCount *
sizeof(const VkVertexInputAttributeDescription));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->vertexAttributeDescriptionCount; ++i) {
reservedunmarshal_VkVertexInputAttributeDescription(
vkStream, rootType,
(VkVertexInputAttributeDescription*)(forUnmarshaling->pVertexAttributeDescriptions + i),
ptr);
}
}
void reservedunmarshal_VkPipelineInputAssemblyStateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineInputAssemblyStateCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkPipelineInputAssemblyStateCreateFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkPipelineInputAssemblyStateCreateFlags));
*ptr += sizeof(VkPipelineInputAssemblyStateCreateFlags);
memcpy((VkPrimitiveTopology*)&forUnmarshaling->topology, *ptr, sizeof(VkPrimitiveTopology));
*ptr += sizeof(VkPrimitiveTopology);
memcpy((VkBool32*)&forUnmarshaling->primitiveRestartEnable, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPipelineTessellationStateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineTessellationStateCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkPipelineTessellationStateCreateFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkPipelineTessellationStateCreateFlags));
*ptr += sizeof(VkPipelineTessellationStateCreateFlags);
memcpy((uint32_t*)&forUnmarshaling->patchControlPoints, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkViewport(VulkanStream* vkStream, VkStructureType rootType,
VkViewport* forUnmarshaling, uint8_t** ptr) {
memcpy((float*)&forUnmarshaling->x, *ptr, sizeof(float));
*ptr += sizeof(float);
memcpy((float*)&forUnmarshaling->y, *ptr, sizeof(float));
*ptr += sizeof(float);
memcpy((float*)&forUnmarshaling->width, *ptr, sizeof(float));
*ptr += sizeof(float);
memcpy((float*)&forUnmarshaling->height, *ptr, sizeof(float));
*ptr += sizeof(float);
memcpy((float*)&forUnmarshaling->minDepth, *ptr, sizeof(float));
*ptr += sizeof(float);
memcpy((float*)&forUnmarshaling->maxDepth, *ptr, sizeof(float));
*ptr += sizeof(float);
}
void reservedunmarshal_VkPipelineViewportStateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineViewportStateCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkPipelineViewportStateCreateFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkPipelineViewportStateCreateFlags));
*ptr += sizeof(VkPipelineViewportStateCreateFlags);
memcpy((uint32_t*)&forUnmarshaling->viewportCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
// WARNING PTR CHECK
memcpy((VkViewport**)&forUnmarshaling->pViewports, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pViewports);
*ptr += 8;
if (forUnmarshaling->pViewports) {
vkStream->alloc((void**)&forUnmarshaling->pViewports,
forUnmarshaling->viewportCount * sizeof(const VkViewport));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->viewportCount; ++i) {
reservedunmarshal_VkViewport(vkStream, rootType,
(VkViewport*)(forUnmarshaling->pViewports + i), ptr);
}
}
memcpy((uint32_t*)&forUnmarshaling->scissorCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
// WARNING PTR CHECK
memcpy((VkRect2D**)&forUnmarshaling->pScissors, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pScissors);
*ptr += 8;
if (forUnmarshaling->pScissors) {
vkStream->alloc((void**)&forUnmarshaling->pScissors,
forUnmarshaling->scissorCount * sizeof(const VkRect2D));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->scissorCount; ++i) {
reservedunmarshal_VkRect2D(vkStream, rootType,
(VkRect2D*)(forUnmarshaling->pScissors + i), ptr);
}
}
}
void reservedunmarshal_VkPipelineRasterizationStateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineRasterizationStateCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkPipelineRasterizationStateCreateFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkPipelineRasterizationStateCreateFlags));
*ptr += sizeof(VkPipelineRasterizationStateCreateFlags);
memcpy((VkBool32*)&forUnmarshaling->depthClampEnable, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->rasterizerDiscardEnable, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkPolygonMode*)&forUnmarshaling->polygonMode, *ptr, sizeof(VkPolygonMode));
*ptr += sizeof(VkPolygonMode);
memcpy((VkCullModeFlags*)&forUnmarshaling->cullMode, *ptr, sizeof(VkCullModeFlags));
*ptr += sizeof(VkCullModeFlags);
memcpy((VkFrontFace*)&forUnmarshaling->frontFace, *ptr, sizeof(VkFrontFace));
*ptr += sizeof(VkFrontFace);
memcpy((VkBool32*)&forUnmarshaling->depthBiasEnable, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((float*)&forUnmarshaling->depthBiasConstantFactor, *ptr, sizeof(float));
*ptr += sizeof(float);
memcpy((float*)&forUnmarshaling->depthBiasClamp, *ptr, sizeof(float));
*ptr += sizeof(float);
memcpy((float*)&forUnmarshaling->depthBiasSlopeFactor, *ptr, sizeof(float));
*ptr += sizeof(float);
memcpy((float*)&forUnmarshaling->lineWidth, *ptr, sizeof(float));
*ptr += sizeof(float);
}
void reservedunmarshal_VkPipelineMultisampleStateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineMultisampleStateCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkPipelineMultisampleStateCreateFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkPipelineMultisampleStateCreateFlags));
*ptr += sizeof(VkPipelineMultisampleStateCreateFlags);
memcpy((VkSampleCountFlagBits*)&forUnmarshaling->rasterizationSamples, *ptr,
sizeof(VkSampleCountFlagBits));
*ptr += sizeof(VkSampleCountFlagBits);
memcpy((VkBool32*)&forUnmarshaling->sampleShadingEnable, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((float*)&forUnmarshaling->minSampleShading, *ptr, sizeof(float));
*ptr += sizeof(float);
// WARNING PTR CHECK
memcpy((VkSampleMask**)&forUnmarshaling->pSampleMask, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pSampleMask);
*ptr += 8;
if (forUnmarshaling->pSampleMask) {
vkStream->alloc(
(void**)&forUnmarshaling->pSampleMask,
(((forUnmarshaling->rasterizationSamples) + 31) / 32) * sizeof(const VkSampleMask));
memcpy((VkSampleMask*)forUnmarshaling->pSampleMask, *ptr,
(((forUnmarshaling->rasterizationSamples) + 31) / 32) * sizeof(const VkSampleMask));
*ptr += (((forUnmarshaling->rasterizationSamples) + 31) / 32) * sizeof(const VkSampleMask);
}
memcpy((VkBool32*)&forUnmarshaling->alphaToCoverageEnable, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->alphaToOneEnable, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkStencilOpState(VulkanStream* vkStream, VkStructureType rootType,
VkStencilOpState* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStencilOp*)&forUnmarshaling->failOp, *ptr, sizeof(VkStencilOp));
*ptr += sizeof(VkStencilOp);
memcpy((VkStencilOp*)&forUnmarshaling->passOp, *ptr, sizeof(VkStencilOp));
*ptr += sizeof(VkStencilOp);
memcpy((VkStencilOp*)&forUnmarshaling->depthFailOp, *ptr, sizeof(VkStencilOp));
*ptr += sizeof(VkStencilOp);
memcpy((VkCompareOp*)&forUnmarshaling->compareOp, *ptr, sizeof(VkCompareOp));
*ptr += sizeof(VkCompareOp);
memcpy((uint32_t*)&forUnmarshaling->compareMask, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->writeMask, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->reference, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkPipelineDepthStencilStateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineDepthStencilStateCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkPipelineDepthStencilStateCreateFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkPipelineDepthStencilStateCreateFlags));
*ptr += sizeof(VkPipelineDepthStencilStateCreateFlags);
memcpy((VkBool32*)&forUnmarshaling->depthTestEnable, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->depthWriteEnable, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkCompareOp*)&forUnmarshaling->depthCompareOp, *ptr, sizeof(VkCompareOp));
*ptr += sizeof(VkCompareOp);
memcpy((VkBool32*)&forUnmarshaling->depthBoundsTestEnable, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->stencilTestEnable, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
reservedunmarshal_VkStencilOpState(vkStream, rootType,
(VkStencilOpState*)(&forUnmarshaling->front), ptr);
reservedunmarshal_VkStencilOpState(vkStream, rootType,
(VkStencilOpState*)(&forUnmarshaling->back), ptr);
memcpy((float*)&forUnmarshaling->minDepthBounds, *ptr, sizeof(float));
*ptr += sizeof(float);
memcpy((float*)&forUnmarshaling->maxDepthBounds, *ptr, sizeof(float));
*ptr += sizeof(float);
}
void reservedunmarshal_VkPipelineColorBlendAttachmentState(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineColorBlendAttachmentState* forUnmarshaling, uint8_t** ptr) {
memcpy((VkBool32*)&forUnmarshaling->blendEnable, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBlendFactor*)&forUnmarshaling->srcColorBlendFactor, *ptr, sizeof(VkBlendFactor));
*ptr += sizeof(VkBlendFactor);
memcpy((VkBlendFactor*)&forUnmarshaling->dstColorBlendFactor, *ptr, sizeof(VkBlendFactor));
*ptr += sizeof(VkBlendFactor);
memcpy((VkBlendOp*)&forUnmarshaling->colorBlendOp, *ptr, sizeof(VkBlendOp));
*ptr += sizeof(VkBlendOp);
memcpy((VkBlendFactor*)&forUnmarshaling->srcAlphaBlendFactor, *ptr, sizeof(VkBlendFactor));
*ptr += sizeof(VkBlendFactor);
memcpy((VkBlendFactor*)&forUnmarshaling->dstAlphaBlendFactor, *ptr, sizeof(VkBlendFactor));
*ptr += sizeof(VkBlendFactor);
memcpy((VkBlendOp*)&forUnmarshaling->alphaBlendOp, *ptr, sizeof(VkBlendOp));
*ptr += sizeof(VkBlendOp);
memcpy((VkColorComponentFlags*)&forUnmarshaling->colorWriteMask, *ptr,
sizeof(VkColorComponentFlags));
*ptr += sizeof(VkColorComponentFlags);
}
void reservedunmarshal_VkPipelineColorBlendStateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineColorBlendStateCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkPipelineColorBlendStateCreateFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkPipelineColorBlendStateCreateFlags));
*ptr += sizeof(VkPipelineColorBlendStateCreateFlags);
memcpy((VkBool32*)&forUnmarshaling->logicOpEnable, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkLogicOp*)&forUnmarshaling->logicOp, *ptr, sizeof(VkLogicOp));
*ptr += sizeof(VkLogicOp);
memcpy((uint32_t*)&forUnmarshaling->attachmentCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc(
(void**)&forUnmarshaling->pAttachments,
forUnmarshaling->attachmentCount * sizeof(const VkPipelineColorBlendAttachmentState));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->attachmentCount; ++i) {
reservedunmarshal_VkPipelineColorBlendAttachmentState(
vkStream, rootType,
(VkPipelineColorBlendAttachmentState*)(forUnmarshaling->pAttachments + i), ptr);
}
memcpy((float*)forUnmarshaling->blendConstants, *ptr, 4 * sizeof(float));
*ptr += 4 * sizeof(float);
}
void reservedunmarshal_VkPipelineDynamicStateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineDynamicStateCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkPipelineDynamicStateCreateFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkPipelineDynamicStateCreateFlags));
*ptr += sizeof(VkPipelineDynamicStateCreateFlags);
memcpy((uint32_t*)&forUnmarshaling->dynamicStateCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pDynamicStates,
forUnmarshaling->dynamicStateCount * sizeof(const VkDynamicState));
memcpy((VkDynamicState*)forUnmarshaling->pDynamicStates, *ptr,
forUnmarshaling->dynamicStateCount * sizeof(const VkDynamicState));
*ptr += forUnmarshaling->dynamicStateCount * sizeof(const VkDynamicState);
}
void reservedunmarshal_VkGraphicsPipelineCreateInfo(VulkanStream* vkStream,
VkStructureType rootType,
VkGraphicsPipelineCreateInfo* forUnmarshaling,
uint8_t** ptr) {
uint32_t hasRasterization = 1;
if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
memcpy((uint32_t*)&hasRasterization, (*ptr), 4);
android::base::Stream::fromBe32((uint8_t*)&hasRasterization);
*ptr += 4;
}
uint32_t hasTessellation = 1;
if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
memcpy((uint32_t*)&hasTessellation, (*ptr), 4);
android::base::Stream::fromBe32((uint8_t*)&hasTessellation);
*ptr += 4;
}
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkPipelineCreateFlags*)&forUnmarshaling->flags, *ptr, sizeof(VkPipelineCreateFlags));
*ptr += sizeof(VkPipelineCreateFlags);
memcpy((uint32_t*)&forUnmarshaling->stageCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pStages,
forUnmarshaling->stageCount * sizeof(const VkPipelineShaderStageCreateInfo));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->stageCount; ++i) {
reservedunmarshal_VkPipelineShaderStageCreateInfo(
vkStream, rootType, (VkPipelineShaderStageCreateInfo*)(forUnmarshaling->pStages + i),
ptr);
}
// WARNING PTR CHECK
if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
memcpy((VkPipelineVertexInputStateCreateInfo**)&forUnmarshaling->pVertexInputState, (*ptr),
8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pVertexInputState);
*ptr += 8;
}
if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
forUnmarshaling->pVertexInputState)) {
vkStream->alloc((void**)&forUnmarshaling->pVertexInputState,
sizeof(const VkPipelineVertexInputStateCreateInfo));
reservedunmarshal_VkPipelineVertexInputStateCreateInfo(
vkStream, rootType,
(VkPipelineVertexInputStateCreateInfo*)(forUnmarshaling->pVertexInputState), ptr);
}
// WARNING PTR CHECK
if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
memcpy((VkPipelineInputAssemblyStateCreateInfo**)&forUnmarshaling->pInputAssemblyState,
(*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pInputAssemblyState);
*ptr += 8;
}
if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
forUnmarshaling->pInputAssemblyState)) {
vkStream->alloc((void**)&forUnmarshaling->pInputAssemblyState,
sizeof(const VkPipelineInputAssemblyStateCreateInfo));
reservedunmarshal_VkPipelineInputAssemblyStateCreateInfo(
vkStream, rootType,
(VkPipelineInputAssemblyStateCreateInfo*)(forUnmarshaling->pInputAssemblyState), ptr);
}
// WARNING PTR CHECK
memcpy((VkPipelineTessellationStateCreateInfo**)&forUnmarshaling->pTessellationState, (*ptr),
8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pTessellationState);
*ptr += 8;
if (forUnmarshaling->pTessellationState) {
if (hasTessellation) {
vkStream->alloc((void**)&forUnmarshaling->pTessellationState,
sizeof(const VkPipelineTessellationStateCreateInfo));
reservedunmarshal_VkPipelineTessellationStateCreateInfo(
vkStream, rootType,
(VkPipelineTessellationStateCreateInfo*)(forUnmarshaling->pTessellationState), ptr);
} else {
forUnmarshaling->pTessellationState = 0;
}
}
// WARNING PTR CHECK
memcpy((VkPipelineViewportStateCreateInfo**)&forUnmarshaling->pViewportState, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pViewportState);
*ptr += 8;
if (forUnmarshaling->pViewportState) {
if (hasRasterization) {
vkStream->alloc((void**)&forUnmarshaling->pViewportState,
sizeof(const VkPipelineViewportStateCreateInfo));
reservedunmarshal_VkPipelineViewportStateCreateInfo(
vkStream, rootType,
(VkPipelineViewportStateCreateInfo*)(forUnmarshaling->pViewportState), ptr);
} else {
forUnmarshaling->pViewportState = 0;
}
}
// WARNING PTR CHECK
if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
memcpy((VkPipelineRasterizationStateCreateInfo**)&forUnmarshaling->pRasterizationState,
(*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pRasterizationState);
*ptr += 8;
}
if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
forUnmarshaling->pRasterizationState)) {
vkStream->alloc((void**)&forUnmarshaling->pRasterizationState,
sizeof(const VkPipelineRasterizationStateCreateInfo));
reservedunmarshal_VkPipelineRasterizationStateCreateInfo(
vkStream, rootType,
(VkPipelineRasterizationStateCreateInfo*)(forUnmarshaling->pRasterizationState), ptr);
}
// WARNING PTR CHECK
memcpy((VkPipelineMultisampleStateCreateInfo**)&forUnmarshaling->pMultisampleState, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pMultisampleState);
*ptr += 8;
if (forUnmarshaling->pMultisampleState) {
if (hasRasterization) {
vkStream->alloc((void**)&forUnmarshaling->pMultisampleState,
sizeof(const VkPipelineMultisampleStateCreateInfo));
reservedunmarshal_VkPipelineMultisampleStateCreateInfo(
vkStream, rootType,
(VkPipelineMultisampleStateCreateInfo*)(forUnmarshaling->pMultisampleState), ptr);
} else {
forUnmarshaling->pMultisampleState = 0;
}
}
// WARNING PTR CHECK
memcpy((VkPipelineDepthStencilStateCreateInfo**)&forUnmarshaling->pDepthStencilState, (*ptr),
8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pDepthStencilState);
*ptr += 8;
if (forUnmarshaling->pDepthStencilState) {
if (hasRasterization) {
vkStream->alloc((void**)&forUnmarshaling->pDepthStencilState,
sizeof(const VkPipelineDepthStencilStateCreateInfo));
reservedunmarshal_VkPipelineDepthStencilStateCreateInfo(
vkStream, rootType,
(VkPipelineDepthStencilStateCreateInfo*)(forUnmarshaling->pDepthStencilState), ptr);
} else {
forUnmarshaling->pDepthStencilState = 0;
}
}
// WARNING PTR CHECK
memcpy((VkPipelineColorBlendStateCreateInfo**)&forUnmarshaling->pColorBlendState, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pColorBlendState);
*ptr += 8;
if (forUnmarshaling->pColorBlendState) {
if (hasRasterization) {
vkStream->alloc((void**)&forUnmarshaling->pColorBlendState,
sizeof(const VkPipelineColorBlendStateCreateInfo));
reservedunmarshal_VkPipelineColorBlendStateCreateInfo(
vkStream, rootType,
(VkPipelineColorBlendStateCreateInfo*)(forUnmarshaling->pColorBlendState), ptr);
} else {
forUnmarshaling->pColorBlendState = 0;
}
}
// WARNING PTR CHECK
memcpy((VkPipelineDynamicStateCreateInfo**)&forUnmarshaling->pDynamicState, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pDynamicState);
*ptr += 8;
if (forUnmarshaling->pDynamicState) {
vkStream->alloc((void**)&forUnmarshaling->pDynamicState,
sizeof(const VkPipelineDynamicStateCreateInfo));
reservedunmarshal_VkPipelineDynamicStateCreateInfo(
vkStream, rootType, (VkPipelineDynamicStateCreateInfo*)(forUnmarshaling->pDynamicState),
ptr);
}
uint64_t cgen_var_6;
memcpy((uint64_t*)&cgen_var_6, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkPipelineLayout*)&forUnmarshaling->layout =
(VkPipelineLayout)unbox_VkPipelineLayout((VkPipelineLayout)(*&cgen_var_6));
uint64_t cgen_var_7;
memcpy((uint64_t*)&cgen_var_7, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkRenderPass*)&forUnmarshaling->renderPass =
(VkRenderPass)unbox_VkRenderPass((VkRenderPass)(*&cgen_var_7));
memcpy((uint32_t*)&forUnmarshaling->subpass, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
uint64_t cgen_var_8;
memcpy((uint64_t*)&cgen_var_8, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkPipeline*)&forUnmarshaling->basePipelineHandle =
(VkPipeline)unbox_VkPipeline((VkPipeline)(*&cgen_var_8));
memcpy((int32_t*)&forUnmarshaling->basePipelineIndex, *ptr, sizeof(int32_t));
*ptr += sizeof(int32_t);
}
void reservedunmarshal_VkPushConstantRange(VulkanStream* vkStream, VkStructureType rootType,
VkPushConstantRange* forUnmarshaling, uint8_t** ptr) {
memcpy((VkShaderStageFlags*)&forUnmarshaling->stageFlags, *ptr, sizeof(VkShaderStageFlags));
*ptr += sizeof(VkShaderStageFlags);
memcpy((uint32_t*)&forUnmarshaling->offset, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->size, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkPipelineLayoutCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkPipelineLayoutCreateInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkPipelineLayoutCreateFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkPipelineLayoutCreateFlags));
*ptr += sizeof(VkPipelineLayoutCreateFlags);
memcpy((uint32_t*)&forUnmarshaling->setLayoutCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pSetLayouts,
forUnmarshaling->setLayoutCount * sizeof(const VkDescriptorSetLayout));
if (forUnmarshaling->setLayoutCount) {
uint8_t* cgen_var_0_ptr = (uint8_t*)(*ptr);
*ptr += 8 * forUnmarshaling->setLayoutCount;
if (forUnmarshaling) {
for (uint32_t k = 0; k < forUnmarshaling->setLayoutCount; ++k) {
uint64_t tmpval;
memcpy(&tmpval, cgen_var_0_ptr + k * 8, sizeof(uint64_t));
*(((VkDescriptorSetLayout*)forUnmarshaling->pSetLayouts) + k) =
(VkDescriptorSetLayout)unbox_VkDescriptorSetLayout(
(VkDescriptorSetLayout)tmpval);
}
}
}
memcpy((uint32_t*)&forUnmarshaling->pushConstantRangeCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pPushConstantRanges,
forUnmarshaling->pushConstantRangeCount * sizeof(const VkPushConstantRange));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->pushConstantRangeCount; ++i) {
reservedunmarshal_VkPushConstantRange(
vkStream, rootType, (VkPushConstantRange*)(forUnmarshaling->pPushConstantRanges + i),
ptr);
}
}
void reservedunmarshal_VkSamplerCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkSamplerCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkSamplerCreateFlags*)&forUnmarshaling->flags, *ptr, sizeof(VkSamplerCreateFlags));
*ptr += sizeof(VkSamplerCreateFlags);
memcpy((VkFilter*)&forUnmarshaling->magFilter, *ptr, sizeof(VkFilter));
*ptr += sizeof(VkFilter);
memcpy((VkFilter*)&forUnmarshaling->minFilter, *ptr, sizeof(VkFilter));
*ptr += sizeof(VkFilter);
memcpy((VkSamplerMipmapMode*)&forUnmarshaling->mipmapMode, *ptr, sizeof(VkSamplerMipmapMode));
*ptr += sizeof(VkSamplerMipmapMode);
memcpy((VkSamplerAddressMode*)&forUnmarshaling->addressModeU, *ptr,
sizeof(VkSamplerAddressMode));
*ptr += sizeof(VkSamplerAddressMode);
memcpy((VkSamplerAddressMode*)&forUnmarshaling->addressModeV, *ptr,
sizeof(VkSamplerAddressMode));
*ptr += sizeof(VkSamplerAddressMode);
memcpy((VkSamplerAddressMode*)&forUnmarshaling->addressModeW, *ptr,
sizeof(VkSamplerAddressMode));
*ptr += sizeof(VkSamplerAddressMode);
memcpy((float*)&forUnmarshaling->mipLodBias, *ptr, sizeof(float));
*ptr += sizeof(float);
memcpy((VkBool32*)&forUnmarshaling->anisotropyEnable, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((float*)&forUnmarshaling->maxAnisotropy, *ptr, sizeof(float));
*ptr += sizeof(float);
memcpy((VkBool32*)&forUnmarshaling->compareEnable, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkCompareOp*)&forUnmarshaling->compareOp, *ptr, sizeof(VkCompareOp));
*ptr += sizeof(VkCompareOp);
memcpy((float*)&forUnmarshaling->minLod, *ptr, sizeof(float));
*ptr += sizeof(float);
memcpy((float*)&forUnmarshaling->maxLod, *ptr, sizeof(float));
*ptr += sizeof(float);
memcpy((VkBorderColor*)&forUnmarshaling->borderColor, *ptr, sizeof(VkBorderColor));
*ptr += sizeof(VkBorderColor);
memcpy((VkBool32*)&forUnmarshaling->unnormalizedCoordinates, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkCopyDescriptorSet(VulkanStream* vkStream, VkStructureType rootType,
VkCopyDescriptorSet* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkDescriptorSet*)&forUnmarshaling->srcSet =
(VkDescriptorSet)unbox_VkDescriptorSet((VkDescriptorSet)(*&cgen_var_0));
memcpy((uint32_t*)&forUnmarshaling->srcBinding, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->srcArrayElement, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
uint64_t cgen_var_1;
memcpy((uint64_t*)&cgen_var_1, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkDescriptorSet*)&forUnmarshaling->dstSet =
(VkDescriptorSet)unbox_VkDescriptorSet((VkDescriptorSet)(*&cgen_var_1));
memcpy((uint32_t*)&forUnmarshaling->dstBinding, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->dstArrayElement, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->descriptorCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkDescriptorBufferInfo(VulkanStream* vkStream, VkStructureType rootType,
VkDescriptorBufferInfo* forUnmarshaling,
uint8_t** ptr) {
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkBuffer*)&forUnmarshaling->buffer = (VkBuffer)unbox_VkBuffer((VkBuffer)(*&cgen_var_0));
memcpy((VkDeviceSize*)&forUnmarshaling->offset, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkDeviceSize*)&forUnmarshaling->range, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
}
void reservedunmarshal_VkDescriptorImageInfo(VulkanStream* vkStream, VkStructureType rootType,
VkDescriptorImageInfo* forUnmarshaling,
uint8_t** ptr) {
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkSampler*)&forUnmarshaling->sampler = (VkSampler)unbox_VkSampler((VkSampler)(*&cgen_var_0));
uint64_t cgen_var_1;
memcpy((uint64_t*)&cgen_var_1, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkImageView*)&forUnmarshaling->imageView =
(VkImageView)unbox_VkImageView((VkImageView)(*&cgen_var_1));
memcpy((VkImageLayout*)&forUnmarshaling->imageLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
}
void reservedunmarshal_VkDescriptorPoolSize(VulkanStream* vkStream, VkStructureType rootType,
VkDescriptorPoolSize* forUnmarshaling, uint8_t** ptr) {
memcpy((VkDescriptorType*)&forUnmarshaling->type, *ptr, sizeof(VkDescriptorType));
*ptr += sizeof(VkDescriptorType);
memcpy((uint32_t*)&forUnmarshaling->descriptorCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkDescriptorPoolCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkDescriptorPoolCreateInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkDescriptorPoolCreateFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkDescriptorPoolCreateFlags));
*ptr += sizeof(VkDescriptorPoolCreateFlags);
memcpy((uint32_t*)&forUnmarshaling->maxSets, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->poolSizeCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pPoolSizes,
forUnmarshaling->poolSizeCount * sizeof(const VkDescriptorPoolSize));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->poolSizeCount; ++i) {
reservedunmarshal_VkDescriptorPoolSize(
vkStream, rootType, (VkDescriptorPoolSize*)(forUnmarshaling->pPoolSizes + i), ptr);
}
}
void reservedunmarshal_VkDescriptorSetAllocateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkDescriptorSetAllocateInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkDescriptorPool*)&forUnmarshaling->descriptorPool =
(VkDescriptorPool)unbox_VkDescriptorPool((VkDescriptorPool)(*&cgen_var_0));
memcpy((uint32_t*)&forUnmarshaling->descriptorSetCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pSetLayouts,
forUnmarshaling->descriptorSetCount * sizeof(const VkDescriptorSetLayout));
if (forUnmarshaling->descriptorSetCount) {
uint8_t* cgen_var_1_ptr = (uint8_t*)(*ptr);
*ptr += 8 * forUnmarshaling->descriptorSetCount;
if (forUnmarshaling) {
for (uint32_t k = 0; k < forUnmarshaling->descriptorSetCount; ++k) {
uint64_t tmpval;
memcpy(&tmpval, cgen_var_1_ptr + k * 8, sizeof(uint64_t));
*(((VkDescriptorSetLayout*)forUnmarshaling->pSetLayouts) + k) =
(VkDescriptorSetLayout)unbox_VkDescriptorSetLayout(
(VkDescriptorSetLayout)tmpval);
}
}
}
}
void reservedunmarshal_VkDescriptorSetLayoutBinding(VulkanStream* vkStream,
VkStructureType rootType,
VkDescriptorSetLayoutBinding* forUnmarshaling,
uint8_t** ptr) {
memcpy((uint32_t*)&forUnmarshaling->binding, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkDescriptorType*)&forUnmarshaling->descriptorType, *ptr, sizeof(VkDescriptorType));
*ptr += sizeof(VkDescriptorType);
memcpy((uint32_t*)&forUnmarshaling->descriptorCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkShaderStageFlags*)&forUnmarshaling->stageFlags, *ptr, sizeof(VkShaderStageFlags));
*ptr += sizeof(VkShaderStageFlags);
// WARNING PTR CHECK
memcpy((VkSampler**)&forUnmarshaling->pImmutableSamplers, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pImmutableSamplers);
*ptr += 8;
if (forUnmarshaling->pImmutableSamplers) {
vkStream->alloc((void**)&forUnmarshaling->pImmutableSamplers,
forUnmarshaling->descriptorCount * sizeof(const VkSampler));
if (forUnmarshaling->descriptorCount) {
uint8_t* cgen_var_0_0_ptr = (uint8_t*)(*ptr);
*ptr += 8 * forUnmarshaling->descriptorCount;
if (forUnmarshaling) {
for (uint32_t k = 0; k < forUnmarshaling->descriptorCount; ++k) {
uint64_t tmpval;
memcpy(&tmpval, cgen_var_0_0_ptr + k * 8, sizeof(uint64_t));
*(((VkSampler*)forUnmarshaling->pImmutableSamplers) + k) =
(VkSampler)unbox_VkSampler((VkSampler)tmpval);
}
}
}
}
}
void reservedunmarshal_VkDescriptorSetLayoutCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkDescriptorSetLayoutCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkDescriptorSetLayoutCreateFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkDescriptorSetLayoutCreateFlags));
*ptr += sizeof(VkDescriptorSetLayoutCreateFlags);
memcpy((uint32_t*)&forUnmarshaling->bindingCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pBindings,
forUnmarshaling->bindingCount * sizeof(const VkDescriptorSetLayoutBinding));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bindingCount; ++i) {
reservedunmarshal_VkDescriptorSetLayoutBinding(
vkStream, rootType, (VkDescriptorSetLayoutBinding*)(forUnmarshaling->pBindings + i),
ptr);
}
}
void reservedunmarshal_VkWriteDescriptorSet(VulkanStream* vkStream, VkStructureType rootType,
VkWriteDescriptorSet* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkDescriptorSet*)&forUnmarshaling->dstSet =
(VkDescriptorSet)unbox_VkDescriptorSet((VkDescriptorSet)(*&cgen_var_0));
memcpy((uint32_t*)&forUnmarshaling->dstBinding, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->dstArrayElement, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->descriptorCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkDescriptorType*)&forUnmarshaling->descriptorType, *ptr, sizeof(VkDescriptorType));
*ptr += sizeof(VkDescriptorType);
// WARNING PTR CHECK
memcpy((VkDescriptorImageInfo**)&forUnmarshaling->pImageInfo, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pImageInfo);
*ptr += 8;
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));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->descriptorCount; ++i) {
reservedunmarshal_VkDescriptorImageInfo(
vkStream, rootType, (VkDescriptorImageInfo*)(forUnmarshaling->pImageInfo + i),
ptr);
}
} else {
forUnmarshaling->pImageInfo = 0;
}
}
// WARNING PTR CHECK
memcpy((VkDescriptorBufferInfo**)&forUnmarshaling->pBufferInfo, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pBufferInfo);
*ptr += 8;
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));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->descriptorCount; ++i) {
reservedunmarshal_VkDescriptorBufferInfo(
vkStream, rootType, (VkDescriptorBufferInfo*)(forUnmarshaling->pBufferInfo + i),
ptr);
}
} else {
forUnmarshaling->pBufferInfo = 0;
}
}
// WARNING PTR CHECK
memcpy((VkBufferView**)&forUnmarshaling->pTexelBufferView, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pTexelBufferView);
*ptr += 8;
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) {
uint8_t* cgen_var_3_0_ptr = (uint8_t*)(*ptr);
*ptr += 8 * forUnmarshaling->descriptorCount;
if (forUnmarshaling) {
for (uint32_t k = 0; k < forUnmarshaling->descriptorCount; ++k) {
uint64_t tmpval;
memcpy(&tmpval, cgen_var_3_0_ptr + k * 8, sizeof(uint64_t));
*(((VkBufferView*)forUnmarshaling->pTexelBufferView) + k) =
(VkBufferView)unbox_VkBufferView((VkBufferView)tmpval);
}
}
}
} else {
forUnmarshaling->pTexelBufferView = 0;
}
}
}
void reservedunmarshal_VkAttachmentDescription(VulkanStream* vkStream, VkStructureType rootType,
VkAttachmentDescription* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkAttachmentDescriptionFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkAttachmentDescriptionFlags));
*ptr += sizeof(VkAttachmentDescriptionFlags);
memcpy((VkFormat*)&forUnmarshaling->format, *ptr, sizeof(VkFormat));
*ptr += sizeof(VkFormat);
memcpy((VkSampleCountFlagBits*)&forUnmarshaling->samples, *ptr, sizeof(VkSampleCountFlagBits));
*ptr += sizeof(VkSampleCountFlagBits);
memcpy((VkAttachmentLoadOp*)&forUnmarshaling->loadOp, *ptr, sizeof(VkAttachmentLoadOp));
*ptr += sizeof(VkAttachmentLoadOp);
memcpy((VkAttachmentStoreOp*)&forUnmarshaling->storeOp, *ptr, sizeof(VkAttachmentStoreOp));
*ptr += sizeof(VkAttachmentStoreOp);
memcpy((VkAttachmentLoadOp*)&forUnmarshaling->stencilLoadOp, *ptr, sizeof(VkAttachmentLoadOp));
*ptr += sizeof(VkAttachmentLoadOp);
memcpy((VkAttachmentStoreOp*)&forUnmarshaling->stencilStoreOp, *ptr,
sizeof(VkAttachmentStoreOp));
*ptr += sizeof(VkAttachmentStoreOp);
memcpy((VkImageLayout*)&forUnmarshaling->initialLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
memcpy((VkImageLayout*)&forUnmarshaling->finalLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
}
void reservedunmarshal_VkAttachmentReference(VulkanStream* vkStream, VkStructureType rootType,
VkAttachmentReference* forUnmarshaling,
uint8_t** ptr) {
memcpy((uint32_t*)&forUnmarshaling->attachment, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkImageLayout*)&forUnmarshaling->layout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
}
void reservedunmarshal_VkFramebufferCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkFramebufferCreateInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkFramebufferCreateFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkFramebufferCreateFlags));
*ptr += sizeof(VkFramebufferCreateFlags);
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkRenderPass*)&forUnmarshaling->renderPass =
(VkRenderPass)unbox_VkRenderPass((VkRenderPass)(*&cgen_var_0));
memcpy((uint32_t*)&forUnmarshaling->attachmentCount, *ptr, sizeof(uint32_t));
*ptr += 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) {
uint8_t* cgen_var_0_0_ptr = (uint8_t*)(*ptr);
*ptr += 8 * forUnmarshaling->attachmentCount;
if (forUnmarshaling) {
for (uint32_t k = 0; k < forUnmarshaling->attachmentCount; ++k) {
uint64_t tmpval;
memcpy(&tmpval, cgen_var_0_0_ptr + k * 8, sizeof(uint64_t));
*(((VkImageView*)forUnmarshaling->pAttachments) + k) =
(VkImageView)unbox_VkImageView((VkImageView)tmpval);
}
}
}
} else {
forUnmarshaling->pAttachments = 0;
}
memcpy((uint32_t*)&forUnmarshaling->width, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->height, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->layers, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkSubpassDescription(VulkanStream* vkStream, VkStructureType rootType,
VkSubpassDescription* forUnmarshaling, uint8_t** ptr) {
memcpy((VkSubpassDescriptionFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkSubpassDescriptionFlags));
*ptr += sizeof(VkSubpassDescriptionFlags);
memcpy((VkPipelineBindPoint*)&forUnmarshaling->pipelineBindPoint, *ptr,
sizeof(VkPipelineBindPoint));
*ptr += sizeof(VkPipelineBindPoint);
memcpy((uint32_t*)&forUnmarshaling->inputAttachmentCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pInputAttachments,
forUnmarshaling->inputAttachmentCount * sizeof(const VkAttachmentReference));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->inputAttachmentCount; ++i) {
reservedunmarshal_VkAttachmentReference(
vkStream, rootType, (VkAttachmentReference*)(forUnmarshaling->pInputAttachments + i),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->colorAttachmentCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pColorAttachments,
forUnmarshaling->colorAttachmentCount * sizeof(const VkAttachmentReference));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorAttachmentCount; ++i) {
reservedunmarshal_VkAttachmentReference(
vkStream, rootType, (VkAttachmentReference*)(forUnmarshaling->pColorAttachments + i),
ptr);
}
// WARNING PTR CHECK
memcpy((VkAttachmentReference**)&forUnmarshaling->pResolveAttachments, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pResolveAttachments);
*ptr += 8;
if (forUnmarshaling->pResolveAttachments) {
vkStream->alloc(
(void**)&forUnmarshaling->pResolveAttachments,
forUnmarshaling->colorAttachmentCount * sizeof(const VkAttachmentReference));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorAttachmentCount; ++i) {
reservedunmarshal_VkAttachmentReference(
vkStream, rootType,
(VkAttachmentReference*)(forUnmarshaling->pResolveAttachments + i), ptr);
}
}
// WARNING PTR CHECK
memcpy((VkAttachmentReference**)&forUnmarshaling->pDepthStencilAttachment, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pDepthStencilAttachment);
*ptr += 8;
if (forUnmarshaling->pDepthStencilAttachment) {
vkStream->alloc((void**)&forUnmarshaling->pDepthStencilAttachment,
sizeof(const VkAttachmentReference));
reservedunmarshal_VkAttachmentReference(
vkStream, rootType, (VkAttachmentReference*)(forUnmarshaling->pDepthStencilAttachment),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->preserveAttachmentCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pPreserveAttachments,
forUnmarshaling->preserveAttachmentCount * sizeof(const uint32_t));
memcpy((uint32_t*)forUnmarshaling->pPreserveAttachments, *ptr,
forUnmarshaling->preserveAttachmentCount * sizeof(const uint32_t));
*ptr += forUnmarshaling->preserveAttachmentCount * sizeof(const uint32_t);
}
void reservedunmarshal_VkSubpassDependency(VulkanStream* vkStream, VkStructureType rootType,
VkSubpassDependency* forUnmarshaling, uint8_t** ptr) {
memcpy((uint32_t*)&forUnmarshaling->srcSubpass, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->dstSubpass, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkPipelineStageFlags*)&forUnmarshaling->srcStageMask, *ptr,
sizeof(VkPipelineStageFlags));
*ptr += sizeof(VkPipelineStageFlags);
memcpy((VkPipelineStageFlags*)&forUnmarshaling->dstStageMask, *ptr,
sizeof(VkPipelineStageFlags));
*ptr += sizeof(VkPipelineStageFlags);
memcpy((VkAccessFlags*)&forUnmarshaling->srcAccessMask, *ptr, sizeof(VkAccessFlags));
*ptr += sizeof(VkAccessFlags);
memcpy((VkAccessFlags*)&forUnmarshaling->dstAccessMask, *ptr, sizeof(VkAccessFlags));
*ptr += sizeof(VkAccessFlags);
memcpy((VkDependencyFlags*)&forUnmarshaling->dependencyFlags, *ptr, sizeof(VkDependencyFlags));
*ptr += sizeof(VkDependencyFlags);
}
void reservedunmarshal_VkRenderPassCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkRenderPassCreateInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkRenderPassCreateFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkRenderPassCreateFlags));
*ptr += sizeof(VkRenderPassCreateFlags);
memcpy((uint32_t*)&forUnmarshaling->attachmentCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pAttachments,
forUnmarshaling->attachmentCount * sizeof(const VkAttachmentDescription));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->attachmentCount; ++i) {
reservedunmarshal_VkAttachmentDescription(
vkStream, rootType, (VkAttachmentDescription*)(forUnmarshaling->pAttachments + i), ptr);
}
memcpy((uint32_t*)&forUnmarshaling->subpassCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pSubpasses,
forUnmarshaling->subpassCount * sizeof(const VkSubpassDescription));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->subpassCount; ++i) {
reservedunmarshal_VkSubpassDescription(
vkStream, rootType, (VkSubpassDescription*)(forUnmarshaling->pSubpasses + i), ptr);
}
memcpy((uint32_t*)&forUnmarshaling->dependencyCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pDependencies,
forUnmarshaling->dependencyCount * sizeof(const VkSubpassDependency));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->dependencyCount; ++i) {
reservedunmarshal_VkSubpassDependency(
vkStream, rootType, (VkSubpassDependency*)(forUnmarshaling->pDependencies + i), ptr);
}
}
void reservedunmarshal_VkCommandPoolCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkCommandPoolCreateInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkCommandPoolCreateFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkCommandPoolCreateFlags));
*ptr += sizeof(VkCommandPoolCreateFlags);
memcpy((uint32_t*)&forUnmarshaling->queueFamilyIndex, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkCommandBufferAllocateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkCommandBufferAllocateInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkCommandPool*)&forUnmarshaling->commandPool =
(VkCommandPool)unbox_VkCommandPool((VkCommandPool)(*&cgen_var_0));
memcpy((VkCommandBufferLevel*)&forUnmarshaling->level, *ptr, sizeof(VkCommandBufferLevel));
*ptr += sizeof(VkCommandBufferLevel);
memcpy((uint32_t*)&forUnmarshaling->commandBufferCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkCommandBufferInheritanceInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkCommandBufferInheritanceInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkRenderPass*)&forUnmarshaling->renderPass =
(VkRenderPass)unbox_VkRenderPass((VkRenderPass)(*&cgen_var_0));
memcpy((uint32_t*)&forUnmarshaling->subpass, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
uint64_t cgen_var_1;
memcpy((uint64_t*)&cgen_var_1, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkFramebuffer*)&forUnmarshaling->framebuffer =
(VkFramebuffer)unbox_VkFramebuffer((VkFramebuffer)(*&cgen_var_1));
memcpy((VkBool32*)&forUnmarshaling->occlusionQueryEnable, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkQueryControlFlags*)&forUnmarshaling->queryFlags, *ptr, sizeof(VkQueryControlFlags));
*ptr += sizeof(VkQueryControlFlags);
memcpy((VkQueryPipelineStatisticFlags*)&forUnmarshaling->pipelineStatistics, *ptr,
sizeof(VkQueryPipelineStatisticFlags));
*ptr += sizeof(VkQueryPipelineStatisticFlags);
}
void reservedunmarshal_VkCommandBufferBeginInfo(VulkanStream* vkStream, VkStructureType rootType,
VkCommandBufferBeginInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkCommandBufferUsageFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkCommandBufferUsageFlags));
*ptr += sizeof(VkCommandBufferUsageFlags);
// WARNING PTR CHECK
memcpy((VkCommandBufferInheritanceInfo**)&forUnmarshaling->pInheritanceInfo, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pInheritanceInfo);
*ptr += 8;
if (forUnmarshaling->pInheritanceInfo) {
vkStream->alloc((void**)&forUnmarshaling->pInheritanceInfo,
sizeof(const VkCommandBufferInheritanceInfo));
reservedunmarshal_VkCommandBufferInheritanceInfo(
vkStream, rootType,
(VkCommandBufferInheritanceInfo*)(forUnmarshaling->pInheritanceInfo), ptr);
}
}
void reservedunmarshal_VkBufferCopy(VulkanStream* vkStream, VkStructureType rootType,
VkBufferCopy* forUnmarshaling, uint8_t** ptr) {
memcpy((VkDeviceSize*)&forUnmarshaling->srcOffset, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkDeviceSize*)&forUnmarshaling->dstOffset, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkDeviceSize*)&forUnmarshaling->size, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
}
void reservedunmarshal_VkImageSubresourceLayers(VulkanStream* vkStream, VkStructureType rootType,
VkImageSubresourceLayers* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkImageAspectFlags*)&forUnmarshaling->aspectMask, *ptr, sizeof(VkImageAspectFlags));
*ptr += sizeof(VkImageAspectFlags);
memcpy((uint32_t*)&forUnmarshaling->mipLevel, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->baseArrayLayer, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->layerCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkBufferImageCopy(VulkanStream* vkStream, VkStructureType rootType,
VkBufferImageCopy* forUnmarshaling, uint8_t** ptr) {
memcpy((VkDeviceSize*)&forUnmarshaling->bufferOffset, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((uint32_t*)&forUnmarshaling->bufferRowLength, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->bufferImageHeight, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
reservedunmarshal_VkImageSubresourceLayers(
vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->imageSubresource), ptr);
reservedunmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->imageOffset),
ptr);
reservedunmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->imageExtent),
ptr);
}
void reservedunmarshal_VkClearColorValue(VulkanStream* vkStream, VkStructureType rootType,
VkClearColorValue* forUnmarshaling, uint8_t** ptr) {
memcpy((float*)forUnmarshaling->float32, *ptr, 4 * sizeof(float));
*ptr += 4 * sizeof(float);
}
void reservedunmarshal_VkClearDepthStencilValue(VulkanStream* vkStream, VkStructureType rootType,
VkClearDepthStencilValue* forUnmarshaling,
uint8_t** ptr) {
memcpy((float*)&forUnmarshaling->depth, *ptr, sizeof(float));
*ptr += sizeof(float);
memcpy((uint32_t*)&forUnmarshaling->stencil, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkClearValue(VulkanStream* vkStream, VkStructureType rootType,
VkClearValue* forUnmarshaling, uint8_t** ptr) {
reservedunmarshal_VkClearColorValue(vkStream, rootType,
(VkClearColorValue*)(&forUnmarshaling->color), ptr);
}
void reservedunmarshal_VkClearAttachment(VulkanStream* vkStream, VkStructureType rootType,
VkClearAttachment* forUnmarshaling, uint8_t** ptr) {
memcpy((VkImageAspectFlags*)&forUnmarshaling->aspectMask, *ptr, sizeof(VkImageAspectFlags));
*ptr += sizeof(VkImageAspectFlags);
memcpy((uint32_t*)&forUnmarshaling->colorAttachment, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
reservedunmarshal_VkClearValue(vkStream, rootType,
(VkClearValue*)(&forUnmarshaling->clearValue), ptr);
}
void reservedunmarshal_VkClearRect(VulkanStream* vkStream, VkStructureType rootType,
VkClearRect* forUnmarshaling, uint8_t** ptr) {
reservedunmarshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forUnmarshaling->rect), ptr);
memcpy((uint32_t*)&forUnmarshaling->baseArrayLayer, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->layerCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkImageBlit(VulkanStream* vkStream, VkStructureType rootType,
VkImageBlit* forUnmarshaling, uint8_t** ptr) {
reservedunmarshal_VkImageSubresourceLayers(
vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource), ptr);
for (uint32_t i = 0; i < (uint32_t)2; ++i) {
reservedunmarshal_VkOffset3D(vkStream, rootType,
(VkOffset3D*)(forUnmarshaling->srcOffsets + i), ptr);
}
reservedunmarshal_VkImageSubresourceLayers(
vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource), ptr);
for (uint32_t i = 0; i < (uint32_t)2; ++i) {
reservedunmarshal_VkOffset3D(vkStream, rootType,
(VkOffset3D*)(forUnmarshaling->dstOffsets + i), ptr);
}
}
void reservedunmarshal_VkImageCopy(VulkanStream* vkStream, VkStructureType rootType,
VkImageCopy* forUnmarshaling, uint8_t** ptr) {
reservedunmarshal_VkImageSubresourceLayers(
vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource), ptr);
reservedunmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->srcOffset),
ptr);
reservedunmarshal_VkImageSubresourceLayers(
vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource), ptr);
reservedunmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->dstOffset),
ptr);
reservedunmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->extent), ptr);
}
void reservedunmarshal_VkImageResolve(VulkanStream* vkStream, VkStructureType rootType,
VkImageResolve* forUnmarshaling, uint8_t** ptr) {
reservedunmarshal_VkImageSubresourceLayers(
vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource), ptr);
reservedunmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->srcOffset),
ptr);
reservedunmarshal_VkImageSubresourceLayers(
vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource), ptr);
reservedunmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->dstOffset),
ptr);
reservedunmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->extent), ptr);
}
void reservedunmarshal_VkRenderPassBeginInfo(VulkanStream* vkStream, VkStructureType rootType,
VkRenderPassBeginInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkRenderPass*)&forUnmarshaling->renderPass =
(VkRenderPass)unbox_VkRenderPass((VkRenderPass)(*&cgen_var_0));
uint64_t cgen_var_1;
memcpy((uint64_t*)&cgen_var_1, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkFramebuffer*)&forUnmarshaling->framebuffer =
(VkFramebuffer)unbox_VkFramebuffer((VkFramebuffer)(*&cgen_var_1));
reservedunmarshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forUnmarshaling->renderArea), ptr);
memcpy((uint32_t*)&forUnmarshaling->clearValueCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
// WARNING PTR CHECK
memcpy((VkClearValue**)&forUnmarshaling->pClearValues, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pClearValues);
*ptr += 8;
if (forUnmarshaling->pClearValues) {
vkStream->alloc((void**)&forUnmarshaling->pClearValues,
forUnmarshaling->clearValueCount * sizeof(const VkClearValue));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->clearValueCount; ++i) {
reservedunmarshal_VkClearValue(vkStream, rootType,
(VkClearValue*)(forUnmarshaling->pClearValues + i), ptr);
}
}
}
#endif
#ifdef VK_VERSION_1_1
void reservedunmarshal_VkPhysicalDeviceSubgroupProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceSubgroupProperties* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->subgroupSize, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkShaderStageFlags*)&forUnmarshaling->supportedStages, *ptr,
sizeof(VkShaderStageFlags));
*ptr += sizeof(VkShaderStageFlags);
memcpy((VkSubgroupFeatureFlags*)&forUnmarshaling->supportedOperations, *ptr,
sizeof(VkSubgroupFeatureFlags));
*ptr += sizeof(VkSubgroupFeatureFlags);
memcpy((VkBool32*)&forUnmarshaling->quadOperationsInAllStages, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkBindBufferMemoryInfo(VulkanStream* vkStream, VkStructureType rootType,
VkBindBufferMemoryInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkBuffer*)&forUnmarshaling->buffer = (VkBuffer)unbox_VkBuffer((VkBuffer)(*&cgen_var_0));
uint64_t cgen_var_1;
memcpy((uint64_t*)&cgen_var_1, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkDeviceMemory*)&forUnmarshaling->memory =
(VkDeviceMemory)unbox_VkDeviceMemory((VkDeviceMemory)(*&cgen_var_1));
memcpy((VkDeviceSize*)&forUnmarshaling->memoryOffset, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
}
void reservedunmarshal_VkBindImageMemoryInfo(VulkanStream* vkStream, VkStructureType rootType,
VkBindImageMemoryInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkImage*)&forUnmarshaling->image = (VkImage)unbox_VkImage((VkImage)(*&cgen_var_0));
uint64_t cgen_var_1;
memcpy((uint64_t*)&cgen_var_1, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkDeviceMemory*)&forUnmarshaling->memory =
(VkDeviceMemory)unbox_VkDeviceMemory((VkDeviceMemory)(*&cgen_var_1));
memcpy((VkDeviceSize*)&forUnmarshaling->memoryOffset, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
}
void reservedunmarshal_VkPhysicalDevice16BitStorageFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDevice16BitStorageFeatures* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->storageBuffer16BitAccess, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->uniformAndStorageBuffer16BitAccess, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->storagePushConstant16, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->storageInputOutput16, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkMemoryDedicatedRequirements(VulkanStream* vkStream,
VkStructureType rootType,
VkMemoryDedicatedRequirements* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->prefersDedicatedAllocation, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->requiresDedicatedAllocation, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkMemoryDedicatedAllocateInfo(VulkanStream* vkStream,
VkStructureType rootType,
VkMemoryDedicatedAllocateInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkImage*)&forUnmarshaling->image = (VkImage)unbox_VkImage((VkImage)(*&cgen_var_0));
uint64_t cgen_var_1;
memcpy((uint64_t*)&cgen_var_1, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkBuffer*)&forUnmarshaling->buffer = (VkBuffer)unbox_VkBuffer((VkBuffer)(*&cgen_var_1));
}
void reservedunmarshal_VkMemoryAllocateFlagsInfo(VulkanStream* vkStream, VkStructureType rootType,
VkMemoryAllocateFlagsInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkMemoryAllocateFlags*)&forUnmarshaling->flags, *ptr, sizeof(VkMemoryAllocateFlags));
*ptr += sizeof(VkMemoryAllocateFlags);
memcpy((uint32_t*)&forUnmarshaling->deviceMask, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkDeviceGroupRenderPassBeginInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkDeviceGroupRenderPassBeginInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->deviceMask, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->deviceRenderAreaCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pDeviceRenderAreas,
forUnmarshaling->deviceRenderAreaCount * sizeof(const VkRect2D));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->deviceRenderAreaCount; ++i) {
reservedunmarshal_VkRect2D(vkStream, rootType,
(VkRect2D*)(forUnmarshaling->pDeviceRenderAreas + i), ptr);
}
}
void reservedunmarshal_VkDeviceGroupCommandBufferBeginInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkDeviceGroupCommandBufferBeginInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->deviceMask, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkDeviceGroupSubmitInfo(VulkanStream* vkStream, VkStructureType rootType,
VkDeviceGroupSubmitInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->waitSemaphoreCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pWaitSemaphoreDeviceIndices,
forUnmarshaling->waitSemaphoreCount * sizeof(const uint32_t));
memcpy((uint32_t*)forUnmarshaling->pWaitSemaphoreDeviceIndices, *ptr,
forUnmarshaling->waitSemaphoreCount * sizeof(const uint32_t));
*ptr += forUnmarshaling->waitSemaphoreCount * sizeof(const uint32_t);
memcpy((uint32_t*)&forUnmarshaling->commandBufferCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pCommandBufferDeviceMasks,
forUnmarshaling->commandBufferCount * sizeof(const uint32_t));
memcpy((uint32_t*)forUnmarshaling->pCommandBufferDeviceMasks, *ptr,
forUnmarshaling->commandBufferCount * sizeof(const uint32_t));
*ptr += forUnmarshaling->commandBufferCount * sizeof(const uint32_t);
memcpy((uint32_t*)&forUnmarshaling->signalSemaphoreCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pSignalSemaphoreDeviceIndices,
forUnmarshaling->signalSemaphoreCount * sizeof(const uint32_t));
memcpy((uint32_t*)forUnmarshaling->pSignalSemaphoreDeviceIndices, *ptr,
forUnmarshaling->signalSemaphoreCount * sizeof(const uint32_t));
*ptr += forUnmarshaling->signalSemaphoreCount * sizeof(const uint32_t);
}
void reservedunmarshal_VkDeviceGroupBindSparseInfo(VulkanStream* vkStream, VkStructureType rootType,
VkDeviceGroupBindSparseInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->resourceDeviceIndex, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->memoryDeviceIndex, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkBindBufferMemoryDeviceGroupInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkBindBufferMemoryDeviceGroupInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->deviceIndexCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pDeviceIndices,
forUnmarshaling->deviceIndexCount * sizeof(const uint32_t));
memcpy((uint32_t*)forUnmarshaling->pDeviceIndices, *ptr,
forUnmarshaling->deviceIndexCount * sizeof(const uint32_t));
*ptr += forUnmarshaling->deviceIndexCount * sizeof(const uint32_t);
}
void reservedunmarshal_VkBindImageMemoryDeviceGroupInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkBindImageMemoryDeviceGroupInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->deviceIndexCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pDeviceIndices,
forUnmarshaling->deviceIndexCount * sizeof(const uint32_t));
memcpy((uint32_t*)forUnmarshaling->pDeviceIndices, *ptr,
forUnmarshaling->deviceIndexCount * sizeof(const uint32_t));
*ptr += forUnmarshaling->deviceIndexCount * sizeof(const uint32_t);
memcpy((uint32_t*)&forUnmarshaling->splitInstanceBindRegionCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pSplitInstanceBindRegions,
forUnmarshaling->splitInstanceBindRegionCount * sizeof(const VkRect2D));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->splitInstanceBindRegionCount; ++i) {
reservedunmarshal_VkRect2D(
vkStream, rootType, (VkRect2D*)(forUnmarshaling->pSplitInstanceBindRegions + i), ptr);
}
}
void reservedunmarshal_VkPhysicalDeviceGroupProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceGroupProperties* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->physicalDeviceCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkPhysicalDevice*)forUnmarshaling->physicalDevices, *ptr,
VK_MAX_DEVICE_GROUP_SIZE * sizeof(VkPhysicalDevice));
*ptr += VK_MAX_DEVICE_GROUP_SIZE * sizeof(VkPhysicalDevice);
memcpy((VkBool32*)&forUnmarshaling->subsetAllocation, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkDeviceGroupDeviceCreateInfo(VulkanStream* vkStream,
VkStructureType rootType,
VkDeviceGroupDeviceCreateInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->physicalDeviceCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pPhysicalDevices,
forUnmarshaling->physicalDeviceCount * sizeof(const VkPhysicalDevice));
if (forUnmarshaling->physicalDeviceCount) {
uint8_t* cgen_var_0_ptr = (uint8_t*)(*ptr);
*ptr += 8 * forUnmarshaling->physicalDeviceCount;
if (forUnmarshaling) {
for (uint32_t k = 0; k < forUnmarshaling->physicalDeviceCount; ++k) {
uint64_t tmpval;
memcpy(&tmpval, cgen_var_0_ptr + k * 8, sizeof(uint64_t));
*(((VkPhysicalDevice*)forUnmarshaling->pPhysicalDevices) + k) =
(VkPhysicalDevice)unbox_VkPhysicalDevice((VkPhysicalDevice)tmpval);
}
}
}
}
void reservedunmarshal_VkBufferMemoryRequirementsInfo2(
VulkanStream* vkStream, VkStructureType rootType,
VkBufferMemoryRequirementsInfo2* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkBuffer*)&forUnmarshaling->buffer = (VkBuffer)unbox_VkBuffer((VkBuffer)(*&cgen_var_0));
}
void reservedunmarshal_VkImageMemoryRequirementsInfo2(
VulkanStream* vkStream, VkStructureType rootType,
VkImageMemoryRequirementsInfo2* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkImage*)&forUnmarshaling->image = (VkImage)unbox_VkImage((VkImage)(*&cgen_var_0));
}
void reservedunmarshal_VkImageSparseMemoryRequirementsInfo2(
VulkanStream* vkStream, VkStructureType rootType,
VkImageSparseMemoryRequirementsInfo2* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkImage*)&forUnmarshaling->image = (VkImage)unbox_VkImage((VkImage)(*&cgen_var_0));
}
void reservedunmarshal_VkMemoryRequirements2(VulkanStream* vkStream, VkStructureType rootType,
VkMemoryRequirements2* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
reservedunmarshal_VkMemoryRequirements(
vkStream, rootType, (VkMemoryRequirements*)(&forUnmarshaling->memoryRequirements), ptr);
}
void reservedunmarshal_VkSparseImageMemoryRequirements2(
VulkanStream* vkStream, VkStructureType rootType,
VkSparseImageMemoryRequirements2* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
reservedunmarshal_VkSparseImageMemoryRequirements(
vkStream, rootType,
(VkSparseImageMemoryRequirements*)(&forUnmarshaling->memoryRequirements), ptr);
}
void reservedunmarshal_VkPhysicalDeviceFeatures2(VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceFeatures2* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
reservedunmarshal_VkPhysicalDeviceFeatures(
vkStream, rootType, (VkPhysicalDeviceFeatures*)(&forUnmarshaling->features), ptr);
}
void reservedunmarshal_VkPhysicalDeviceProperties2(VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceProperties2* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
reservedunmarshal_VkPhysicalDeviceProperties(
vkStream, rootType, (VkPhysicalDeviceProperties*)(&forUnmarshaling->properties), ptr);
}
void reservedunmarshal_VkFormatProperties2(VulkanStream* vkStream, VkStructureType rootType,
VkFormatProperties2* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
reservedunmarshal_VkFormatProperties(
vkStream, rootType, (VkFormatProperties*)(&forUnmarshaling->formatProperties), ptr);
}
void reservedunmarshal_VkImageFormatProperties2(VulkanStream* vkStream, VkStructureType rootType,
VkImageFormatProperties2* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
reservedunmarshal_VkImageFormatProperties(
vkStream, rootType, (VkImageFormatProperties*)(&forUnmarshaling->imageFormatProperties),
ptr);
}
void reservedunmarshal_VkPhysicalDeviceImageFormatInfo2(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceImageFormatInfo2* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkFormat*)&forUnmarshaling->format, *ptr, sizeof(VkFormat));
*ptr += sizeof(VkFormat);
memcpy((VkImageType*)&forUnmarshaling->type, *ptr, sizeof(VkImageType));
*ptr += sizeof(VkImageType);
memcpy((VkImageTiling*)&forUnmarshaling->tiling, *ptr, sizeof(VkImageTiling));
*ptr += sizeof(VkImageTiling);
memcpy((VkImageUsageFlags*)&forUnmarshaling->usage, *ptr, sizeof(VkImageUsageFlags));
*ptr += sizeof(VkImageUsageFlags);
memcpy((VkImageCreateFlags*)&forUnmarshaling->flags, *ptr, sizeof(VkImageCreateFlags));
*ptr += sizeof(VkImageCreateFlags);
}
void reservedunmarshal_VkQueueFamilyProperties2(VulkanStream* vkStream, VkStructureType rootType,
VkQueueFamilyProperties2* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
reservedunmarshal_VkQueueFamilyProperties(
vkStream, rootType, (VkQueueFamilyProperties*)(&forUnmarshaling->queueFamilyProperties),
ptr);
}
void reservedunmarshal_VkPhysicalDeviceMemoryProperties2(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceMemoryProperties2* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
reservedunmarshal_VkPhysicalDeviceMemoryProperties(
vkStream, rootType, (VkPhysicalDeviceMemoryProperties*)(&forUnmarshaling->memoryProperties),
ptr);
}
void reservedunmarshal_VkSparseImageFormatProperties2(
VulkanStream* vkStream, VkStructureType rootType,
VkSparseImageFormatProperties2* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
reservedunmarshal_VkSparseImageFormatProperties(
vkStream, rootType, (VkSparseImageFormatProperties*)(&forUnmarshaling->properties), ptr);
}
void reservedunmarshal_VkPhysicalDeviceSparseImageFormatInfo2(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceSparseImageFormatInfo2* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkFormat*)&forUnmarshaling->format, *ptr, sizeof(VkFormat));
*ptr += sizeof(VkFormat);
memcpy((VkImageType*)&forUnmarshaling->type, *ptr, sizeof(VkImageType));
*ptr += sizeof(VkImageType);
memcpy((VkSampleCountFlagBits*)&forUnmarshaling->samples, *ptr, sizeof(VkSampleCountFlagBits));
*ptr += sizeof(VkSampleCountFlagBits);
memcpy((VkImageUsageFlags*)&forUnmarshaling->usage, *ptr, sizeof(VkImageUsageFlags));
*ptr += sizeof(VkImageUsageFlags);
memcpy((VkImageTiling*)&forUnmarshaling->tiling, *ptr, sizeof(VkImageTiling));
*ptr += sizeof(VkImageTiling);
}
void reservedunmarshal_VkPhysicalDevicePointClippingProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDevicePointClippingProperties* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkPointClippingBehavior*)&forUnmarshaling->pointClippingBehavior, *ptr,
sizeof(VkPointClippingBehavior));
*ptr += sizeof(VkPointClippingBehavior);
}
void reservedunmarshal_VkInputAttachmentAspectReference(
VulkanStream* vkStream, VkStructureType rootType,
VkInputAttachmentAspectReference* forUnmarshaling, uint8_t** ptr) {
memcpy((uint32_t*)&forUnmarshaling->subpass, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->inputAttachmentIndex, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkImageAspectFlags*)&forUnmarshaling->aspectMask, *ptr, sizeof(VkImageAspectFlags));
*ptr += sizeof(VkImageAspectFlags);
}
void reservedunmarshal_VkRenderPassInputAttachmentAspectCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkRenderPassInputAttachmentAspectCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->aspectReferenceCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc(
(void**)&forUnmarshaling->pAspectReferences,
forUnmarshaling->aspectReferenceCount * sizeof(const VkInputAttachmentAspectReference));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->aspectReferenceCount; ++i) {
reservedunmarshal_VkInputAttachmentAspectReference(
vkStream, rootType,
(VkInputAttachmentAspectReference*)(forUnmarshaling->pAspectReferences + i), ptr);
}
}
void reservedunmarshal_VkImageViewUsageCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkImageViewUsageCreateInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkImageUsageFlags*)&forUnmarshaling->usage, *ptr, sizeof(VkImageUsageFlags));
*ptr += sizeof(VkImageUsageFlags);
}
void reservedunmarshal_VkPipelineTessellationDomainOriginStateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineTessellationDomainOriginStateCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkTessellationDomainOrigin*)&forUnmarshaling->domainOrigin, *ptr,
sizeof(VkTessellationDomainOrigin));
*ptr += sizeof(VkTessellationDomainOrigin);
}
void reservedunmarshal_VkRenderPassMultiviewCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkRenderPassMultiviewCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->subpassCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pViewMasks,
forUnmarshaling->subpassCount * sizeof(const uint32_t));
memcpy((uint32_t*)forUnmarshaling->pViewMasks, *ptr,
forUnmarshaling->subpassCount * sizeof(const uint32_t));
*ptr += forUnmarshaling->subpassCount * sizeof(const uint32_t);
memcpy((uint32_t*)&forUnmarshaling->dependencyCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pViewOffsets,
forUnmarshaling->dependencyCount * sizeof(const int32_t));
memcpy((int32_t*)forUnmarshaling->pViewOffsets, *ptr,
forUnmarshaling->dependencyCount * sizeof(const int32_t));
*ptr += forUnmarshaling->dependencyCount * sizeof(const int32_t);
memcpy((uint32_t*)&forUnmarshaling->correlationMaskCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pCorrelationMasks,
forUnmarshaling->correlationMaskCount * sizeof(const uint32_t));
memcpy((uint32_t*)forUnmarshaling->pCorrelationMasks, *ptr,
forUnmarshaling->correlationMaskCount * sizeof(const uint32_t));
*ptr += forUnmarshaling->correlationMaskCount * sizeof(const uint32_t);
}
void reservedunmarshal_VkPhysicalDeviceMultiviewFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceMultiviewFeatures* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->multiview, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->multiviewGeometryShader, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->multiviewTessellationShader, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceMultiviewProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceMultiviewProperties* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->maxMultiviewViewCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxMultiviewInstanceIndex, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkPhysicalDeviceVariablePointersFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceVariablePointersFeatures* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->variablePointersStorageBuffer, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->variablePointers, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceProtectedMemoryFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceProtectedMemoryFeatures* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->protectedMemory, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceProtectedMemoryProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceProtectedMemoryProperties* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->protectedNoFault, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkDeviceQueueInfo2(VulkanStream* vkStream, VkStructureType rootType,
VkDeviceQueueInfo2* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkDeviceQueueCreateFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkDeviceQueueCreateFlags));
*ptr += sizeof(VkDeviceQueueCreateFlags);
memcpy((uint32_t*)&forUnmarshaling->queueFamilyIndex, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->queueIndex, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkProtectedSubmitInfo(VulkanStream* vkStream, VkStructureType rootType,
VkProtectedSubmitInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->protectedSubmit, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkSamplerYcbcrConversionCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkSamplerYcbcrConversionCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkFormat*)&forUnmarshaling->format, *ptr, sizeof(VkFormat));
*ptr += sizeof(VkFormat);
memcpy((VkSamplerYcbcrModelConversion*)&forUnmarshaling->ycbcrModel, *ptr,
sizeof(VkSamplerYcbcrModelConversion));
*ptr += sizeof(VkSamplerYcbcrModelConversion);
memcpy((VkSamplerYcbcrRange*)&forUnmarshaling->ycbcrRange, *ptr, sizeof(VkSamplerYcbcrRange));
*ptr += sizeof(VkSamplerYcbcrRange);
reservedunmarshal_VkComponentMapping(vkStream, rootType,
(VkComponentMapping*)(&forUnmarshaling->components), ptr);
memcpy((VkChromaLocation*)&forUnmarshaling->xChromaOffset, *ptr, sizeof(VkChromaLocation));
*ptr += sizeof(VkChromaLocation);
memcpy((VkChromaLocation*)&forUnmarshaling->yChromaOffset, *ptr, sizeof(VkChromaLocation));
*ptr += sizeof(VkChromaLocation);
memcpy((VkFilter*)&forUnmarshaling->chromaFilter, *ptr, sizeof(VkFilter));
*ptr += sizeof(VkFilter);
memcpy((VkBool32*)&forUnmarshaling->forceExplicitReconstruction, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkSamplerYcbcrConversionInfo(VulkanStream* vkStream,
VkStructureType rootType,
VkSamplerYcbcrConversionInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkSamplerYcbcrConversion*)&forUnmarshaling->conversion =
(VkSamplerYcbcrConversion)unbox_VkSamplerYcbcrConversion(
(VkSamplerYcbcrConversion)(*&cgen_var_0));
}
void reservedunmarshal_VkBindImagePlaneMemoryInfo(VulkanStream* vkStream, VkStructureType rootType,
VkBindImagePlaneMemoryInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkImageAspectFlagBits*)&forUnmarshaling->planeAspect, *ptr,
sizeof(VkImageAspectFlagBits));
*ptr += sizeof(VkImageAspectFlagBits);
}
void reservedunmarshal_VkImagePlaneMemoryRequirementsInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkImagePlaneMemoryRequirementsInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkImageAspectFlagBits*)&forUnmarshaling->planeAspect, *ptr,
sizeof(VkImageAspectFlagBits));
*ptr += sizeof(VkImageAspectFlagBits);
}
void reservedunmarshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceSamplerYcbcrConversionFeatures* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->samplerYcbcrConversion, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkSamplerYcbcrConversionImageFormatProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkSamplerYcbcrConversionImageFormatProperties* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->combinedImageSamplerDescriptorCount, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkDescriptorUpdateTemplateEntry(
VulkanStream* vkStream, VkStructureType rootType,
VkDescriptorUpdateTemplateEntry* forUnmarshaling, uint8_t** ptr) {
memcpy((uint32_t*)&forUnmarshaling->dstBinding, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->dstArrayElement, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->descriptorCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkDescriptorType*)&forUnmarshaling->descriptorType, *ptr, sizeof(VkDescriptorType));
*ptr += sizeof(VkDescriptorType);
memcpy((size_t*)&forUnmarshaling->offset, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->offset);
*ptr += 8;
memcpy((size_t*)&forUnmarshaling->stride, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->stride);
*ptr += 8;
}
void reservedunmarshal_VkDescriptorUpdateTemplateCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkDescriptorUpdateTemplateCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkDescriptorUpdateTemplateCreateFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkDescriptorUpdateTemplateCreateFlags));
*ptr += sizeof(VkDescriptorUpdateTemplateCreateFlags);
memcpy((uint32_t*)&forUnmarshaling->descriptorUpdateEntryCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pDescriptorUpdateEntries,
forUnmarshaling->descriptorUpdateEntryCount *
sizeof(const VkDescriptorUpdateTemplateEntry));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->descriptorUpdateEntryCount; ++i) {
reservedunmarshal_VkDescriptorUpdateTemplateEntry(
vkStream, rootType,
(VkDescriptorUpdateTemplateEntry*)(forUnmarshaling->pDescriptorUpdateEntries + i), ptr);
}
memcpy((VkDescriptorUpdateTemplateType*)&forUnmarshaling->templateType, *ptr,
sizeof(VkDescriptorUpdateTemplateType));
*ptr += sizeof(VkDescriptorUpdateTemplateType);
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkDescriptorSetLayout*)&forUnmarshaling->descriptorSetLayout =
(VkDescriptorSetLayout)unbox_VkDescriptorSetLayout((VkDescriptorSetLayout)(*&cgen_var_0));
memcpy((VkPipelineBindPoint*)&forUnmarshaling->pipelineBindPoint, *ptr,
sizeof(VkPipelineBindPoint));
*ptr += sizeof(VkPipelineBindPoint);
uint64_t cgen_var_1;
memcpy((uint64_t*)&cgen_var_1, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkPipelineLayout*)&forUnmarshaling->pipelineLayout =
(VkPipelineLayout)unbox_VkPipelineLayout((VkPipelineLayout)(*&cgen_var_1));
memcpy((uint32_t*)&forUnmarshaling->set, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkExternalMemoryProperties(VulkanStream* vkStream, VkStructureType rootType,
VkExternalMemoryProperties* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkExternalMemoryFeatureFlags*)&forUnmarshaling->externalMemoryFeatures, *ptr,
sizeof(VkExternalMemoryFeatureFlags));
*ptr += sizeof(VkExternalMemoryFeatureFlags);
memcpy((VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->exportFromImportedHandleTypes, *ptr,
sizeof(VkExternalMemoryHandleTypeFlags));
*ptr += sizeof(VkExternalMemoryHandleTypeFlags);
memcpy((VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->compatibleHandleTypes, *ptr,
sizeof(VkExternalMemoryHandleTypeFlags));
*ptr += sizeof(VkExternalMemoryHandleTypeFlags);
}
void reservedunmarshal_VkPhysicalDeviceExternalImageFormatInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceExternalImageFormatInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkExternalMemoryHandleTypeFlagBits*)&forUnmarshaling->handleType, *ptr,
sizeof(VkExternalMemoryHandleTypeFlagBits));
*ptr += sizeof(VkExternalMemoryHandleTypeFlagBits);
}
void reservedunmarshal_VkExternalImageFormatProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkExternalImageFormatProperties* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
reservedunmarshal_VkExternalMemoryProperties(
vkStream, rootType,
(VkExternalMemoryProperties*)(&forUnmarshaling->externalMemoryProperties), ptr);
}
void reservedunmarshal_VkPhysicalDeviceExternalBufferInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceExternalBufferInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBufferCreateFlags*)&forUnmarshaling->flags, *ptr, sizeof(VkBufferCreateFlags));
*ptr += sizeof(VkBufferCreateFlags);
memcpy((VkBufferUsageFlags*)&forUnmarshaling->usage, *ptr, sizeof(VkBufferUsageFlags));
*ptr += sizeof(VkBufferUsageFlags);
memcpy((VkExternalMemoryHandleTypeFlagBits*)&forUnmarshaling->handleType, *ptr,
sizeof(VkExternalMemoryHandleTypeFlagBits));
*ptr += sizeof(VkExternalMemoryHandleTypeFlagBits);
}
void reservedunmarshal_VkExternalBufferProperties(VulkanStream* vkStream, VkStructureType rootType,
VkExternalBufferProperties* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
reservedunmarshal_VkExternalMemoryProperties(
vkStream, rootType,
(VkExternalMemoryProperties*)(&forUnmarshaling->externalMemoryProperties), ptr);
}
void reservedunmarshal_VkPhysicalDeviceIDProperties(VulkanStream* vkStream,
VkStructureType rootType,
VkPhysicalDeviceIDProperties* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint8_t*)forUnmarshaling->deviceUUID, *ptr, VK_UUID_SIZE * sizeof(uint8_t));
*ptr += VK_UUID_SIZE * sizeof(uint8_t);
memcpy((uint8_t*)forUnmarshaling->driverUUID, *ptr, VK_UUID_SIZE * sizeof(uint8_t));
*ptr += VK_UUID_SIZE * sizeof(uint8_t);
memcpy((uint8_t*)forUnmarshaling->deviceLUID, *ptr, VK_LUID_SIZE * sizeof(uint8_t));
*ptr += VK_LUID_SIZE * sizeof(uint8_t);
memcpy((uint32_t*)&forUnmarshaling->deviceNodeMask, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkBool32*)&forUnmarshaling->deviceLUIDValid, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkExternalMemoryImageCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkExternalMemoryImageCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->handleTypes, *ptr,
sizeof(VkExternalMemoryHandleTypeFlags));
*ptr += sizeof(VkExternalMemoryHandleTypeFlags);
}
void reservedunmarshal_VkExternalMemoryBufferCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkExternalMemoryBufferCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->handleTypes, *ptr,
sizeof(VkExternalMemoryHandleTypeFlags));
*ptr += sizeof(VkExternalMemoryHandleTypeFlags);
}
void reservedunmarshal_VkExportMemoryAllocateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkExportMemoryAllocateInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->handleTypes, *ptr,
sizeof(VkExternalMemoryHandleTypeFlags));
*ptr += sizeof(VkExternalMemoryHandleTypeFlags);
}
void reservedunmarshal_VkPhysicalDeviceExternalFenceInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceExternalFenceInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkExternalFenceHandleTypeFlagBits*)&forUnmarshaling->handleType, *ptr,
sizeof(VkExternalFenceHandleTypeFlagBits));
*ptr += sizeof(VkExternalFenceHandleTypeFlagBits);
}
void reservedunmarshal_VkExternalFenceProperties(VulkanStream* vkStream, VkStructureType rootType,
VkExternalFenceProperties* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkExternalFenceHandleTypeFlags*)&forUnmarshaling->exportFromImportedHandleTypes, *ptr,
sizeof(VkExternalFenceHandleTypeFlags));
*ptr += sizeof(VkExternalFenceHandleTypeFlags);
memcpy((VkExternalFenceHandleTypeFlags*)&forUnmarshaling->compatibleHandleTypes, *ptr,
sizeof(VkExternalFenceHandleTypeFlags));
*ptr += sizeof(VkExternalFenceHandleTypeFlags);
memcpy((VkExternalFenceFeatureFlags*)&forUnmarshaling->externalFenceFeatures, *ptr,
sizeof(VkExternalFenceFeatureFlags));
*ptr += sizeof(VkExternalFenceFeatureFlags);
}
void reservedunmarshal_VkExportFenceCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkExportFenceCreateInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkExternalFenceHandleTypeFlags*)&forUnmarshaling->handleTypes, *ptr,
sizeof(VkExternalFenceHandleTypeFlags));
*ptr += sizeof(VkExternalFenceHandleTypeFlags);
}
void reservedunmarshal_VkExportSemaphoreCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkExportSemaphoreCreateInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkExternalSemaphoreHandleTypeFlags*)&forUnmarshaling->handleTypes, *ptr,
sizeof(VkExternalSemaphoreHandleTypeFlags));
*ptr += sizeof(VkExternalSemaphoreHandleTypeFlags);
}
void reservedunmarshal_VkPhysicalDeviceExternalSemaphoreInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceExternalSemaphoreInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkExternalSemaphoreHandleTypeFlagBits*)&forUnmarshaling->handleType, *ptr,
sizeof(VkExternalSemaphoreHandleTypeFlagBits));
*ptr += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
}
void reservedunmarshal_VkExternalSemaphoreProperties(VulkanStream* vkStream,
VkStructureType rootType,
VkExternalSemaphoreProperties* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkExternalSemaphoreHandleTypeFlags*)&forUnmarshaling->exportFromImportedHandleTypes,
*ptr, sizeof(VkExternalSemaphoreHandleTypeFlags));
*ptr += sizeof(VkExternalSemaphoreHandleTypeFlags);
memcpy((VkExternalSemaphoreHandleTypeFlags*)&forUnmarshaling->compatibleHandleTypes, *ptr,
sizeof(VkExternalSemaphoreHandleTypeFlags));
*ptr += sizeof(VkExternalSemaphoreHandleTypeFlags);
memcpy((VkExternalSemaphoreFeatureFlags*)&forUnmarshaling->externalSemaphoreFeatures, *ptr,
sizeof(VkExternalSemaphoreFeatureFlags));
*ptr += sizeof(VkExternalSemaphoreFeatureFlags);
}
void reservedunmarshal_VkPhysicalDeviceMaintenance3Properties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceMaintenance3Properties* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->maxPerSetDescriptors, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkDeviceSize*)&forUnmarshaling->maxMemoryAllocationSize, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
}
void reservedunmarshal_VkDescriptorSetLayoutSupport(VulkanStream* vkStream,
VkStructureType rootType,
VkDescriptorSetLayoutSupport* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->supported, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceShaderDrawParametersFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceShaderDrawParametersFeatures* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->shaderDrawParameters, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
#endif
#ifdef VK_VERSION_1_2
void reservedunmarshal_VkPhysicalDeviceVulkan11Features(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceVulkan11Features* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->storageBuffer16BitAccess, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->uniformAndStorageBuffer16BitAccess, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->storagePushConstant16, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->storageInputOutput16, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->multiview, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->multiviewGeometryShader, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->multiviewTessellationShader, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->variablePointersStorageBuffer, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->variablePointers, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->protectedMemory, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->samplerYcbcrConversion, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderDrawParameters, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceVulkan11Properties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceVulkan11Properties* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint8_t*)forUnmarshaling->deviceUUID, *ptr, VK_UUID_SIZE * sizeof(uint8_t));
*ptr += VK_UUID_SIZE * sizeof(uint8_t);
memcpy((uint8_t*)forUnmarshaling->driverUUID, *ptr, VK_UUID_SIZE * sizeof(uint8_t));
*ptr += VK_UUID_SIZE * sizeof(uint8_t);
memcpy((uint8_t*)forUnmarshaling->deviceLUID, *ptr, VK_LUID_SIZE * sizeof(uint8_t));
*ptr += VK_LUID_SIZE * sizeof(uint8_t);
memcpy((uint32_t*)&forUnmarshaling->deviceNodeMask, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkBool32*)&forUnmarshaling->deviceLUIDValid, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((uint32_t*)&forUnmarshaling->subgroupSize, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkShaderStageFlags*)&forUnmarshaling->subgroupSupportedStages, *ptr,
sizeof(VkShaderStageFlags));
*ptr += sizeof(VkShaderStageFlags);
memcpy((VkSubgroupFeatureFlags*)&forUnmarshaling->subgroupSupportedOperations, *ptr,
sizeof(VkSubgroupFeatureFlags));
*ptr += sizeof(VkSubgroupFeatureFlags);
memcpy((VkBool32*)&forUnmarshaling->subgroupQuadOperationsInAllStages, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkPointClippingBehavior*)&forUnmarshaling->pointClippingBehavior, *ptr,
sizeof(VkPointClippingBehavior));
*ptr += sizeof(VkPointClippingBehavior);
memcpy((uint32_t*)&forUnmarshaling->maxMultiviewViewCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxMultiviewInstanceIndex, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkBool32*)&forUnmarshaling->protectedNoFault, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((uint32_t*)&forUnmarshaling->maxPerSetDescriptors, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkDeviceSize*)&forUnmarshaling->maxMemoryAllocationSize, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
}
void reservedunmarshal_VkPhysicalDeviceVulkan12Features(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceVulkan12Features* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->samplerMirrorClampToEdge, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->drawIndirectCount, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->storageBuffer8BitAccess, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->uniformAndStorageBuffer8BitAccess, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->storagePushConstant8, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderBufferInt64Atomics, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderSharedInt64Atomics, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderFloat16, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderInt8, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->descriptorIndexing, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderInputAttachmentArrayDynamicIndexing, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderUniformTexelBufferArrayDynamicIndexing, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderStorageTexelBufferArrayDynamicIndexing, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderUniformBufferArrayNonUniformIndexing, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderSampledImageArrayNonUniformIndexing, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderStorageBufferArrayNonUniformIndexing, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderStorageImageArrayNonUniformIndexing, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderInputAttachmentArrayNonUniformIndexing, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderUniformTexelBufferArrayNonUniformIndexing, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderStorageTexelBufferArrayNonUniformIndexing, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->descriptorBindingUniformBufferUpdateAfterBind, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->descriptorBindingSampledImageUpdateAfterBind, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->descriptorBindingStorageImageUpdateAfterBind, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->descriptorBindingStorageBufferUpdateAfterBind, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->descriptorBindingUniformTexelBufferUpdateAfterBind, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->descriptorBindingStorageTexelBufferUpdateAfterBind, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->descriptorBindingUpdateUnusedWhilePending, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->descriptorBindingPartiallyBound, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->descriptorBindingVariableDescriptorCount, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->runtimeDescriptorArray, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->samplerFilterMinmax, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->scalarBlockLayout, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->imagelessFramebuffer, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->uniformBufferStandardLayout, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderSubgroupExtendedTypes, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->separateDepthStencilLayouts, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->hostQueryReset, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->timelineSemaphore, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->bufferDeviceAddress, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->bufferDeviceAddressCaptureReplay, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->bufferDeviceAddressMultiDevice, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->vulkanMemoryModel, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->vulkanMemoryModelDeviceScope, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->vulkanMemoryModelAvailabilityVisibilityChains, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderOutputViewportIndex, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderOutputLayer, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->subgroupBroadcastDynamicId, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkConformanceVersion(VulkanStream* vkStream, VkStructureType rootType,
VkConformanceVersion* forUnmarshaling, uint8_t** ptr) {
memcpy((uint8_t*)&forUnmarshaling->major, *ptr, sizeof(uint8_t));
*ptr += sizeof(uint8_t);
memcpy((uint8_t*)&forUnmarshaling->minor, *ptr, sizeof(uint8_t));
*ptr += sizeof(uint8_t);
memcpy((uint8_t*)&forUnmarshaling->subminor, *ptr, sizeof(uint8_t));
*ptr += sizeof(uint8_t);
memcpy((uint8_t*)&forUnmarshaling->patch, *ptr, sizeof(uint8_t));
*ptr += sizeof(uint8_t);
}
void reservedunmarshal_VkPhysicalDeviceVulkan12Properties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceVulkan12Properties* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkDriverId*)&forUnmarshaling->driverID, *ptr, sizeof(VkDriverId));
*ptr += sizeof(VkDriverId);
memcpy((char*)forUnmarshaling->driverName, *ptr, VK_MAX_DRIVER_NAME_SIZE * sizeof(char));
*ptr += VK_MAX_DRIVER_NAME_SIZE * sizeof(char);
memcpy((char*)forUnmarshaling->driverInfo, *ptr, VK_MAX_DRIVER_INFO_SIZE * sizeof(char));
*ptr += VK_MAX_DRIVER_INFO_SIZE * sizeof(char);
reservedunmarshal_VkConformanceVersion(
vkStream, rootType, (VkConformanceVersion*)(&forUnmarshaling->conformanceVersion), ptr);
memcpy((VkShaderFloatControlsIndependence*)&forUnmarshaling->denormBehaviorIndependence, *ptr,
sizeof(VkShaderFloatControlsIndependence));
*ptr += sizeof(VkShaderFloatControlsIndependence);
memcpy((VkShaderFloatControlsIndependence*)&forUnmarshaling->roundingModeIndependence, *ptr,
sizeof(VkShaderFloatControlsIndependence));
*ptr += sizeof(VkShaderFloatControlsIndependence);
memcpy((VkBool32*)&forUnmarshaling->shaderSignedZeroInfNanPreserveFloat16, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderSignedZeroInfNanPreserveFloat32, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderSignedZeroInfNanPreserveFloat64, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderDenormPreserveFloat16, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderDenormPreserveFloat32, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderDenormPreserveFloat64, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderDenormFlushToZeroFloat16, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderDenormFlushToZeroFloat32, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderDenormFlushToZeroFloat64, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderRoundingModeRTEFloat16, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderRoundingModeRTEFloat32, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderRoundingModeRTEFloat64, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderRoundingModeRTZFloat16, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderRoundingModeRTZFloat32, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderRoundingModeRTZFloat64, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((uint32_t*)&forUnmarshaling->maxUpdateAfterBindDescriptorsInAllPools, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkBool32*)&forUnmarshaling->shaderUniformBufferArrayNonUniformIndexingNative, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderSampledImageArrayNonUniformIndexingNative, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderStorageBufferArrayNonUniformIndexingNative, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderStorageImageArrayNonUniformIndexingNative, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderInputAttachmentArrayNonUniformIndexingNative, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->robustBufferAccessUpdateAfterBind, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->quadDivergentImplicitLod, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindSamplers, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindUniformBuffers, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindStorageBuffers, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindSampledImages, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindStorageImages, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindInputAttachments, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxPerStageUpdateAfterBindResources, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindSamplers, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindUniformBuffers, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageBuffers, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindSampledImages, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageImages, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindInputAttachments, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkResolveModeFlags*)&forUnmarshaling->supportedDepthResolveModes, *ptr,
sizeof(VkResolveModeFlags));
*ptr += sizeof(VkResolveModeFlags);
memcpy((VkResolveModeFlags*)&forUnmarshaling->supportedStencilResolveModes, *ptr,
sizeof(VkResolveModeFlags));
*ptr += sizeof(VkResolveModeFlags);
memcpy((VkBool32*)&forUnmarshaling->independentResolveNone, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->independentResolve, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->filterMinmaxSingleComponentFormats, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->filterMinmaxImageComponentMapping, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((uint64_t*)&forUnmarshaling->maxTimelineSemaphoreValueDifference, *ptr,
sizeof(uint64_t));
*ptr += sizeof(uint64_t);
memcpy((VkSampleCountFlags*)&forUnmarshaling->framebufferIntegerColorSampleCounts, *ptr,
sizeof(VkSampleCountFlags));
*ptr += sizeof(VkSampleCountFlags);
}
void reservedunmarshal_VkImageFormatListCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkImageFormatListCreateInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->viewFormatCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pViewFormats,
forUnmarshaling->viewFormatCount * sizeof(const VkFormat));
memcpy((VkFormat*)forUnmarshaling->pViewFormats, *ptr,
forUnmarshaling->viewFormatCount * sizeof(const VkFormat));
*ptr += forUnmarshaling->viewFormatCount * sizeof(const VkFormat);
}
void reservedunmarshal_VkAttachmentDescription2(VulkanStream* vkStream, VkStructureType rootType,
VkAttachmentDescription2* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkAttachmentDescriptionFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkAttachmentDescriptionFlags));
*ptr += sizeof(VkAttachmentDescriptionFlags);
memcpy((VkFormat*)&forUnmarshaling->format, *ptr, sizeof(VkFormat));
*ptr += sizeof(VkFormat);
memcpy((VkSampleCountFlagBits*)&forUnmarshaling->samples, *ptr, sizeof(VkSampleCountFlagBits));
*ptr += sizeof(VkSampleCountFlagBits);
memcpy((VkAttachmentLoadOp*)&forUnmarshaling->loadOp, *ptr, sizeof(VkAttachmentLoadOp));
*ptr += sizeof(VkAttachmentLoadOp);
memcpy((VkAttachmentStoreOp*)&forUnmarshaling->storeOp, *ptr, sizeof(VkAttachmentStoreOp));
*ptr += sizeof(VkAttachmentStoreOp);
memcpy((VkAttachmentLoadOp*)&forUnmarshaling->stencilLoadOp, *ptr, sizeof(VkAttachmentLoadOp));
*ptr += sizeof(VkAttachmentLoadOp);
memcpy((VkAttachmentStoreOp*)&forUnmarshaling->stencilStoreOp, *ptr,
sizeof(VkAttachmentStoreOp));
*ptr += sizeof(VkAttachmentStoreOp);
memcpy((VkImageLayout*)&forUnmarshaling->initialLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
memcpy((VkImageLayout*)&forUnmarshaling->finalLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
}
void reservedunmarshal_VkAttachmentReference2(VulkanStream* vkStream, VkStructureType rootType,
VkAttachmentReference2* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->attachment, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkImageLayout*)&forUnmarshaling->layout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
memcpy((VkImageAspectFlags*)&forUnmarshaling->aspectMask, *ptr, sizeof(VkImageAspectFlags));
*ptr += sizeof(VkImageAspectFlags);
}
void reservedunmarshal_VkSubpassDescription2(VulkanStream* vkStream, VkStructureType rootType,
VkSubpassDescription2* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkSubpassDescriptionFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkSubpassDescriptionFlags));
*ptr += sizeof(VkSubpassDescriptionFlags);
memcpy((VkPipelineBindPoint*)&forUnmarshaling->pipelineBindPoint, *ptr,
sizeof(VkPipelineBindPoint));
*ptr += sizeof(VkPipelineBindPoint);
memcpy((uint32_t*)&forUnmarshaling->viewMask, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->inputAttachmentCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pInputAttachments,
forUnmarshaling->inputAttachmentCount * sizeof(const VkAttachmentReference2));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->inputAttachmentCount; ++i) {
reservedunmarshal_VkAttachmentReference2(
vkStream, rootType, (VkAttachmentReference2*)(forUnmarshaling->pInputAttachments + i),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->colorAttachmentCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pColorAttachments,
forUnmarshaling->colorAttachmentCount * sizeof(const VkAttachmentReference2));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorAttachmentCount; ++i) {
reservedunmarshal_VkAttachmentReference2(
vkStream, rootType, (VkAttachmentReference2*)(forUnmarshaling->pColorAttachments + i),
ptr);
}
// WARNING PTR CHECK
memcpy((VkAttachmentReference2**)&forUnmarshaling->pResolveAttachments, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pResolveAttachments);
*ptr += 8;
if (forUnmarshaling->pResolveAttachments) {
vkStream->alloc(
(void**)&forUnmarshaling->pResolveAttachments,
forUnmarshaling->colorAttachmentCount * sizeof(const VkAttachmentReference2));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorAttachmentCount; ++i) {
reservedunmarshal_VkAttachmentReference2(
vkStream, rootType,
(VkAttachmentReference2*)(forUnmarshaling->pResolveAttachments + i), ptr);
}
}
// WARNING PTR CHECK
memcpy((VkAttachmentReference2**)&forUnmarshaling->pDepthStencilAttachment, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pDepthStencilAttachment);
*ptr += 8;
if (forUnmarshaling->pDepthStencilAttachment) {
vkStream->alloc((void**)&forUnmarshaling->pDepthStencilAttachment,
sizeof(const VkAttachmentReference2));
reservedunmarshal_VkAttachmentReference2(
vkStream, rootType, (VkAttachmentReference2*)(forUnmarshaling->pDepthStencilAttachment),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->preserveAttachmentCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pPreserveAttachments,
forUnmarshaling->preserveAttachmentCount * sizeof(const uint32_t));
memcpy((uint32_t*)forUnmarshaling->pPreserveAttachments, *ptr,
forUnmarshaling->preserveAttachmentCount * sizeof(const uint32_t));
*ptr += forUnmarshaling->preserveAttachmentCount * sizeof(const uint32_t);
}
void reservedunmarshal_VkSubpassDependency2(VulkanStream* vkStream, VkStructureType rootType,
VkSubpassDependency2* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->srcSubpass, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->dstSubpass, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkPipelineStageFlags*)&forUnmarshaling->srcStageMask, *ptr,
sizeof(VkPipelineStageFlags));
*ptr += sizeof(VkPipelineStageFlags);
memcpy((VkPipelineStageFlags*)&forUnmarshaling->dstStageMask, *ptr,
sizeof(VkPipelineStageFlags));
*ptr += sizeof(VkPipelineStageFlags);
memcpy((VkAccessFlags*)&forUnmarshaling->srcAccessMask, *ptr, sizeof(VkAccessFlags));
*ptr += sizeof(VkAccessFlags);
memcpy((VkAccessFlags*)&forUnmarshaling->dstAccessMask, *ptr, sizeof(VkAccessFlags));
*ptr += sizeof(VkAccessFlags);
memcpy((VkDependencyFlags*)&forUnmarshaling->dependencyFlags, *ptr, sizeof(VkDependencyFlags));
*ptr += sizeof(VkDependencyFlags);
memcpy((int32_t*)&forUnmarshaling->viewOffset, *ptr, sizeof(int32_t));
*ptr += sizeof(int32_t);
}
void reservedunmarshal_VkRenderPassCreateInfo2(VulkanStream* vkStream, VkStructureType rootType,
VkRenderPassCreateInfo2* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkRenderPassCreateFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkRenderPassCreateFlags));
*ptr += sizeof(VkRenderPassCreateFlags);
memcpy((uint32_t*)&forUnmarshaling->attachmentCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pAttachments,
forUnmarshaling->attachmentCount * sizeof(const VkAttachmentDescription2));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->attachmentCount; ++i) {
reservedunmarshal_VkAttachmentDescription2(
vkStream, rootType, (VkAttachmentDescription2*)(forUnmarshaling->pAttachments + i),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->subpassCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pSubpasses,
forUnmarshaling->subpassCount * sizeof(const VkSubpassDescription2));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->subpassCount; ++i) {
reservedunmarshal_VkSubpassDescription2(
vkStream, rootType, (VkSubpassDescription2*)(forUnmarshaling->pSubpasses + i), ptr);
}
memcpy((uint32_t*)&forUnmarshaling->dependencyCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pDependencies,
forUnmarshaling->dependencyCount * sizeof(const VkSubpassDependency2));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->dependencyCount; ++i) {
reservedunmarshal_VkSubpassDependency2(
vkStream, rootType, (VkSubpassDependency2*)(forUnmarshaling->pDependencies + i), ptr);
}
memcpy((uint32_t*)&forUnmarshaling->correlatedViewMaskCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pCorrelatedViewMasks,
forUnmarshaling->correlatedViewMaskCount * sizeof(const uint32_t));
memcpy((uint32_t*)forUnmarshaling->pCorrelatedViewMasks, *ptr,
forUnmarshaling->correlatedViewMaskCount * sizeof(const uint32_t));
*ptr += forUnmarshaling->correlatedViewMaskCount * sizeof(const uint32_t);
}
void reservedunmarshal_VkSubpassBeginInfo(VulkanStream* vkStream, VkStructureType rootType,
VkSubpassBeginInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkSubpassContents*)&forUnmarshaling->contents, *ptr, sizeof(VkSubpassContents));
*ptr += sizeof(VkSubpassContents);
}
void reservedunmarshal_VkSubpassEndInfo(VulkanStream* vkStream, VkStructureType rootType,
VkSubpassEndInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
}
void reservedunmarshal_VkPhysicalDevice8BitStorageFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDevice8BitStorageFeatures* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->storageBuffer8BitAccess, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->uniformAndStorageBuffer8BitAccess, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->storagePushConstant8, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceDriverProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceDriverProperties* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkDriverId*)&forUnmarshaling->driverID, *ptr, sizeof(VkDriverId));
*ptr += sizeof(VkDriverId);
memcpy((char*)forUnmarshaling->driverName, *ptr, VK_MAX_DRIVER_NAME_SIZE * sizeof(char));
*ptr += VK_MAX_DRIVER_NAME_SIZE * sizeof(char);
memcpy((char*)forUnmarshaling->driverInfo, *ptr, VK_MAX_DRIVER_INFO_SIZE * sizeof(char));
*ptr += VK_MAX_DRIVER_INFO_SIZE * sizeof(char);
reservedunmarshal_VkConformanceVersion(
vkStream, rootType, (VkConformanceVersion*)(&forUnmarshaling->conformanceVersion), ptr);
}
void reservedunmarshal_VkPhysicalDeviceShaderAtomicInt64Features(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceShaderAtomicInt64Features* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->shaderBufferInt64Atomics, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderSharedInt64Atomics, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceShaderFloat16Int8Features(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceShaderFloat16Int8Features* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->shaderFloat16, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderInt8, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceFloatControlsProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceFloatControlsProperties* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkShaderFloatControlsIndependence*)&forUnmarshaling->denormBehaviorIndependence, *ptr,
sizeof(VkShaderFloatControlsIndependence));
*ptr += sizeof(VkShaderFloatControlsIndependence);
memcpy((VkShaderFloatControlsIndependence*)&forUnmarshaling->roundingModeIndependence, *ptr,
sizeof(VkShaderFloatControlsIndependence));
*ptr += sizeof(VkShaderFloatControlsIndependence);
memcpy((VkBool32*)&forUnmarshaling->shaderSignedZeroInfNanPreserveFloat16, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderSignedZeroInfNanPreserveFloat32, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderSignedZeroInfNanPreserveFloat64, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderDenormPreserveFloat16, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderDenormPreserveFloat32, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderDenormPreserveFloat64, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderDenormFlushToZeroFloat16, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderDenormFlushToZeroFloat32, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderDenormFlushToZeroFloat64, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderRoundingModeRTEFloat16, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderRoundingModeRTEFloat32, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderRoundingModeRTEFloat64, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderRoundingModeRTZFloat16, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderRoundingModeRTZFloat32, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderRoundingModeRTZFloat64, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkDescriptorSetLayoutBindingFlagsCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkDescriptorSetLayoutBindingFlagsCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->bindingCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
// WARNING PTR CHECK
memcpy((VkDescriptorBindingFlags**)&forUnmarshaling->pBindingFlags, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pBindingFlags);
*ptr += 8;
if (forUnmarshaling->pBindingFlags) {
vkStream->alloc((void**)&forUnmarshaling->pBindingFlags,
forUnmarshaling->bindingCount * sizeof(const VkDescriptorBindingFlags));
memcpy((VkDescriptorBindingFlags*)forUnmarshaling->pBindingFlags, *ptr,
forUnmarshaling->bindingCount * sizeof(const VkDescriptorBindingFlags));
*ptr += forUnmarshaling->bindingCount * sizeof(const VkDescriptorBindingFlags);
}
}
void reservedunmarshal_VkPhysicalDeviceDescriptorIndexingFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceDescriptorIndexingFeatures* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->shaderInputAttachmentArrayDynamicIndexing, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderUniformTexelBufferArrayDynamicIndexing, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderStorageTexelBufferArrayDynamicIndexing, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderUniformBufferArrayNonUniformIndexing, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderSampledImageArrayNonUniformIndexing, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderStorageBufferArrayNonUniformIndexing, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderStorageImageArrayNonUniformIndexing, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderInputAttachmentArrayNonUniformIndexing, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderUniformTexelBufferArrayNonUniformIndexing, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderStorageTexelBufferArrayNonUniformIndexing, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->descriptorBindingUniformBufferUpdateAfterBind, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->descriptorBindingSampledImageUpdateAfterBind, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->descriptorBindingStorageImageUpdateAfterBind, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->descriptorBindingStorageBufferUpdateAfterBind, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->descriptorBindingUniformTexelBufferUpdateAfterBind, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->descriptorBindingStorageTexelBufferUpdateAfterBind, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->descriptorBindingUpdateUnusedWhilePending, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->descriptorBindingPartiallyBound, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->descriptorBindingVariableDescriptorCount, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->runtimeDescriptorArray, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceDescriptorIndexingProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceDescriptorIndexingProperties* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->maxUpdateAfterBindDescriptorsInAllPools, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkBool32*)&forUnmarshaling->shaderUniformBufferArrayNonUniformIndexingNative, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderSampledImageArrayNonUniformIndexingNative, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderStorageBufferArrayNonUniformIndexingNative, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderStorageImageArrayNonUniformIndexingNative, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderInputAttachmentArrayNonUniformIndexingNative, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->robustBufferAccessUpdateAfterBind, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->quadDivergentImplicitLod, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindSamplers, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindUniformBuffers, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindStorageBuffers, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindSampledImages, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindStorageImages, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindInputAttachments, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxPerStageUpdateAfterBindResources, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindSamplers, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindUniformBuffers, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageBuffers, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindSampledImages, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageImages, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindInputAttachments, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkDescriptorSetVariableDescriptorCountAllocateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkDescriptorSetVariableDescriptorCountAllocateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->descriptorSetCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pDescriptorCounts,
forUnmarshaling->descriptorSetCount * sizeof(const uint32_t));
memcpy((uint32_t*)forUnmarshaling->pDescriptorCounts, *ptr,
forUnmarshaling->descriptorSetCount * sizeof(const uint32_t));
*ptr += forUnmarshaling->descriptorSetCount * sizeof(const uint32_t);
}
void reservedunmarshal_VkDescriptorSetVariableDescriptorCountLayoutSupport(
VulkanStream* vkStream, VkStructureType rootType,
VkDescriptorSetVariableDescriptorCountLayoutSupport* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->maxVariableDescriptorCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkSubpassDescriptionDepthStencilResolve(
VulkanStream* vkStream, VkStructureType rootType,
VkSubpassDescriptionDepthStencilResolve* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkResolveModeFlagBits*)&forUnmarshaling->depthResolveMode, *ptr,
sizeof(VkResolveModeFlagBits));
*ptr += sizeof(VkResolveModeFlagBits);
memcpy((VkResolveModeFlagBits*)&forUnmarshaling->stencilResolveMode, *ptr,
sizeof(VkResolveModeFlagBits));
*ptr += sizeof(VkResolveModeFlagBits);
// WARNING PTR CHECK
memcpy((VkAttachmentReference2**)&forUnmarshaling->pDepthStencilResolveAttachment, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pDepthStencilResolveAttachment);
*ptr += 8;
if (forUnmarshaling->pDepthStencilResolveAttachment) {
vkStream->alloc((void**)&forUnmarshaling->pDepthStencilResolveAttachment,
sizeof(const VkAttachmentReference2));
reservedunmarshal_VkAttachmentReference2(
vkStream, rootType,
(VkAttachmentReference2*)(forUnmarshaling->pDepthStencilResolveAttachment), ptr);
}
}
void reservedunmarshal_VkPhysicalDeviceDepthStencilResolveProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceDepthStencilResolveProperties* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkResolveModeFlags*)&forUnmarshaling->supportedDepthResolveModes, *ptr,
sizeof(VkResolveModeFlags));
*ptr += sizeof(VkResolveModeFlags);
memcpy((VkResolveModeFlags*)&forUnmarshaling->supportedStencilResolveModes, *ptr,
sizeof(VkResolveModeFlags));
*ptr += sizeof(VkResolveModeFlags);
memcpy((VkBool32*)&forUnmarshaling->independentResolveNone, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->independentResolve, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceScalarBlockLayoutFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceScalarBlockLayoutFeatures* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->scalarBlockLayout, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkImageStencilUsageCreateInfo(VulkanStream* vkStream,
VkStructureType rootType,
VkImageStencilUsageCreateInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkImageUsageFlags*)&forUnmarshaling->stencilUsage, *ptr, sizeof(VkImageUsageFlags));
*ptr += sizeof(VkImageUsageFlags);
}
void reservedunmarshal_VkSamplerReductionModeCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkSamplerReductionModeCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkSamplerReductionMode*)&forUnmarshaling->reductionMode, *ptr,
sizeof(VkSamplerReductionMode));
*ptr += sizeof(VkSamplerReductionMode);
}
void reservedunmarshal_VkPhysicalDeviceSamplerFilterMinmaxProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceSamplerFilterMinmaxProperties* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->filterMinmaxSingleComponentFormats, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->filterMinmaxImageComponentMapping, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceVulkanMemoryModelFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceVulkanMemoryModelFeatures* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->vulkanMemoryModel, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->vulkanMemoryModelDeviceScope, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->vulkanMemoryModelAvailabilityVisibilityChains, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceImagelessFramebufferFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceImagelessFramebufferFeatures* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->imagelessFramebuffer, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkFramebufferAttachmentImageInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkFramebufferAttachmentImageInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkImageCreateFlags*)&forUnmarshaling->flags, *ptr, sizeof(VkImageCreateFlags));
*ptr += sizeof(VkImageCreateFlags);
memcpy((VkImageUsageFlags*)&forUnmarshaling->usage, *ptr, sizeof(VkImageUsageFlags));
*ptr += sizeof(VkImageUsageFlags);
memcpy((uint32_t*)&forUnmarshaling->width, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->height, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->layerCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->viewFormatCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pViewFormats,
forUnmarshaling->viewFormatCount * sizeof(const VkFormat));
memcpy((VkFormat*)forUnmarshaling->pViewFormats, *ptr,
forUnmarshaling->viewFormatCount * sizeof(const VkFormat));
*ptr += forUnmarshaling->viewFormatCount * sizeof(const VkFormat);
}
void reservedunmarshal_VkFramebufferAttachmentsCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkFramebufferAttachmentsCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->attachmentImageInfoCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc(
(void**)&forUnmarshaling->pAttachmentImageInfos,
forUnmarshaling->attachmentImageInfoCount * sizeof(const VkFramebufferAttachmentImageInfo));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->attachmentImageInfoCount; ++i) {
reservedunmarshal_VkFramebufferAttachmentImageInfo(
vkStream, rootType,
(VkFramebufferAttachmentImageInfo*)(forUnmarshaling->pAttachmentImageInfos + i), ptr);
}
}
void reservedunmarshal_VkRenderPassAttachmentBeginInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkRenderPassAttachmentBeginInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->attachmentCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pAttachments,
forUnmarshaling->attachmentCount * sizeof(const VkImageView));
if (forUnmarshaling->attachmentCount) {
uint8_t* cgen_var_0_ptr = (uint8_t*)(*ptr);
*ptr += 8 * forUnmarshaling->attachmentCount;
if (forUnmarshaling) {
for (uint32_t k = 0; k < forUnmarshaling->attachmentCount; ++k) {
uint64_t tmpval;
memcpy(&tmpval, cgen_var_0_ptr + k * 8, sizeof(uint64_t));
*(((VkImageView*)forUnmarshaling->pAttachments) + k) =
(VkImageView)unbox_VkImageView((VkImageView)tmpval);
}
}
}
}
void reservedunmarshal_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceUniformBufferStandardLayoutFeatures* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->uniformBufferStandardLayout, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->shaderSubgroupExtendedTypes, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->separateDepthStencilLayouts, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkAttachmentReferenceStencilLayout(
VulkanStream* vkStream, VkStructureType rootType,
VkAttachmentReferenceStencilLayout* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkImageLayout*)&forUnmarshaling->stencilLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
}
void reservedunmarshal_VkAttachmentDescriptionStencilLayout(
VulkanStream* vkStream, VkStructureType rootType,
VkAttachmentDescriptionStencilLayout* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkImageLayout*)&forUnmarshaling->stencilInitialLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
memcpy((VkImageLayout*)&forUnmarshaling->stencilFinalLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
}
void reservedunmarshal_VkPhysicalDeviceHostQueryResetFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceHostQueryResetFeatures* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->hostQueryReset, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceTimelineSemaphoreFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceTimelineSemaphoreFeatures* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->timelineSemaphore, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceTimelineSemaphoreProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceTimelineSemaphoreProperties* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint64_t*)&forUnmarshaling->maxTimelineSemaphoreValueDifference, *ptr,
sizeof(uint64_t));
*ptr += sizeof(uint64_t);
}
void reservedunmarshal_VkSemaphoreTypeCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkSemaphoreTypeCreateInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkSemaphoreType*)&forUnmarshaling->semaphoreType, *ptr, sizeof(VkSemaphoreType));
*ptr += sizeof(VkSemaphoreType);
memcpy((uint64_t*)&forUnmarshaling->initialValue, *ptr, sizeof(uint64_t));
*ptr += sizeof(uint64_t);
}
void reservedunmarshal_VkTimelineSemaphoreSubmitInfo(VulkanStream* vkStream,
VkStructureType rootType,
VkTimelineSemaphoreSubmitInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->waitSemaphoreValueCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
// WARNING PTR CHECK
memcpy((uint64_t**)&forUnmarshaling->pWaitSemaphoreValues, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pWaitSemaphoreValues);
*ptr += 8;
if (forUnmarshaling->pWaitSemaphoreValues) {
vkStream->alloc((void**)&forUnmarshaling->pWaitSemaphoreValues,
forUnmarshaling->waitSemaphoreValueCount * sizeof(const uint64_t));
memcpy((uint64_t*)forUnmarshaling->pWaitSemaphoreValues, *ptr,
forUnmarshaling->waitSemaphoreValueCount * sizeof(const uint64_t));
*ptr += forUnmarshaling->waitSemaphoreValueCount * sizeof(const uint64_t);
}
memcpy((uint32_t*)&forUnmarshaling->signalSemaphoreValueCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
// WARNING PTR CHECK
memcpy((uint64_t**)&forUnmarshaling->pSignalSemaphoreValues, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pSignalSemaphoreValues);
*ptr += 8;
if (forUnmarshaling->pSignalSemaphoreValues) {
vkStream->alloc((void**)&forUnmarshaling->pSignalSemaphoreValues,
forUnmarshaling->signalSemaphoreValueCount * sizeof(const uint64_t));
memcpy((uint64_t*)forUnmarshaling->pSignalSemaphoreValues, *ptr,
forUnmarshaling->signalSemaphoreValueCount * sizeof(const uint64_t));
*ptr += forUnmarshaling->signalSemaphoreValueCount * sizeof(const uint64_t);
}
}
void reservedunmarshal_VkSemaphoreWaitInfo(VulkanStream* vkStream, VkStructureType rootType,
VkSemaphoreWaitInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkSemaphoreWaitFlags*)&forUnmarshaling->flags, *ptr, sizeof(VkSemaphoreWaitFlags));
*ptr += sizeof(VkSemaphoreWaitFlags);
memcpy((uint32_t*)&forUnmarshaling->semaphoreCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pSemaphores,
forUnmarshaling->semaphoreCount * sizeof(const VkSemaphore));
if (forUnmarshaling->semaphoreCount) {
uint8_t* cgen_var_0_ptr = (uint8_t*)(*ptr);
*ptr += 8 * forUnmarshaling->semaphoreCount;
if (forUnmarshaling) {
for (uint32_t k = 0; k < forUnmarshaling->semaphoreCount; ++k) {
uint64_t tmpval;
memcpy(&tmpval, cgen_var_0_ptr + k * 8, sizeof(uint64_t));
*(((VkSemaphore*)forUnmarshaling->pSemaphores) + k) =
(VkSemaphore)unbox_VkSemaphore((VkSemaphore)tmpval);
}
}
}
vkStream->alloc((void**)&forUnmarshaling->pValues,
forUnmarshaling->semaphoreCount * sizeof(const uint64_t));
memcpy((uint64_t*)forUnmarshaling->pValues, *ptr,
forUnmarshaling->semaphoreCount * sizeof(const uint64_t));
*ptr += forUnmarshaling->semaphoreCount * sizeof(const uint64_t);
}
void reservedunmarshal_VkSemaphoreSignalInfo(VulkanStream* vkStream, VkStructureType rootType,
VkSemaphoreSignalInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkSemaphore*)&forUnmarshaling->semaphore =
(VkSemaphore)unbox_VkSemaphore((VkSemaphore)(*&cgen_var_0));
memcpy((uint64_t*)&forUnmarshaling->value, *ptr, sizeof(uint64_t));
*ptr += sizeof(uint64_t);
}
void reservedunmarshal_VkPhysicalDeviceBufferDeviceAddressFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceBufferDeviceAddressFeatures* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->bufferDeviceAddress, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->bufferDeviceAddressCaptureReplay, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->bufferDeviceAddressMultiDevice, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkBufferDeviceAddressInfo(VulkanStream* vkStream, VkStructureType rootType,
VkBufferDeviceAddressInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkBuffer*)&forUnmarshaling->buffer = (VkBuffer)unbox_VkBuffer((VkBuffer)(*&cgen_var_0));
}
void reservedunmarshal_VkBufferOpaqueCaptureAddressCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkBufferOpaqueCaptureAddressCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint64_t*)&forUnmarshaling->opaqueCaptureAddress, *ptr, sizeof(uint64_t));
*ptr += sizeof(uint64_t);
}
void reservedunmarshal_VkMemoryOpaqueCaptureAddressAllocateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkMemoryOpaqueCaptureAddressAllocateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint64_t*)&forUnmarshaling->opaqueCaptureAddress, *ptr, sizeof(uint64_t));
*ptr += sizeof(uint64_t);
}
void reservedunmarshal_VkDeviceMemoryOpaqueCaptureAddressInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkDeviceMemoryOpaqueCaptureAddressInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkDeviceMemory*)&forUnmarshaling->memory =
(VkDeviceMemory)unbox_VkDeviceMemory((VkDeviceMemory)(*&cgen_var_0));
}
#endif
#ifdef VK_VERSION_1_3
void reservedunmarshal_VkPhysicalDeviceVulkan13Features(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceVulkan13Features* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->robustImageAccess, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->inlineUniformBlock, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->descriptorBindingInlineUniformBlockUpdateAfterBind, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->pipelineCreationCacheControl, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->privateData, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderDemoteToHelperInvocation, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderTerminateInvocation, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->subgroupSizeControl, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->computeFullSubgroups, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->synchronization2, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->textureCompressionASTC_HDR, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderZeroInitializeWorkgroupMemory, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->dynamicRendering, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->shaderIntegerDotProduct, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->maintenance4, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceVulkan13Properties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceVulkan13Properties* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->minSubgroupSize, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxSubgroupSize, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxComputeWorkgroupSubgroups, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkShaderStageFlags*)&forUnmarshaling->requiredSubgroupSizeStages, *ptr,
sizeof(VkShaderStageFlags));
*ptr += sizeof(VkShaderStageFlags);
memcpy((uint32_t*)&forUnmarshaling->maxInlineUniformBlockSize, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxPerStageDescriptorInlineUniformBlocks, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks,
*ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDescriptorSetInlineUniformBlocks, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindInlineUniformBlocks, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxInlineUniformTotalSize, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct8BitUnsignedAccelerated, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct8BitSignedAccelerated, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct8BitMixedSignednessAccelerated, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct4x8BitPackedUnsignedAccelerated, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct4x8BitPackedSignedAccelerated, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct4x8BitPackedMixedSignednessAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct16BitUnsignedAccelerated, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct16BitSignedAccelerated, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct16BitMixedSignednessAccelerated, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct32BitUnsignedAccelerated, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct32BitSignedAccelerated, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct32BitMixedSignednessAccelerated, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct64BitUnsignedAccelerated, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct64BitSignedAccelerated, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct64BitMixedSignednessAccelerated, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy(
(VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy(
(VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating8BitSignedAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling
->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling
->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling
->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling
->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling
->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy(
(VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating16BitSignedAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling
->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling
->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy(
(VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating32BitSignedAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling
->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling
->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy(
(VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating64BitSignedAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling
->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkDeviceSize*)&forUnmarshaling->storageTexelBufferOffsetAlignmentBytes, *ptr,
sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkBool32*)&forUnmarshaling->storageTexelBufferOffsetSingleTexelAlignment, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkDeviceSize*)&forUnmarshaling->uniformTexelBufferOffsetAlignmentBytes, *ptr,
sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkBool32*)&forUnmarshaling->uniformTexelBufferOffsetSingleTexelAlignment, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkDeviceSize*)&forUnmarshaling->maxBufferSize, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
}
void reservedunmarshal_VkPipelineCreationFeedback(VulkanStream* vkStream, VkStructureType rootType,
VkPipelineCreationFeedback* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkPipelineCreationFeedbackFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkPipelineCreationFeedbackFlags));
*ptr += sizeof(VkPipelineCreationFeedbackFlags);
memcpy((uint64_t*)&forUnmarshaling->duration, *ptr, sizeof(uint64_t));
*ptr += sizeof(uint64_t);
}
void reservedunmarshal_VkPipelineCreationFeedbackCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineCreationFeedbackCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
vkStream->alloc((void**)&forUnmarshaling->pPipelineCreationFeedback,
sizeof(VkPipelineCreationFeedback));
reservedunmarshal_VkPipelineCreationFeedback(
vkStream, rootType,
(VkPipelineCreationFeedback*)(forUnmarshaling->pPipelineCreationFeedback), ptr);
memcpy((uint32_t*)&forUnmarshaling->pipelineStageCreationFeedbackCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc(
(void**)&forUnmarshaling->pPipelineStageCreationFeedbacks,
forUnmarshaling->pipelineStageCreationFeedbackCount * sizeof(VkPipelineCreationFeedback));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->pipelineStageCreationFeedbackCount; ++i) {
reservedunmarshal_VkPipelineCreationFeedback(
vkStream, rootType,
(VkPipelineCreationFeedback*)(forUnmarshaling->pPipelineStageCreationFeedbacks + i),
ptr);
}
}
void reservedunmarshal_VkPhysicalDeviceShaderTerminateInvocationFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceShaderTerminateInvocationFeatures* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->shaderTerminateInvocation, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceToolProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceToolProperties* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((char*)forUnmarshaling->name, *ptr, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
*ptr += VK_MAX_EXTENSION_NAME_SIZE * sizeof(char);
memcpy((char*)forUnmarshaling->version, *ptr, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
*ptr += VK_MAX_EXTENSION_NAME_SIZE * sizeof(char);
memcpy((VkToolPurposeFlags*)&forUnmarshaling->purposes, *ptr, sizeof(VkToolPurposeFlags));
*ptr += sizeof(VkToolPurposeFlags);
memcpy((char*)forUnmarshaling->description, *ptr, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
*ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
memcpy((char*)forUnmarshaling->layer, *ptr, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
*ptr += VK_MAX_EXTENSION_NAME_SIZE * sizeof(char);
}
void reservedunmarshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->shaderDemoteToHelperInvocation, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDevicePrivateDataFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDevicePrivateDataFeatures* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->privateData, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkDevicePrivateDataCreateInfo(VulkanStream* vkStream,
VkStructureType rootType,
VkDevicePrivateDataCreateInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->privateDataSlotRequestCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkPrivateDataSlotCreateInfo(VulkanStream* vkStream, VkStructureType rootType,
VkPrivateDataSlotCreateInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkPrivateDataSlotCreateFlags*)&forUnmarshaling->flags, *ptr,
sizeof(VkPrivateDataSlotCreateFlags));
*ptr += sizeof(VkPrivateDataSlotCreateFlags);
}
void reservedunmarshal_VkPhysicalDevicePipelineCreationCacheControlFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDevicePipelineCreationCacheControlFeatures* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->pipelineCreationCacheControl, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkMemoryBarrier2(VulkanStream* vkStream, VkStructureType rootType,
VkMemoryBarrier2* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkPipelineStageFlags2*)&forUnmarshaling->srcStageMask, *ptr,
sizeof(VkPipelineStageFlags2));
*ptr += sizeof(VkPipelineStageFlags2);
memcpy((VkAccessFlags2*)&forUnmarshaling->srcAccessMask, *ptr, sizeof(VkAccessFlags2));
*ptr += sizeof(VkAccessFlags2);
memcpy((VkPipelineStageFlags2*)&forUnmarshaling->dstStageMask, *ptr,
sizeof(VkPipelineStageFlags2));
*ptr += sizeof(VkPipelineStageFlags2);
memcpy((VkAccessFlags2*)&forUnmarshaling->dstAccessMask, *ptr, sizeof(VkAccessFlags2));
*ptr += sizeof(VkAccessFlags2);
}
void reservedunmarshal_VkBufferMemoryBarrier2(VulkanStream* vkStream, VkStructureType rootType,
VkBufferMemoryBarrier2* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkPipelineStageFlags2*)&forUnmarshaling->srcStageMask, *ptr,
sizeof(VkPipelineStageFlags2));
*ptr += sizeof(VkPipelineStageFlags2);
memcpy((VkAccessFlags2*)&forUnmarshaling->srcAccessMask, *ptr, sizeof(VkAccessFlags2));
*ptr += sizeof(VkAccessFlags2);
memcpy((VkPipelineStageFlags2*)&forUnmarshaling->dstStageMask, *ptr,
sizeof(VkPipelineStageFlags2));
*ptr += sizeof(VkPipelineStageFlags2);
memcpy((VkAccessFlags2*)&forUnmarshaling->dstAccessMask, *ptr, sizeof(VkAccessFlags2));
*ptr += sizeof(VkAccessFlags2);
memcpy((uint32_t*)&forUnmarshaling->srcQueueFamilyIndex, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->dstQueueFamilyIndex, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkBuffer*)&forUnmarshaling->buffer = (VkBuffer)unbox_VkBuffer((VkBuffer)(*&cgen_var_0));
memcpy((VkDeviceSize*)&forUnmarshaling->offset, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkDeviceSize*)&forUnmarshaling->size, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
}
void reservedunmarshal_VkImageMemoryBarrier2(VulkanStream* vkStream, VkStructureType rootType,
VkImageMemoryBarrier2* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkPipelineStageFlags2*)&forUnmarshaling->srcStageMask, *ptr,
sizeof(VkPipelineStageFlags2));
*ptr += sizeof(VkPipelineStageFlags2);
memcpy((VkAccessFlags2*)&forUnmarshaling->srcAccessMask, *ptr, sizeof(VkAccessFlags2));
*ptr += sizeof(VkAccessFlags2);
memcpy((VkPipelineStageFlags2*)&forUnmarshaling->dstStageMask, *ptr,
sizeof(VkPipelineStageFlags2));
*ptr += sizeof(VkPipelineStageFlags2);
memcpy((VkAccessFlags2*)&forUnmarshaling->dstAccessMask, *ptr, sizeof(VkAccessFlags2));
*ptr += sizeof(VkAccessFlags2);
memcpy((VkImageLayout*)&forUnmarshaling->oldLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
memcpy((VkImageLayout*)&forUnmarshaling->newLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
memcpy((uint32_t*)&forUnmarshaling->srcQueueFamilyIndex, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->dstQueueFamilyIndex, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkImage*)&forUnmarshaling->image = (VkImage)unbox_VkImage((VkImage)(*&cgen_var_0));
reservedunmarshal_VkImageSubresourceRange(
vkStream, rootType, (VkImageSubresourceRange*)(&forUnmarshaling->subresourceRange), ptr);
}
void reservedunmarshal_VkDependencyInfo(VulkanStream* vkStream, VkStructureType rootType,
VkDependencyInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkDependencyFlags*)&forUnmarshaling->dependencyFlags, *ptr, sizeof(VkDependencyFlags));
*ptr += sizeof(VkDependencyFlags);
memcpy((uint32_t*)&forUnmarshaling->memoryBarrierCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pMemoryBarriers,
forUnmarshaling->memoryBarrierCount * sizeof(const VkMemoryBarrier2));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->memoryBarrierCount; ++i) {
reservedunmarshal_VkMemoryBarrier2(
vkStream, rootType, (VkMemoryBarrier2*)(forUnmarshaling->pMemoryBarriers + i), ptr);
}
memcpy((uint32_t*)&forUnmarshaling->bufferMemoryBarrierCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc(
(void**)&forUnmarshaling->pBufferMemoryBarriers,
forUnmarshaling->bufferMemoryBarrierCount * sizeof(const VkBufferMemoryBarrier2));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bufferMemoryBarrierCount; ++i) {
reservedunmarshal_VkBufferMemoryBarrier2(
vkStream, rootType,
(VkBufferMemoryBarrier2*)(forUnmarshaling->pBufferMemoryBarriers + i), ptr);
}
memcpy((uint32_t*)&forUnmarshaling->imageMemoryBarrierCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pImageMemoryBarriers,
forUnmarshaling->imageMemoryBarrierCount * sizeof(const VkImageMemoryBarrier2));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->imageMemoryBarrierCount; ++i) {
reservedunmarshal_VkImageMemoryBarrier2(
vkStream, rootType, (VkImageMemoryBarrier2*)(forUnmarshaling->pImageMemoryBarriers + i),
ptr);
}
}
void reservedunmarshal_VkSemaphoreSubmitInfo(VulkanStream* vkStream, VkStructureType rootType,
VkSemaphoreSubmitInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkSemaphore*)&forUnmarshaling->semaphore =
(VkSemaphore)unbox_VkSemaphore((VkSemaphore)(*&cgen_var_0));
memcpy((uint64_t*)&forUnmarshaling->value, *ptr, sizeof(uint64_t));
*ptr += sizeof(uint64_t);
memcpy((VkPipelineStageFlags2*)&forUnmarshaling->stageMask, *ptr,
sizeof(VkPipelineStageFlags2));
*ptr += sizeof(VkPipelineStageFlags2);
memcpy((uint32_t*)&forUnmarshaling->deviceIndex, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkCommandBufferSubmitInfo(VulkanStream* vkStream, VkStructureType rootType,
VkCommandBufferSubmitInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkCommandBuffer*)&forUnmarshaling->commandBuffer =
(VkCommandBuffer)unbox_VkCommandBuffer((VkCommandBuffer)(*&cgen_var_0));
memcpy((uint32_t*)&forUnmarshaling->deviceMask, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkSubmitInfo2(VulkanStream* vkStream, VkStructureType rootType,
VkSubmitInfo2* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkSubmitFlags*)&forUnmarshaling->flags, *ptr, sizeof(VkSubmitFlags));
*ptr += sizeof(VkSubmitFlags);
memcpy((uint32_t*)&forUnmarshaling->waitSemaphoreInfoCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pWaitSemaphoreInfos,
forUnmarshaling->waitSemaphoreInfoCount * sizeof(const VkSemaphoreSubmitInfo));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->waitSemaphoreInfoCount; ++i) {
reservedunmarshal_VkSemaphoreSubmitInfo(
vkStream, rootType, (VkSemaphoreSubmitInfo*)(forUnmarshaling->pWaitSemaphoreInfos + i),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->commandBufferInfoCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc(
(void**)&forUnmarshaling->pCommandBufferInfos,
forUnmarshaling->commandBufferInfoCount * sizeof(const VkCommandBufferSubmitInfo));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->commandBufferInfoCount; ++i) {
reservedunmarshal_VkCommandBufferSubmitInfo(
vkStream, rootType,
(VkCommandBufferSubmitInfo*)(forUnmarshaling->pCommandBufferInfos + i), ptr);
}
memcpy((uint32_t*)&forUnmarshaling->signalSemaphoreInfoCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc(
(void**)&forUnmarshaling->pSignalSemaphoreInfos,
forUnmarshaling->signalSemaphoreInfoCount * sizeof(const VkSemaphoreSubmitInfo));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->signalSemaphoreInfoCount; ++i) {
reservedunmarshal_VkSemaphoreSubmitInfo(
vkStream, rootType,
(VkSemaphoreSubmitInfo*)(forUnmarshaling->pSignalSemaphoreInfos + i), ptr);
}
}
void reservedunmarshal_VkPhysicalDeviceSynchronization2Features(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceSynchronization2Features* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->synchronization2, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->shaderZeroInitializeWorkgroupMemory, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceImageRobustnessFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceImageRobustnessFeatures* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->robustImageAccess, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkBufferCopy2(VulkanStream* vkStream, VkStructureType rootType,
VkBufferCopy2* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkDeviceSize*)&forUnmarshaling->srcOffset, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkDeviceSize*)&forUnmarshaling->dstOffset, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkDeviceSize*)&forUnmarshaling->size, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
}
void reservedunmarshal_VkCopyBufferInfo2(VulkanStream* vkStream, VkStructureType rootType,
VkCopyBufferInfo2* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkBuffer*)&forUnmarshaling->srcBuffer = (VkBuffer)unbox_VkBuffer((VkBuffer)(*&cgen_var_0));
uint64_t cgen_var_1;
memcpy((uint64_t*)&cgen_var_1, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkBuffer*)&forUnmarshaling->dstBuffer = (VkBuffer)unbox_VkBuffer((VkBuffer)(*&cgen_var_1));
memcpy((uint32_t*)&forUnmarshaling->regionCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pRegions,
forUnmarshaling->regionCount * sizeof(const VkBufferCopy2));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) {
reservedunmarshal_VkBufferCopy2(vkStream, rootType,
(VkBufferCopy2*)(forUnmarshaling->pRegions + i), ptr);
}
}
void reservedunmarshal_VkImageCopy2(VulkanStream* vkStream, VkStructureType rootType,
VkImageCopy2* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
reservedunmarshal_VkImageSubresourceLayers(
vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource), ptr);
reservedunmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->srcOffset),
ptr);
reservedunmarshal_VkImageSubresourceLayers(
vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource), ptr);
reservedunmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->dstOffset),
ptr);
reservedunmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->extent), ptr);
}
void reservedunmarshal_VkCopyImageInfo2(VulkanStream* vkStream, VkStructureType rootType,
VkCopyImageInfo2* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkImage*)&forUnmarshaling->srcImage = (VkImage)unbox_VkImage((VkImage)(*&cgen_var_0));
memcpy((VkImageLayout*)&forUnmarshaling->srcImageLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
uint64_t cgen_var_1;
memcpy((uint64_t*)&cgen_var_1, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkImage*)&forUnmarshaling->dstImage = (VkImage)unbox_VkImage((VkImage)(*&cgen_var_1));
memcpy((VkImageLayout*)&forUnmarshaling->dstImageLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
memcpy((uint32_t*)&forUnmarshaling->regionCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pRegions,
forUnmarshaling->regionCount * sizeof(const VkImageCopy2));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) {
reservedunmarshal_VkImageCopy2(vkStream, rootType,
(VkImageCopy2*)(forUnmarshaling->pRegions + i), ptr);
}
}
void reservedunmarshal_VkBufferImageCopy2(VulkanStream* vkStream, VkStructureType rootType,
VkBufferImageCopy2* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkDeviceSize*)&forUnmarshaling->bufferOffset, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((uint32_t*)&forUnmarshaling->bufferRowLength, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->bufferImageHeight, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
reservedunmarshal_VkImageSubresourceLayers(
vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->imageSubresource), ptr);
reservedunmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->imageOffset),
ptr);
reservedunmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->imageExtent),
ptr);
}
void reservedunmarshal_VkCopyBufferToImageInfo2(VulkanStream* vkStream, VkStructureType rootType,
VkCopyBufferToImageInfo2* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkBuffer*)&forUnmarshaling->srcBuffer = (VkBuffer)unbox_VkBuffer((VkBuffer)(*&cgen_var_0));
uint64_t cgen_var_1;
memcpy((uint64_t*)&cgen_var_1, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkImage*)&forUnmarshaling->dstImage = (VkImage)unbox_VkImage((VkImage)(*&cgen_var_1));
memcpy((VkImageLayout*)&forUnmarshaling->dstImageLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
memcpy((uint32_t*)&forUnmarshaling->regionCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pRegions,
forUnmarshaling->regionCount * sizeof(const VkBufferImageCopy2));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) {
reservedunmarshal_VkBufferImageCopy2(
vkStream, rootType, (VkBufferImageCopy2*)(forUnmarshaling->pRegions + i), ptr);
}
}
void reservedunmarshal_VkCopyImageToBufferInfo2(VulkanStream* vkStream, VkStructureType rootType,
VkCopyImageToBufferInfo2* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkImage*)&forUnmarshaling->srcImage = (VkImage)unbox_VkImage((VkImage)(*&cgen_var_0));
memcpy((VkImageLayout*)&forUnmarshaling->srcImageLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
uint64_t cgen_var_1;
memcpy((uint64_t*)&cgen_var_1, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkBuffer*)&forUnmarshaling->dstBuffer = (VkBuffer)unbox_VkBuffer((VkBuffer)(*&cgen_var_1));
memcpy((uint32_t*)&forUnmarshaling->regionCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pRegions,
forUnmarshaling->regionCount * sizeof(const VkBufferImageCopy2));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) {
reservedunmarshal_VkBufferImageCopy2(
vkStream, rootType, (VkBufferImageCopy2*)(forUnmarshaling->pRegions + i), ptr);
}
}
void reservedunmarshal_VkImageBlit2(VulkanStream* vkStream, VkStructureType rootType,
VkImageBlit2* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
reservedunmarshal_VkImageSubresourceLayers(
vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource), ptr);
for (uint32_t i = 0; i < (uint32_t)2; ++i) {
reservedunmarshal_VkOffset3D(vkStream, rootType,
(VkOffset3D*)(forUnmarshaling->srcOffsets + i), ptr);
}
reservedunmarshal_VkImageSubresourceLayers(
vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource), ptr);
for (uint32_t i = 0; i < (uint32_t)2; ++i) {
reservedunmarshal_VkOffset3D(vkStream, rootType,
(VkOffset3D*)(forUnmarshaling->dstOffsets + i), ptr);
}
}
void reservedunmarshal_VkBlitImageInfo2(VulkanStream* vkStream, VkStructureType rootType,
VkBlitImageInfo2* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkImage*)&forUnmarshaling->srcImage = (VkImage)unbox_VkImage((VkImage)(*&cgen_var_0));
memcpy((VkImageLayout*)&forUnmarshaling->srcImageLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
uint64_t cgen_var_1;
memcpy((uint64_t*)&cgen_var_1, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkImage*)&forUnmarshaling->dstImage = (VkImage)unbox_VkImage((VkImage)(*&cgen_var_1));
memcpy((VkImageLayout*)&forUnmarshaling->dstImageLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
memcpy((uint32_t*)&forUnmarshaling->regionCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pRegions,
forUnmarshaling->regionCount * sizeof(const VkImageBlit2));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) {
reservedunmarshal_VkImageBlit2(vkStream, rootType,
(VkImageBlit2*)(forUnmarshaling->pRegions + i), ptr);
}
memcpy((VkFilter*)&forUnmarshaling->filter, *ptr, sizeof(VkFilter));
*ptr += sizeof(VkFilter);
}
void reservedunmarshal_VkImageResolve2(VulkanStream* vkStream, VkStructureType rootType,
VkImageResolve2* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
reservedunmarshal_VkImageSubresourceLayers(
vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource), ptr);
reservedunmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->srcOffset),
ptr);
reservedunmarshal_VkImageSubresourceLayers(
vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource), ptr);
reservedunmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->dstOffset),
ptr);
reservedunmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->extent), ptr);
}
void reservedunmarshal_VkResolveImageInfo2(VulkanStream* vkStream, VkStructureType rootType,
VkResolveImageInfo2* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkImage*)&forUnmarshaling->srcImage = (VkImage)unbox_VkImage((VkImage)(*&cgen_var_0));
memcpy((VkImageLayout*)&forUnmarshaling->srcImageLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
uint64_t cgen_var_1;
memcpy((uint64_t*)&cgen_var_1, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkImage*)&forUnmarshaling->dstImage = (VkImage)unbox_VkImage((VkImage)(*&cgen_var_1));
memcpy((VkImageLayout*)&forUnmarshaling->dstImageLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
memcpy((uint32_t*)&forUnmarshaling->regionCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pRegions,
forUnmarshaling->regionCount * sizeof(const VkImageResolve2));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) {
reservedunmarshal_VkImageResolve2(vkStream, rootType,
(VkImageResolve2*)(forUnmarshaling->pRegions + i), ptr);
}
}
void reservedunmarshal_VkPhysicalDeviceSubgroupSizeControlFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceSubgroupSizeControlFeatures* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->subgroupSizeControl, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->computeFullSubgroups, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceSubgroupSizeControlProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceSubgroupSizeControlProperties* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->minSubgroupSize, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxSubgroupSize, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxComputeWorkgroupSubgroups, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkShaderStageFlags*)&forUnmarshaling->requiredSubgroupSizeStages, *ptr,
sizeof(VkShaderStageFlags));
*ptr += sizeof(VkShaderStageFlags);
}
void reservedunmarshal_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineShaderStageRequiredSubgroupSizeCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->requiredSubgroupSize, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkPhysicalDeviceInlineUniformBlockFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceInlineUniformBlockFeatures* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->inlineUniformBlock, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->descriptorBindingInlineUniformBlockUpdateAfterBind, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceInlineUniformBlockProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceInlineUniformBlockProperties* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->maxInlineUniformBlockSize, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxPerStageDescriptorInlineUniformBlocks, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks,
*ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDescriptorSetInlineUniformBlocks, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindInlineUniformBlocks, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkWriteDescriptorSetInlineUniformBlock(
VulkanStream* vkStream, VkStructureType rootType,
VkWriteDescriptorSetInlineUniformBlock* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->dataSize, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pData,
forUnmarshaling->dataSize * sizeof(const uint8_t));
memcpy((void*)forUnmarshaling->pData, *ptr, forUnmarshaling->dataSize * sizeof(const uint8_t));
*ptr += forUnmarshaling->dataSize * sizeof(const uint8_t);
}
void reservedunmarshal_VkDescriptorPoolInlineUniformBlockCreateInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkDescriptorPoolInlineUniformBlockCreateInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->maxInlineUniformBlockBindings, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceTextureCompressionASTCHDRFeatures* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->textureCompressionASTC_HDR, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkRenderingAttachmentInfo(VulkanStream* vkStream, VkStructureType rootType,
VkRenderingAttachmentInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkImageView*)&forUnmarshaling->imageView =
(VkImageView)unbox_VkImageView((VkImageView)(*&cgen_var_0));
memcpy((VkImageLayout*)&forUnmarshaling->imageLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
memcpy((VkResolveModeFlagBits*)&forUnmarshaling->resolveMode, *ptr,
sizeof(VkResolveModeFlagBits));
*ptr += sizeof(VkResolveModeFlagBits);
uint64_t cgen_var_1;
memcpy((uint64_t*)&cgen_var_1, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkImageView*)&forUnmarshaling->resolveImageView =
(VkImageView)unbox_VkImageView((VkImageView)(*&cgen_var_1));
memcpy((VkImageLayout*)&forUnmarshaling->resolveImageLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
memcpy((VkAttachmentLoadOp*)&forUnmarshaling->loadOp, *ptr, sizeof(VkAttachmentLoadOp));
*ptr += sizeof(VkAttachmentLoadOp);
memcpy((VkAttachmentStoreOp*)&forUnmarshaling->storeOp, *ptr, sizeof(VkAttachmentStoreOp));
*ptr += sizeof(VkAttachmentStoreOp);
reservedunmarshal_VkClearValue(vkStream, rootType,
(VkClearValue*)(&forUnmarshaling->clearValue), ptr);
}
void reservedunmarshal_VkRenderingInfo(VulkanStream* vkStream, VkStructureType rootType,
VkRenderingInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkRenderingFlags*)&forUnmarshaling->flags, *ptr, sizeof(VkRenderingFlags));
*ptr += sizeof(VkRenderingFlags);
reservedunmarshal_VkRect2D(vkStream, rootType, (VkRect2D*)(&forUnmarshaling->renderArea), ptr);
memcpy((uint32_t*)&forUnmarshaling->layerCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->viewMask, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->colorAttachmentCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc(
(void**)&forUnmarshaling->pColorAttachments,
forUnmarshaling->colorAttachmentCount * sizeof(const VkRenderingAttachmentInfo));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorAttachmentCount; ++i) {
reservedunmarshal_VkRenderingAttachmentInfo(
vkStream, rootType,
(VkRenderingAttachmentInfo*)(forUnmarshaling->pColorAttachments + i), ptr);
}
// WARNING PTR CHECK
memcpy((VkRenderingAttachmentInfo**)&forUnmarshaling->pDepthAttachment, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pDepthAttachment);
*ptr += 8;
if (forUnmarshaling->pDepthAttachment) {
vkStream->alloc((void**)&forUnmarshaling->pDepthAttachment,
sizeof(const VkRenderingAttachmentInfo));
reservedunmarshal_VkRenderingAttachmentInfo(
vkStream, rootType, (VkRenderingAttachmentInfo*)(forUnmarshaling->pDepthAttachment),
ptr);
}
// WARNING PTR CHECK
memcpy((VkRenderingAttachmentInfo**)&forUnmarshaling->pStencilAttachment, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pStencilAttachment);
*ptr += 8;
if (forUnmarshaling->pStencilAttachment) {
vkStream->alloc((void**)&forUnmarshaling->pStencilAttachment,
sizeof(const VkRenderingAttachmentInfo));
reservedunmarshal_VkRenderingAttachmentInfo(
vkStream, rootType, (VkRenderingAttachmentInfo*)(forUnmarshaling->pStencilAttachment),
ptr);
}
}
void reservedunmarshal_VkPipelineRenderingCreateInfo(VulkanStream* vkStream,
VkStructureType rootType,
VkPipelineRenderingCreateInfo* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->viewMask, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->colorAttachmentCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
// WARNING PTR CHECK
memcpy((VkFormat**)&forUnmarshaling->pColorAttachmentFormats, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pColorAttachmentFormats);
*ptr += 8;
if (forUnmarshaling->pColorAttachmentFormats) {
vkStream->alloc((void**)&forUnmarshaling->pColorAttachmentFormats,
forUnmarshaling->colorAttachmentCount * sizeof(const VkFormat));
memcpy((VkFormat*)forUnmarshaling->pColorAttachmentFormats, *ptr,
forUnmarshaling->colorAttachmentCount * sizeof(const VkFormat));
*ptr += forUnmarshaling->colorAttachmentCount * sizeof(const VkFormat);
}
memcpy((VkFormat*)&forUnmarshaling->depthAttachmentFormat, *ptr, sizeof(VkFormat));
*ptr += sizeof(VkFormat);
memcpy((VkFormat*)&forUnmarshaling->stencilAttachmentFormat, *ptr, sizeof(VkFormat));
*ptr += sizeof(VkFormat);
}
void reservedunmarshal_VkPhysicalDeviceDynamicRenderingFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceDynamicRenderingFeatures* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->dynamicRendering, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkCommandBufferInheritanceRenderingInfo(
VulkanStream* vkStream, VkStructureType rootType,
VkCommandBufferInheritanceRenderingInfo* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkRenderingFlags*)&forUnmarshaling->flags, *ptr, sizeof(VkRenderingFlags));
*ptr += sizeof(VkRenderingFlags);
memcpy((uint32_t*)&forUnmarshaling->viewMask, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->colorAttachmentCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pColorAttachmentFormats,
forUnmarshaling->colorAttachmentCount * sizeof(const VkFormat));
memcpy((VkFormat*)forUnmarshaling->pColorAttachmentFormats, *ptr,
forUnmarshaling->colorAttachmentCount * sizeof(const VkFormat));
*ptr += forUnmarshaling->colorAttachmentCount * sizeof(const VkFormat);
memcpy((VkFormat*)&forUnmarshaling->depthAttachmentFormat, *ptr, sizeof(VkFormat));
*ptr += sizeof(VkFormat);
memcpy((VkFormat*)&forUnmarshaling->stencilAttachmentFormat, *ptr, sizeof(VkFormat));
*ptr += sizeof(VkFormat);
memcpy((VkSampleCountFlagBits*)&forUnmarshaling->rasterizationSamples, *ptr,
sizeof(VkSampleCountFlagBits));
*ptr += sizeof(VkSampleCountFlagBits);
}
void reservedunmarshal_VkPhysicalDeviceShaderIntegerDotProductFeatures(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceShaderIntegerDotProductFeatures* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->shaderIntegerDotProduct, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceShaderIntegerDotProductProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceShaderIntegerDotProductProperties* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct8BitUnsignedAccelerated, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct8BitSignedAccelerated, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct8BitMixedSignednessAccelerated, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct4x8BitPackedUnsignedAccelerated, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct4x8BitPackedSignedAccelerated, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct4x8BitPackedMixedSignednessAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct16BitUnsignedAccelerated, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct16BitSignedAccelerated, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct16BitMixedSignednessAccelerated, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct32BitUnsignedAccelerated, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct32BitSignedAccelerated, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct32BitMixedSignednessAccelerated, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct64BitUnsignedAccelerated, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct64BitSignedAccelerated, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->integerDotProduct64BitMixedSignednessAccelerated, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy(
(VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy(
(VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating8BitSignedAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling
->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling
->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling
->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling
->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling
->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy(
(VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating16BitSignedAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling
->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling
->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy(
(VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating32BitSignedAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling
->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling
->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy(
(VkBool32*)&forUnmarshaling->integerDotProductAccumulatingSaturating64BitSignedAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling
->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceTexelBufferAlignmentProperties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceTexelBufferAlignmentProperties* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkDeviceSize*)&forUnmarshaling->storageTexelBufferOffsetAlignmentBytes, *ptr,
sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkBool32*)&forUnmarshaling->storageTexelBufferOffsetSingleTexelAlignment, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkDeviceSize*)&forUnmarshaling->uniformTexelBufferOffsetAlignmentBytes, *ptr,
sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkBool32*)&forUnmarshaling->uniformTexelBufferOffsetSingleTexelAlignment, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkFormatProperties3(VulkanStream* vkStream, VkStructureType rootType,
VkFormatProperties3* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkFormatFeatureFlags2*)&forUnmarshaling->linearTilingFeatures, *ptr,
sizeof(VkFormatFeatureFlags2));
*ptr += sizeof(VkFormatFeatureFlags2);
memcpy((VkFormatFeatureFlags2*)&forUnmarshaling->optimalTilingFeatures, *ptr,
sizeof(VkFormatFeatureFlags2));
*ptr += sizeof(VkFormatFeatureFlags2);
memcpy((VkFormatFeatureFlags2*)&forUnmarshaling->bufferFeatures, *ptr,
sizeof(VkFormatFeatureFlags2));
*ptr += sizeof(VkFormatFeatureFlags2);
}
void reservedunmarshal_VkPhysicalDeviceMaintenance4Features(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceMaintenance4Features* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->maintenance4, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceMaintenance4Properties(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceMaintenance4Properties* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkDeviceSize*)&forUnmarshaling->maxBufferSize, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
}
void reservedunmarshal_VkDeviceBufferMemoryRequirements(
VulkanStream* vkStream, VkStructureType rootType,
VkDeviceBufferMemoryRequirements* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
vkStream->alloc((void**)&forUnmarshaling->pCreateInfo, sizeof(const VkBufferCreateInfo));
reservedunmarshal_VkBufferCreateInfo(vkStream, rootType,
(VkBufferCreateInfo*)(forUnmarshaling->pCreateInfo), ptr);
}
void reservedunmarshal_VkDeviceImageMemoryRequirements(
VulkanStream* vkStream, VkStructureType rootType,
VkDeviceImageMemoryRequirements* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
vkStream->alloc((void**)&forUnmarshaling->pCreateInfo, sizeof(const VkImageCreateInfo));
reservedunmarshal_VkImageCreateInfo(vkStream, rootType,
(VkImageCreateInfo*)(forUnmarshaling->pCreateInfo), ptr);
memcpy((VkImageAspectFlagBits*)&forUnmarshaling->planeAspect, *ptr,
sizeof(VkImageAspectFlagBits));
*ptr += sizeof(VkImageAspectFlagBits);
}
#endif
#ifdef VK_KHR_surface
#endif
#ifdef VK_KHR_swapchain
void reservedunmarshal_VkSwapchainCreateInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
VkSwapchainCreateInfoKHR* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkSwapchainCreateFlagsKHR*)&forUnmarshaling->flags, *ptr,
sizeof(VkSwapchainCreateFlagsKHR));
*ptr += sizeof(VkSwapchainCreateFlagsKHR);
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkSurfaceKHR*)&forUnmarshaling->surface =
(VkSurfaceKHR)unbox_VkSurfaceKHR((VkSurfaceKHR)(*&cgen_var_0));
memcpy((uint32_t*)&forUnmarshaling->minImageCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkFormat*)&forUnmarshaling->imageFormat, *ptr, sizeof(VkFormat));
*ptr += sizeof(VkFormat);
memcpy((VkColorSpaceKHR*)&forUnmarshaling->imageColorSpace, *ptr, sizeof(VkColorSpaceKHR));
*ptr += sizeof(VkColorSpaceKHR);
reservedunmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forUnmarshaling->imageExtent),
ptr);
memcpy((uint32_t*)&forUnmarshaling->imageArrayLayers, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkImageUsageFlags*)&forUnmarshaling->imageUsage, *ptr, sizeof(VkImageUsageFlags));
*ptr += sizeof(VkImageUsageFlags);
memcpy((VkSharingMode*)&forUnmarshaling->imageSharingMode, *ptr, sizeof(VkSharingMode));
*ptr += sizeof(VkSharingMode);
memcpy((uint32_t*)&forUnmarshaling->queueFamilyIndexCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
// WARNING PTR CHECK
memcpy((uint32_t**)&forUnmarshaling->pQueueFamilyIndices, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pQueueFamilyIndices);
*ptr += 8;
if (forUnmarshaling->pQueueFamilyIndices) {
vkStream->alloc((void**)&forUnmarshaling->pQueueFamilyIndices,
forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
memcpy((uint32_t*)forUnmarshaling->pQueueFamilyIndices, *ptr,
forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
*ptr += forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t);
}
memcpy((VkSurfaceTransformFlagBitsKHR*)&forUnmarshaling->preTransform, *ptr,
sizeof(VkSurfaceTransformFlagBitsKHR));
*ptr += sizeof(VkSurfaceTransformFlagBitsKHR);
memcpy((VkCompositeAlphaFlagBitsKHR*)&forUnmarshaling->compositeAlpha, *ptr,
sizeof(VkCompositeAlphaFlagBitsKHR));
*ptr += sizeof(VkCompositeAlphaFlagBitsKHR);
memcpy((VkPresentModeKHR*)&forUnmarshaling->presentMode, *ptr, sizeof(VkPresentModeKHR));
*ptr += sizeof(VkPresentModeKHR);
memcpy((VkBool32*)&forUnmarshaling->clipped, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
uint64_t cgen_var_2;
memcpy((uint64_t*)&cgen_var_2, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkSwapchainKHR*)&forUnmarshaling->oldSwapchain =
(VkSwapchainKHR)unbox_VkSwapchainKHR((VkSwapchainKHR)(*&cgen_var_2));
}
void reservedunmarshal_VkPresentInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
VkPresentInfoKHR* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->waitSemaphoreCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pWaitSemaphores,
forUnmarshaling->waitSemaphoreCount * sizeof(const VkSemaphore));
if (forUnmarshaling->waitSemaphoreCount) {
uint8_t* cgen_var_0_ptr = (uint8_t*)(*ptr);
*ptr += 8 * forUnmarshaling->waitSemaphoreCount;
if (forUnmarshaling) {
for (uint32_t k = 0; k < forUnmarshaling->waitSemaphoreCount; ++k) {
uint64_t tmpval;
memcpy(&tmpval, cgen_var_0_ptr + k * 8, sizeof(uint64_t));
*(((VkSemaphore*)forUnmarshaling->pWaitSemaphores) + k) =
(VkSemaphore)unbox_VkSemaphore((VkSemaphore)tmpval);
}
}
}
memcpy((uint32_t*)&forUnmarshaling->swapchainCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pSwapchains,
forUnmarshaling->swapchainCount * sizeof(const VkSwapchainKHR));
if (forUnmarshaling->swapchainCount) {
uint8_t* cgen_var_1_ptr = (uint8_t*)(*ptr);
*ptr += 8 * forUnmarshaling->swapchainCount;
if (forUnmarshaling) {
for (uint32_t k = 0; k < forUnmarshaling->swapchainCount; ++k) {
uint64_t tmpval;
memcpy(&tmpval, cgen_var_1_ptr + k * 8, sizeof(uint64_t));
*(((VkSwapchainKHR*)forUnmarshaling->pSwapchains) + k) =
(VkSwapchainKHR)unbox_VkSwapchainKHR((VkSwapchainKHR)tmpval);
}
}
}
vkStream->alloc((void**)&forUnmarshaling->pImageIndices,
forUnmarshaling->swapchainCount * sizeof(const uint32_t));
memcpy((uint32_t*)forUnmarshaling->pImageIndices, *ptr,
forUnmarshaling->swapchainCount * sizeof(const uint32_t));
*ptr += forUnmarshaling->swapchainCount * sizeof(const uint32_t);
// WARNING PTR CHECK
memcpy((VkResult**)&forUnmarshaling->pResults, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pResults);
*ptr += 8;
if (forUnmarshaling->pResults) {
vkStream->alloc((void**)&forUnmarshaling->pResults,
forUnmarshaling->swapchainCount * sizeof(VkResult));
memcpy((VkResult*)forUnmarshaling->pResults, *ptr,
forUnmarshaling->swapchainCount * sizeof(VkResult));
*ptr += forUnmarshaling->swapchainCount * sizeof(VkResult);
}
}
void reservedunmarshal_VkImageSwapchainCreateInfoKHR(VulkanStream* vkStream,
VkStructureType rootType,
VkImageSwapchainCreateInfoKHR* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkSwapchainKHR*)&forUnmarshaling->swapchain =
(VkSwapchainKHR)unbox_VkSwapchainKHR((VkSwapchainKHR)(*&cgen_var_0));
}
void reservedunmarshal_VkBindImageMemorySwapchainInfoKHR(
VulkanStream* vkStream, VkStructureType rootType,
VkBindImageMemorySwapchainInfoKHR* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkSwapchainKHR*)&forUnmarshaling->swapchain =
(VkSwapchainKHR)unbox_VkSwapchainKHR((VkSwapchainKHR)(*&cgen_var_0));
memcpy((uint32_t*)&forUnmarshaling->imageIndex, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkAcquireNextImageInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
VkAcquireNextImageInfoKHR* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkSwapchainKHR*)&forUnmarshaling->swapchain =
(VkSwapchainKHR)unbox_VkSwapchainKHR((VkSwapchainKHR)(*&cgen_var_0));
memcpy((uint64_t*)&forUnmarshaling->timeout, *ptr, sizeof(uint64_t));
*ptr += sizeof(uint64_t);
uint64_t cgen_var_1;
memcpy((uint64_t*)&cgen_var_1, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkSemaphore*)&forUnmarshaling->semaphore =
(VkSemaphore)unbox_VkSemaphore((VkSemaphore)(*&cgen_var_1));
uint64_t cgen_var_2;
memcpy((uint64_t*)&cgen_var_2, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkFence*)&forUnmarshaling->fence = (VkFence)unbox_VkFence((VkFence)(*&cgen_var_2));
memcpy((uint32_t*)&forUnmarshaling->deviceMask, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkDeviceGroupPresentCapabilitiesKHR(
VulkanStream* vkStream, VkStructureType rootType,
VkDeviceGroupPresentCapabilitiesKHR* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)forUnmarshaling->presentMask, *ptr,
VK_MAX_DEVICE_GROUP_SIZE * sizeof(uint32_t));
*ptr += VK_MAX_DEVICE_GROUP_SIZE * sizeof(uint32_t);
memcpy((VkDeviceGroupPresentModeFlagsKHR*)&forUnmarshaling->modes, *ptr,
sizeof(VkDeviceGroupPresentModeFlagsKHR));
*ptr += sizeof(VkDeviceGroupPresentModeFlagsKHR);
}
void reservedunmarshal_VkDeviceGroupPresentInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
VkDeviceGroupPresentInfoKHR* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->swapchainCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pDeviceMasks,
forUnmarshaling->swapchainCount * sizeof(const uint32_t));
memcpy((uint32_t*)forUnmarshaling->pDeviceMasks, *ptr,
forUnmarshaling->swapchainCount * sizeof(const uint32_t));
*ptr += forUnmarshaling->swapchainCount * sizeof(const uint32_t);
memcpy((VkDeviceGroupPresentModeFlagBitsKHR*)&forUnmarshaling->mode, *ptr,
sizeof(VkDeviceGroupPresentModeFlagBitsKHR));
*ptr += sizeof(VkDeviceGroupPresentModeFlagBitsKHR);
}
void reservedunmarshal_VkDeviceGroupSwapchainCreateInfoKHR(
VulkanStream* vkStream, VkStructureType rootType,
VkDeviceGroupSwapchainCreateInfoKHR* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkDeviceGroupPresentModeFlagsKHR*)&forUnmarshaling->modes, *ptr,
sizeof(VkDeviceGroupPresentModeFlagsKHR));
*ptr += 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 reservedunmarshal_VkRenderingFragmentShadingRateAttachmentInfoKHR(
VulkanStream* vkStream, VkStructureType rootType,
VkRenderingFragmentShadingRateAttachmentInfoKHR* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkImageView*)&forUnmarshaling->imageView =
(VkImageView)unbox_VkImageView((VkImageView)(*&cgen_var_0));
memcpy((VkImageLayout*)&forUnmarshaling->imageLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
reservedunmarshal_VkExtent2D(
vkStream, rootType, (VkExtent2D*)(&forUnmarshaling->shadingRateAttachmentTexelSize), ptr);
}
void reservedunmarshal_VkRenderingFragmentDensityMapAttachmentInfoEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkRenderingFragmentDensityMapAttachmentInfoEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkImageView*)&forUnmarshaling->imageView =
(VkImageView)unbox_VkImageView((VkImageView)(*&cgen_var_0));
memcpy((VkImageLayout*)&forUnmarshaling->imageLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
}
void reservedunmarshal_VkAttachmentSampleCountInfoAMD(
VulkanStream* vkStream, VkStructureType rootType,
VkAttachmentSampleCountInfoAMD* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->colorAttachmentCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
// WARNING PTR CHECK
memcpy((VkSampleCountFlagBits**)&forUnmarshaling->pColorAttachmentSamples, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pColorAttachmentSamples);
*ptr += 8;
if (forUnmarshaling->pColorAttachmentSamples) {
vkStream->alloc(
(void**)&forUnmarshaling->pColorAttachmentSamples,
forUnmarshaling->colorAttachmentCount * sizeof(const VkSampleCountFlagBits));
memcpy((VkSampleCountFlagBits*)forUnmarshaling->pColorAttachmentSamples, *ptr,
forUnmarshaling->colorAttachmentCount * sizeof(const VkSampleCountFlagBits));
*ptr += forUnmarshaling->colorAttachmentCount * sizeof(const VkSampleCountFlagBits);
}
memcpy((VkSampleCountFlagBits*)&forUnmarshaling->depthStencilAttachmentSamples, *ptr,
sizeof(VkSampleCountFlagBits));
*ptr += sizeof(VkSampleCountFlagBits);
}
void reservedunmarshal_VkMultiviewPerViewAttributesInfoNVX(
VulkanStream* vkStream, VkStructureType rootType,
VkMultiviewPerViewAttributesInfoNVX* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->perViewAttributes, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->perViewAttributesPositionXOnly, *ptr, sizeof(VkBool32));
*ptr += 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 reservedunmarshal_VkImportSemaphoreFdInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
VkImportSemaphoreFdInfoKHR* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkSemaphore*)&forUnmarshaling->semaphore =
(VkSemaphore)unbox_VkSemaphore((VkSemaphore)(*&cgen_var_0));
memcpy((VkSemaphoreImportFlags*)&forUnmarshaling->flags, *ptr, sizeof(VkSemaphoreImportFlags));
*ptr += sizeof(VkSemaphoreImportFlags);
memcpy((VkExternalSemaphoreHandleTypeFlagBits*)&forUnmarshaling->handleType, *ptr,
sizeof(VkExternalSemaphoreHandleTypeFlagBits));
*ptr += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
memcpy((int*)&forUnmarshaling->fd, *ptr, sizeof(int));
*ptr += sizeof(int);
}
void reservedunmarshal_VkSemaphoreGetFdInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
VkSemaphoreGetFdInfoKHR* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkSemaphore*)&forUnmarshaling->semaphore =
(VkSemaphore)unbox_VkSemaphore((VkSemaphore)(*&cgen_var_0));
memcpy((VkExternalSemaphoreHandleTypeFlagBits*)&forUnmarshaling->handleType, *ptr,
sizeof(VkExternalSemaphoreHandleTypeFlagBits));
*ptr += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
}
#endif
#ifdef VK_KHR_shader_float16_int8
#endif
#ifdef VK_KHR_incremental_present
void reservedunmarshal_VkRectLayerKHR(VulkanStream* vkStream, VkStructureType rootType,
VkRectLayerKHR* forUnmarshaling, uint8_t** ptr) {
reservedunmarshal_VkOffset2D(vkStream, rootType, (VkOffset2D*)(&forUnmarshaling->offset), ptr);
reservedunmarshal_VkExtent2D(vkStream, rootType, (VkExtent2D*)(&forUnmarshaling->extent), ptr);
memcpy((uint32_t*)&forUnmarshaling->layer, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkPresentRegionKHR(VulkanStream* vkStream, VkStructureType rootType,
VkPresentRegionKHR* forUnmarshaling, uint8_t** ptr) {
memcpy((uint32_t*)&forUnmarshaling->rectangleCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
// WARNING PTR CHECK
memcpy((VkRectLayerKHR**)&forUnmarshaling->pRectangles, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pRectangles);
*ptr += 8;
if (forUnmarshaling->pRectangles) {
vkStream->alloc((void**)&forUnmarshaling->pRectangles,
forUnmarshaling->rectangleCount * sizeof(const VkRectLayerKHR));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->rectangleCount; ++i) {
reservedunmarshal_VkRectLayerKHR(
vkStream, rootType, (VkRectLayerKHR*)(forUnmarshaling->pRectangles + i), ptr);
}
}
}
void reservedunmarshal_VkPresentRegionsKHR(VulkanStream* vkStream, VkStructureType rootType,
VkPresentRegionsKHR* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->swapchainCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
// WARNING PTR CHECK
memcpy((VkPresentRegionKHR**)&forUnmarshaling->pRegions, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pRegions);
*ptr += 8;
if (forUnmarshaling->pRegions) {
vkStream->alloc((void**)&forUnmarshaling->pRegions,
forUnmarshaling->swapchainCount * sizeof(const VkPresentRegionKHR));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->swapchainCount; ++i) {
reservedunmarshal_VkPresentRegionKHR(
vkStream, rootType, (VkPresentRegionKHR*)(forUnmarshaling->pRegions + i), ptr);
}
}
}
#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 reservedunmarshal_VkImportFenceFdInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
VkImportFenceFdInfoKHR* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkFence*)&forUnmarshaling->fence = (VkFence)unbox_VkFence((VkFence)(*&cgen_var_0));
memcpy((VkFenceImportFlags*)&forUnmarshaling->flags, *ptr, sizeof(VkFenceImportFlags));
*ptr += sizeof(VkFenceImportFlags);
memcpy((VkExternalFenceHandleTypeFlagBits*)&forUnmarshaling->handleType, *ptr,
sizeof(VkExternalFenceHandleTypeFlagBits));
*ptr += sizeof(VkExternalFenceHandleTypeFlagBits);
memcpy((int*)&forUnmarshaling->fd, *ptr, sizeof(int));
*ptr += sizeof(int);
}
void reservedunmarshal_VkFenceGetFdInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
VkFenceGetFdInfoKHR* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkFence*)&forUnmarshaling->fence = (VkFence)unbox_VkFence((VkFence)(*&cgen_var_0));
memcpy((VkExternalFenceHandleTypeFlagBits*)&forUnmarshaling->handleType, *ptr,
sizeof(VkExternalFenceHandleTypeFlagBits));
*ptr += 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 reservedunmarshal_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->pipelineExecutableInfo, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPipelineInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
VkPipelineInfoKHR* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkPipeline*)&forUnmarshaling->pipeline =
(VkPipeline)unbox_VkPipeline((VkPipeline)(*&cgen_var_0));
}
void reservedunmarshal_VkPipelineExecutablePropertiesKHR(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineExecutablePropertiesKHR* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkShaderStageFlags*)&forUnmarshaling->stages, *ptr, sizeof(VkShaderStageFlags));
*ptr += sizeof(VkShaderStageFlags);
memcpy((char*)forUnmarshaling->name, *ptr, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
*ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
memcpy((char*)forUnmarshaling->description, *ptr, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
*ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
memcpy((uint32_t*)&forUnmarshaling->subgroupSize, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkPipelineExecutableInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
VkPipelineExecutableInfoKHR* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkPipeline*)&forUnmarshaling->pipeline =
(VkPipeline)unbox_VkPipeline((VkPipeline)(*&cgen_var_0));
memcpy((uint32_t*)&forUnmarshaling->executableIndex, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkPipelineExecutableStatisticValueKHR(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineExecutableStatisticValueKHR* forUnmarshaling, uint8_t** ptr) {
memcpy((VkBool32*)&forUnmarshaling->b32, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPipelineExecutableStatisticKHR(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineExecutableStatisticKHR* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((char*)forUnmarshaling->name, *ptr, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
*ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
memcpy((char*)forUnmarshaling->description, *ptr, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
*ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
memcpy((VkPipelineExecutableStatisticFormatKHR*)&forUnmarshaling->format, *ptr,
sizeof(VkPipelineExecutableStatisticFormatKHR));
*ptr += sizeof(VkPipelineExecutableStatisticFormatKHR);
reservedunmarshal_VkPipelineExecutableStatisticValueKHR(
vkStream, rootType, (VkPipelineExecutableStatisticValueKHR*)(&forUnmarshaling->value), ptr);
}
void reservedunmarshal_VkPipelineExecutableInternalRepresentationKHR(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineExecutableInternalRepresentationKHR* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((char*)forUnmarshaling->name, *ptr, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
*ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
memcpy((char*)forUnmarshaling->description, *ptr, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
*ptr += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
memcpy((VkBool32*)&forUnmarshaling->isText, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((size_t*)&forUnmarshaling->dataSize, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->dataSize);
*ptr += 8;
// WARNING PTR CHECK
memcpy((void**)&forUnmarshaling->pData, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pData);
*ptr += 8;
if (forUnmarshaling->pData) {
vkStream->alloc((void**)&forUnmarshaling->pData,
forUnmarshaling->dataSize * sizeof(uint8_t));
memcpy((void*)forUnmarshaling->pData, *ptr, forUnmarshaling->dataSize * sizeof(uint8_t));
*ptr += 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 reservedunmarshal_VkQueueFamilyCheckpointProperties2NV(
VulkanStream* vkStream, VkStructureType rootType,
VkQueueFamilyCheckpointProperties2NV* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkPipelineStageFlags2*)&forUnmarshaling->checkpointExecutionStageMask, *ptr,
sizeof(VkPipelineStageFlags2));
*ptr += sizeof(VkPipelineStageFlags2);
}
void reservedunmarshal_VkCheckpointData2NV(VulkanStream* vkStream, VkStructureType rootType,
VkCheckpointData2NV* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkPipelineStageFlags2*)&forUnmarshaling->stage, *ptr, sizeof(VkPipelineStageFlags2));
*ptr += sizeof(VkPipelineStageFlags2);
// WARNING PTR CHECK
memcpy((void**)&forUnmarshaling->pCheckpointMarker, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pCheckpointMarker);
*ptr += 8;
if (forUnmarshaling->pCheckpointMarker) {
vkStream->alloc((void**)&forUnmarshaling->pCheckpointMarker, sizeof(uint8_t));
memcpy((void*)forUnmarshaling->pCheckpointMarker, *ptr, sizeof(uint8_t));
*ptr += 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 reservedunmarshal_VkPhysicalDeviceMaintenance5FeaturesKHR(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceMaintenance5FeaturesKHR* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->maintenance5, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceMaintenance5PropertiesKHR(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceMaintenance5PropertiesKHR* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->earlyFragmentMultisampleCoverageAfterSampleCounting, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->earlyFragmentSampleMaskTestBeforeSampleCounting, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->depthStencilSwizzleOneSupport, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->polygonModePointSize, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->nonStrictSinglePixelWideLinesUseParallelogram, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->nonStrictWideLinesUseParallelogram, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkRenderingAreaInfoKHR(VulkanStream* vkStream, VkStructureType rootType,
VkRenderingAreaInfoKHR* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->viewMask, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->colorAttachmentCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
// WARNING PTR CHECK
memcpy((VkFormat**)&forUnmarshaling->pColorAttachmentFormats, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pColorAttachmentFormats);
*ptr += 8;
if (forUnmarshaling->pColorAttachmentFormats) {
vkStream->alloc((void**)&forUnmarshaling->pColorAttachmentFormats,
forUnmarshaling->colorAttachmentCount * sizeof(const VkFormat));
memcpy((VkFormat*)forUnmarshaling->pColorAttachmentFormats, *ptr,
forUnmarshaling->colorAttachmentCount * sizeof(const VkFormat));
*ptr += forUnmarshaling->colorAttachmentCount * sizeof(const VkFormat);
}
memcpy((VkFormat*)&forUnmarshaling->depthAttachmentFormat, *ptr, sizeof(VkFormat));
*ptr += sizeof(VkFormat);
memcpy((VkFormat*)&forUnmarshaling->stencilAttachmentFormat, *ptr, sizeof(VkFormat));
*ptr += sizeof(VkFormat);
}
void reservedunmarshal_VkImageSubresource2KHR(VulkanStream* vkStream, VkStructureType rootType,
VkImageSubresource2KHR* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
reservedunmarshal_VkImageSubresource(
vkStream, rootType, (VkImageSubresource*)(&forUnmarshaling->imageSubresource), ptr);
}
void reservedunmarshal_VkDeviceImageSubresourceInfoKHR(
VulkanStream* vkStream, VkStructureType rootType,
VkDeviceImageSubresourceInfoKHR* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
vkStream->alloc((void**)&forUnmarshaling->pCreateInfo, sizeof(const VkImageCreateInfo));
reservedunmarshal_VkImageCreateInfo(vkStream, rootType,
(VkImageCreateInfo*)(forUnmarshaling->pCreateInfo), ptr);
vkStream->alloc((void**)&forUnmarshaling->pSubresource, sizeof(const VkImageSubresource2KHR));
reservedunmarshal_VkImageSubresource2KHR(
vkStream, rootType, (VkImageSubresource2KHR*)(forUnmarshaling->pSubresource), ptr);
}
void reservedunmarshal_VkSubresourceLayout2KHR(VulkanStream* vkStream, VkStructureType rootType,
VkSubresourceLayout2KHR* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
reservedunmarshal_VkSubresourceLayout(
vkStream, rootType, (VkSubresourceLayout*)(&forUnmarshaling->subresourceLayout), ptr);
}
void reservedunmarshal_VkPipelineCreateFlags2CreateInfoKHR(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineCreateFlags2CreateInfoKHR* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkPipelineCreateFlags2KHR*)&forUnmarshaling->flags, *ptr,
sizeof(VkPipelineCreateFlags2KHR));
*ptr += sizeof(VkPipelineCreateFlags2KHR);
}
void reservedunmarshal_VkBufferUsageFlags2CreateInfoKHR(
VulkanStream* vkStream, VkStructureType rootType,
VkBufferUsageFlags2CreateInfoKHR* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBufferUsageFlags2KHR*)&forUnmarshaling->usage, *ptr, sizeof(VkBufferUsageFlags2KHR));
*ptr += sizeof(VkBufferUsageFlags2KHR);
}
#endif
#ifdef VK_ANDROID_native_buffer
void reservedunmarshal_VkNativeBufferUsage2ANDROID(VulkanStream* vkStream, VkStructureType rootType,
VkNativeBufferUsage2ANDROID* forUnmarshaling,
uint8_t** ptr) {
memcpy((uint64_t*)&forUnmarshaling->consumer, *ptr, sizeof(uint64_t));
*ptr += sizeof(uint64_t);
memcpy((uint64_t*)&forUnmarshaling->producer, *ptr, sizeof(uint64_t));
*ptr += sizeof(uint64_t);
}
void reservedunmarshal_VkNativeBufferANDROID(VulkanStream* vkStream, VkStructureType rootType,
VkNativeBufferANDROID* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
// WARNING PTR CHECK
memcpy((uint32_t**)&forUnmarshaling->handle, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->handle);
*ptr += 8;
if (forUnmarshaling->handle) {
vkStream->alloc((void**)&forUnmarshaling->handle, sizeof(const uint32_t));
memcpy((uint32_t*)forUnmarshaling->handle, *ptr, sizeof(const uint32_t));
*ptr += sizeof(const uint32_t);
}
memcpy((int*)&forUnmarshaling->stride, *ptr, sizeof(int));
*ptr += sizeof(int);
memcpy((int*)&forUnmarshaling->format, *ptr, sizeof(int));
*ptr += sizeof(int);
memcpy((int*)&forUnmarshaling->usage, *ptr, sizeof(int));
*ptr += sizeof(int);
reservedunmarshal_VkNativeBufferUsage2ANDROID(
vkStream, rootType, (VkNativeBufferUsage2ANDROID*)(&forUnmarshaling->usage2), ptr);
}
void reservedunmarshal_VkSwapchainImageCreateInfoANDROID(
VulkanStream* vkStream, VkStructureType rootType,
VkSwapchainImageCreateInfoANDROID* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkSwapchainImageUsageFlagsANDROID*)&forUnmarshaling->usage, *ptr,
sizeof(VkSwapchainImageUsageFlagsANDROID));
*ptr += sizeof(VkSwapchainImageUsageFlagsANDROID);
}
void reservedunmarshal_VkPhysicalDevicePresentationPropertiesANDROID(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDevicePresentationPropertiesANDROID* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->sharedImage, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
#endif
#ifdef VK_EXT_transform_feedback
void reservedunmarshal_VkPhysicalDeviceTransformFeedbackFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceTransformFeedbackFeaturesEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->transformFeedback, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->geometryStreams, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceTransformFeedbackPropertiesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceTransformFeedbackPropertiesEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->maxTransformFeedbackStreams, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxTransformFeedbackBuffers, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkDeviceSize*)&forUnmarshaling->maxTransformFeedbackBufferSize, *ptr,
sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((uint32_t*)&forUnmarshaling->maxTransformFeedbackStreamDataSize, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxTransformFeedbackBufferDataSize, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->maxTransformFeedbackBufferDataStride, *ptr,
sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((VkBool32*)&forUnmarshaling->transformFeedbackQueries, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->transformFeedbackStreamsLinesTriangles, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->transformFeedbackRasterizationStreamSelect, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->transformFeedbackDraw, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPipelineRasterizationStateStreamCreateInfoEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineRasterizationStateStreamCreateInfoEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkPipelineRasterizationStateStreamCreateFlagsEXT*)&forUnmarshaling->flags, *ptr,
sizeof(VkPipelineRasterizationStateStreamCreateFlagsEXT));
*ptr += sizeof(VkPipelineRasterizationStateStreamCreateFlagsEXT);
memcpy((uint32_t*)&forUnmarshaling->rasterizationStream, *ptr, sizeof(uint32_t));
*ptr += 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 reservedunmarshal_VkPhysicalDeviceProvokingVertexFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceProvokingVertexFeaturesEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->provokingVertexLast, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->transformFeedbackPreservesProvokingVertex, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceProvokingVertexPropertiesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceProvokingVertexPropertiesEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->provokingVertexModePerPipeline, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->transformFeedbackPreservesTriangleFanProvokingVertex, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineRasterizationProvokingVertexStateCreateInfoEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkProvokingVertexModeEXT*)&forUnmarshaling->provokingVertexMode, *ptr,
sizeof(VkProvokingVertexModeEXT));
*ptr += sizeof(VkProvokingVertexModeEXT);
}
#endif
#ifdef VK_EXT_line_rasterization
void reservedunmarshal_VkPhysicalDeviceLineRasterizationFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceLineRasterizationFeaturesEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->rectangularLines, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->bresenhamLines, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->smoothLines, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->stippledRectangularLines, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->stippledBresenhamLines, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->stippledSmoothLines, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceLineRasterizationPropertiesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceLineRasterizationPropertiesEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->lineSubPixelPrecisionBits, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkPipelineRasterizationLineStateCreateInfoEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPipelineRasterizationLineStateCreateInfoEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkLineRasterizationModeEXT*)&forUnmarshaling->lineRasterizationMode, *ptr,
sizeof(VkLineRasterizationModeEXT));
*ptr += sizeof(VkLineRasterizationModeEXT);
memcpy((VkBool32*)&forUnmarshaling->stippledLineEnable, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((uint32_t*)&forUnmarshaling->lineStippleFactor, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint16_t*)&forUnmarshaling->lineStipplePattern, *ptr, sizeof(uint16_t));
*ptr += sizeof(uint16_t);
}
#endif
#ifdef VK_EXT_index_type_uint8
void reservedunmarshal_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceIndexTypeUint8FeaturesEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->indexTypeUint8, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
#endif
#ifdef VK_EXT_extended_dynamic_state
void reservedunmarshal_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceExtendedDynamicStateFeaturesEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->extendedDynamicState, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
#endif
#ifdef VK_EXT_host_image_copy
void reservedunmarshal_VkPhysicalDeviceHostImageCopyFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceHostImageCopyFeaturesEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->hostImageCopy, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceHostImageCopyPropertiesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceHostImageCopyPropertiesEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->copySrcLayoutCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
// WARNING PTR CHECK
memcpy((VkImageLayout**)&forUnmarshaling->pCopySrcLayouts, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pCopySrcLayouts);
*ptr += 8;
if (forUnmarshaling->pCopySrcLayouts) {
vkStream->alloc((void**)&forUnmarshaling->pCopySrcLayouts,
forUnmarshaling->copySrcLayoutCount * sizeof(VkImageLayout));
memcpy((VkImageLayout*)forUnmarshaling->pCopySrcLayouts, *ptr,
forUnmarshaling->copySrcLayoutCount * sizeof(VkImageLayout));
*ptr += forUnmarshaling->copySrcLayoutCount * sizeof(VkImageLayout);
}
memcpy((uint32_t*)&forUnmarshaling->copyDstLayoutCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
// WARNING PTR CHECK
memcpy((VkImageLayout**)&forUnmarshaling->pCopyDstLayouts, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pCopyDstLayouts);
*ptr += 8;
if (forUnmarshaling->pCopyDstLayouts) {
vkStream->alloc((void**)&forUnmarshaling->pCopyDstLayouts,
forUnmarshaling->copyDstLayoutCount * sizeof(VkImageLayout));
memcpy((VkImageLayout*)forUnmarshaling->pCopyDstLayouts, *ptr,
forUnmarshaling->copyDstLayoutCount * sizeof(VkImageLayout));
*ptr += forUnmarshaling->copyDstLayoutCount * sizeof(VkImageLayout);
}
memcpy((uint8_t*)forUnmarshaling->optimalTilingLayoutUUID, *ptr,
VK_UUID_SIZE * sizeof(uint8_t));
*ptr += VK_UUID_SIZE * sizeof(uint8_t);
memcpy((VkBool32*)&forUnmarshaling->identicalMemoryTypeRequirements, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkMemoryToImageCopyEXT(VulkanStream* vkStream, VkStructureType rootType,
VkMemoryToImageCopyEXT* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
vkStream->alloc((void**)&forUnmarshaling->pHostPointer, sizeof(const uint8_t));
memcpy((void*)forUnmarshaling->pHostPointer, *ptr, sizeof(const uint8_t));
*ptr += sizeof(const uint8_t);
memcpy((uint32_t*)&forUnmarshaling->memoryRowLength, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->memoryImageHeight, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
reservedunmarshal_VkImageSubresourceLayers(
vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->imageSubresource), ptr);
reservedunmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->imageOffset),
ptr);
reservedunmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->imageExtent),
ptr);
}
void reservedunmarshal_VkImageToMemoryCopyEXT(VulkanStream* vkStream, VkStructureType rootType,
VkImageToMemoryCopyEXT* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
vkStream->alloc((void**)&forUnmarshaling->pHostPointer, sizeof(uint8_t));
memcpy((void*)forUnmarshaling->pHostPointer, *ptr, sizeof(uint8_t));
*ptr += sizeof(uint8_t);
memcpy((uint32_t*)&forUnmarshaling->memoryRowLength, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->memoryImageHeight, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
reservedunmarshal_VkImageSubresourceLayers(
vkStream, rootType, (VkImageSubresourceLayers*)(&forUnmarshaling->imageSubresource), ptr);
reservedunmarshal_VkOffset3D(vkStream, rootType, (VkOffset3D*)(&forUnmarshaling->imageOffset),
ptr);
reservedunmarshal_VkExtent3D(vkStream, rootType, (VkExtent3D*)(&forUnmarshaling->imageExtent),
ptr);
}
void reservedunmarshal_VkCopyMemoryToImageInfoEXT(VulkanStream* vkStream, VkStructureType rootType,
VkCopyMemoryToImageInfoEXT* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkHostImageCopyFlagsEXT*)&forUnmarshaling->flags, *ptr,
sizeof(VkHostImageCopyFlagsEXT));
*ptr += sizeof(VkHostImageCopyFlagsEXT);
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkImage*)&forUnmarshaling->dstImage = (VkImage)unbox_VkImage((VkImage)(*&cgen_var_0));
memcpy((VkImageLayout*)&forUnmarshaling->dstImageLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
memcpy((uint32_t*)&forUnmarshaling->regionCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pRegions,
forUnmarshaling->regionCount * sizeof(const VkMemoryToImageCopyEXT));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) {
reservedunmarshal_VkMemoryToImageCopyEXT(
vkStream, rootType, (VkMemoryToImageCopyEXT*)(forUnmarshaling->pRegions + i), ptr);
}
}
void reservedunmarshal_VkCopyImageToMemoryInfoEXT(VulkanStream* vkStream, VkStructureType rootType,
VkCopyImageToMemoryInfoEXT* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkHostImageCopyFlagsEXT*)&forUnmarshaling->flags, *ptr,
sizeof(VkHostImageCopyFlagsEXT));
*ptr += sizeof(VkHostImageCopyFlagsEXT);
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkImage*)&forUnmarshaling->srcImage = (VkImage)unbox_VkImage((VkImage)(*&cgen_var_0));
memcpy((VkImageLayout*)&forUnmarshaling->srcImageLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
memcpy((uint32_t*)&forUnmarshaling->regionCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pRegions,
forUnmarshaling->regionCount * sizeof(const VkImageToMemoryCopyEXT));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) {
reservedunmarshal_VkImageToMemoryCopyEXT(
vkStream, rootType, (VkImageToMemoryCopyEXT*)(forUnmarshaling->pRegions + i), ptr);
}
}
void reservedunmarshal_VkCopyImageToImageInfoEXT(VulkanStream* vkStream, VkStructureType rootType,
VkCopyImageToImageInfoEXT* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkHostImageCopyFlagsEXT*)&forUnmarshaling->flags, *ptr,
sizeof(VkHostImageCopyFlagsEXT));
*ptr += sizeof(VkHostImageCopyFlagsEXT);
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkImage*)&forUnmarshaling->srcImage = (VkImage)unbox_VkImage((VkImage)(*&cgen_var_0));
memcpy((VkImageLayout*)&forUnmarshaling->srcImageLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
uint64_t cgen_var_1;
memcpy((uint64_t*)&cgen_var_1, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkImage*)&forUnmarshaling->dstImage = (VkImage)unbox_VkImage((VkImage)(*&cgen_var_1));
memcpy((VkImageLayout*)&forUnmarshaling->dstImageLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
memcpy((uint32_t*)&forUnmarshaling->regionCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pRegions,
forUnmarshaling->regionCount * sizeof(const VkImageCopy2));
for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->regionCount; ++i) {
reservedunmarshal_VkImageCopy2(vkStream, rootType,
(VkImageCopy2*)(forUnmarshaling->pRegions + i), ptr);
}
}
void reservedunmarshal_VkHostImageLayoutTransitionInfoEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkHostImageLayoutTransitionInfoEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkImage*)&forUnmarshaling->image = (VkImage)unbox_VkImage((VkImage)(*&cgen_var_0));
memcpy((VkImageLayout*)&forUnmarshaling->oldLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
memcpy((VkImageLayout*)&forUnmarshaling->newLayout, *ptr, sizeof(VkImageLayout));
*ptr += sizeof(VkImageLayout);
reservedunmarshal_VkImageSubresourceRange(
vkStream, rootType, (VkImageSubresourceRange*)(&forUnmarshaling->subresourceRange), ptr);
}
void reservedunmarshal_VkSubresourceHostMemcpySizeEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkSubresourceHostMemcpySizeEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkDeviceSize*)&forUnmarshaling->size, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
}
void reservedunmarshal_VkHostImageCopyDevicePerformanceQueryEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkHostImageCopyDevicePerformanceQueryEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->optimalDeviceAccess, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->identicalMemoryLayout, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
#endif
#ifdef VK_EXT_swapchain_maintenance1
void reservedunmarshal_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->swapchainMaintenance1, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkSwapchainPresentFenceInfoEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkSwapchainPresentFenceInfoEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->swapchainCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pFences,
forUnmarshaling->swapchainCount * sizeof(const VkFence));
if (forUnmarshaling->swapchainCount) {
uint8_t* cgen_var_0_ptr = (uint8_t*)(*ptr);
*ptr += 8 * forUnmarshaling->swapchainCount;
if (forUnmarshaling) {
for (uint32_t k = 0; k < forUnmarshaling->swapchainCount; ++k) {
uint64_t tmpval;
memcpy(&tmpval, cgen_var_0_ptr + k * 8, sizeof(uint64_t));
*(((VkFence*)forUnmarshaling->pFences) + k) =
(VkFence)unbox_VkFence((VkFence)tmpval);
}
}
}
}
void reservedunmarshal_VkSwapchainPresentModesCreateInfoEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkSwapchainPresentModesCreateInfoEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->presentModeCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pPresentModes,
forUnmarshaling->presentModeCount * sizeof(const VkPresentModeKHR));
memcpy((VkPresentModeKHR*)forUnmarshaling->pPresentModes, *ptr,
forUnmarshaling->presentModeCount * sizeof(const VkPresentModeKHR));
*ptr += forUnmarshaling->presentModeCount * sizeof(const VkPresentModeKHR);
}
void reservedunmarshal_VkSwapchainPresentModeInfoEXT(VulkanStream* vkStream,
VkStructureType rootType,
VkSwapchainPresentModeInfoEXT* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->swapchainCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pPresentModes,
forUnmarshaling->swapchainCount * sizeof(const VkPresentModeKHR));
memcpy((VkPresentModeKHR*)forUnmarshaling->pPresentModes, *ptr,
forUnmarshaling->swapchainCount * sizeof(const VkPresentModeKHR));
*ptr += forUnmarshaling->swapchainCount * sizeof(const VkPresentModeKHR);
}
void reservedunmarshal_VkSwapchainPresentScalingCreateInfoEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkSwapchainPresentScalingCreateInfoEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkPresentScalingFlagsEXT*)&forUnmarshaling->scalingBehavior, *ptr,
sizeof(VkPresentScalingFlagsEXT));
*ptr += sizeof(VkPresentScalingFlagsEXT);
memcpy((VkPresentGravityFlagsEXT*)&forUnmarshaling->presentGravityX, *ptr,
sizeof(VkPresentGravityFlagsEXT));
*ptr += sizeof(VkPresentGravityFlagsEXT);
memcpy((VkPresentGravityFlagsEXT*)&forUnmarshaling->presentGravityY, *ptr,
sizeof(VkPresentGravityFlagsEXT));
*ptr += sizeof(VkPresentGravityFlagsEXT);
}
void reservedunmarshal_VkReleaseSwapchainImagesInfoEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkReleaseSwapchainImagesInfoEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
uint64_t cgen_var_0;
memcpy((uint64_t*)&cgen_var_0, *ptr, 1 * 8);
*ptr += 1 * 8;
*(VkSwapchainKHR*)&forUnmarshaling->swapchain =
(VkSwapchainKHR)unbox_VkSwapchainKHR((VkSwapchainKHR)(*&cgen_var_0));
memcpy((uint32_t*)&forUnmarshaling->imageIndexCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
vkStream->alloc((void**)&forUnmarshaling->pImageIndices,
forUnmarshaling->imageIndexCount * sizeof(const uint32_t));
memcpy((uint32_t*)forUnmarshaling->pImageIndices, *ptr,
forUnmarshaling->imageIndexCount * sizeof(const uint32_t));
*ptr += forUnmarshaling->imageIndexCount * sizeof(const uint32_t);
}
#endif
#ifdef VK_EXT_shader_demote_to_helper_invocation
#endif
#ifdef VK_EXT_texel_buffer_alignment
void reservedunmarshal_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->texelBufferAlignment, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
#endif
#ifdef VK_EXT_device_memory_report
void reservedunmarshal_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceDeviceMemoryReportFeaturesEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->deviceMemoryReport, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkDeviceMemoryReportCallbackDataEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkDeviceMemoryReportCallbackDataEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkDeviceMemoryReportFlagsEXT*)&forUnmarshaling->flags, *ptr,
sizeof(VkDeviceMemoryReportFlagsEXT));
*ptr += sizeof(VkDeviceMemoryReportFlagsEXT);
memcpy((VkDeviceMemoryReportEventTypeEXT*)&forUnmarshaling->type, *ptr,
sizeof(VkDeviceMemoryReportEventTypeEXT));
*ptr += sizeof(VkDeviceMemoryReportEventTypeEXT);
memcpy((uint64_t*)&forUnmarshaling->memoryObjectId, *ptr, sizeof(uint64_t));
*ptr += sizeof(uint64_t);
memcpy((VkDeviceSize*)&forUnmarshaling->size, *ptr, sizeof(VkDeviceSize));
*ptr += sizeof(VkDeviceSize);
memcpy((VkObjectType*)&forUnmarshaling->objectType, *ptr, sizeof(VkObjectType));
*ptr += sizeof(VkObjectType);
memcpy((uint64_t*)&forUnmarshaling->objectHandle, *ptr, sizeof(uint64_t));
*ptr += sizeof(uint64_t);
memcpy((uint32_t*)&forUnmarshaling->heapIndex, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkDeviceDeviceMemoryReportCreateInfoEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkDeviceDeviceMemoryReportCreateInfoEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkDeviceMemoryReportFlagsEXT*)&forUnmarshaling->flags, *ptr,
sizeof(VkDeviceMemoryReportFlagsEXT));
*ptr += sizeof(VkDeviceMemoryReportFlagsEXT);
memcpy((PFN_vkDeviceMemoryReportCallbackEXT*)&forUnmarshaling->pfnUserCallback, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pfnUserCallback);
*ptr += 8;
vkStream->alloc((void**)&forUnmarshaling->pUserData, sizeof(uint8_t));
memcpy((void*)forUnmarshaling->pUserData, *ptr, sizeof(uint8_t));
*ptr += sizeof(uint8_t);
}
#endif
#ifdef VK_EXT_custom_border_color
void reservedunmarshal_VkSamplerCustomBorderColorCreateInfoEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkSamplerCustomBorderColorCreateInfoEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
reservedunmarshal_VkClearColorValue(
vkStream, rootType, (VkClearColorValue*)(&forUnmarshaling->customBorderColor), ptr);
memcpy((VkFormat*)&forUnmarshaling->format, *ptr, sizeof(VkFormat));
*ptr += sizeof(VkFormat);
}
void reservedunmarshal_VkPhysicalDeviceCustomBorderColorPropertiesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceCustomBorderColorPropertiesEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->maxCustomBorderColorSamplers, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkPhysicalDeviceCustomBorderColorFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceCustomBorderColorFeaturesEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->customBorderColors, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->customBorderColorWithoutFormat, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
#endif
#ifdef VK_EXT_private_data
#endif
#ifdef VK_EXT_pipeline_creation_cache_control
#endif
#ifdef VK_EXT_graphics_pipeline_library
void reservedunmarshal_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->graphicsPipelineLibrary, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->graphicsPipelineLibraryFastLinking, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->graphicsPipelineLibraryIndependentInterpolationDecoration,
*ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkGraphicsPipelineLibraryCreateInfoEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkGraphicsPipelineLibraryCreateInfoEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkGraphicsPipelineLibraryFlagsEXT*)&forUnmarshaling->flags, *ptr,
sizeof(VkGraphicsPipelineLibraryFlagsEXT));
*ptr += sizeof(VkGraphicsPipelineLibraryFlagsEXT);
}
#endif
#ifdef VK_EXT_ycbcr_2plane_444_formats
void reservedunmarshal_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->ycbcr2plane444Formats, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
#endif
#ifdef VK_EXT_image_robustness
#endif
#ifdef VK_EXT_image_compression_control
void reservedunmarshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceImageCompressionControlFeaturesEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->imageCompressionControl, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
void reservedunmarshal_VkImageCompressionControlEXT(VulkanStream* vkStream,
VkStructureType rootType,
VkImageCompressionControlEXT* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkImageCompressionFlagsEXT*)&forUnmarshaling->flags, *ptr,
sizeof(VkImageCompressionFlagsEXT));
*ptr += sizeof(VkImageCompressionFlagsEXT);
memcpy((uint32_t*)&forUnmarshaling->compressionControlPlaneCount, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
// WARNING PTR CHECK
memcpy((VkImageCompressionFixedRateFlagsEXT**)&forUnmarshaling->pFixedRateFlags, (*ptr), 8);
android::base::Stream::fromBe64((uint8_t*)&forUnmarshaling->pFixedRateFlags);
*ptr += 8;
if (forUnmarshaling->pFixedRateFlags) {
vkStream->alloc((void**)&forUnmarshaling->pFixedRateFlags,
forUnmarshaling->compressionControlPlaneCount *
sizeof(VkImageCompressionFixedRateFlagsEXT));
memcpy((VkImageCompressionFixedRateFlagsEXT*)forUnmarshaling->pFixedRateFlags, *ptr,
forUnmarshaling->compressionControlPlaneCount *
sizeof(VkImageCompressionFixedRateFlagsEXT));
*ptr += forUnmarshaling->compressionControlPlaneCount *
sizeof(VkImageCompressionFixedRateFlagsEXT);
}
}
void reservedunmarshal_VkImageCompressionPropertiesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkImageCompressionPropertiesEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkImageCompressionFlagsEXT*)&forUnmarshaling->imageCompressionFlags, *ptr,
sizeof(VkImageCompressionFlagsEXT));
*ptr += sizeof(VkImageCompressionFlagsEXT);
memcpy((VkImageCompressionFixedRateFlagsEXT*)&forUnmarshaling->imageCompressionFixedRateFlags,
*ptr, sizeof(VkImageCompressionFixedRateFlagsEXT));
*ptr += sizeof(VkImageCompressionFixedRateFlagsEXT);
}
#endif
#ifdef VK_EXT_4444_formats
void reservedunmarshal_VkPhysicalDevice4444FormatsFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDevice4444FormatsFeaturesEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->formatA4R4G4B4, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->formatA4B4G4R4, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
#endif
#ifdef VK_EXT_primitive_topology_list_restart
void reservedunmarshal_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->primitiveTopologyListRestart, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->primitiveTopologyPatchListRestart, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
#endif
#ifdef VK_EXT_extended_dynamic_state2
void reservedunmarshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceExtendedDynamicState2FeaturesEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->extendedDynamicState2, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->extendedDynamicState2LogicOp, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
memcpy((VkBool32*)&forUnmarshaling->extendedDynamicState2PatchControlPoints, *ptr,
sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
#endif
#ifdef VK_GOOGLE_gfxstream
void reservedunmarshal_VkImportColorBufferGOOGLE(VulkanStream* vkStream, VkStructureType rootType,
VkImportColorBufferGOOGLE* forUnmarshaling,
uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
forUnmarshaling->sType = VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE;
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->colorBuffer, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkImportBufferGOOGLE(VulkanStream* vkStream, VkStructureType rootType,
VkImportBufferGOOGLE* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
forUnmarshaling->sType = VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE;
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->buffer, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
}
void reservedunmarshal_VkCreateBlobGOOGLE(VulkanStream* vkStream, VkStructureType rootType,
VkCreateBlobGOOGLE* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
forUnmarshaling->sType = VK_STRUCTURE_TYPE_CREATE_BLOB_GOOGLE;
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((uint32_t*)&forUnmarshaling->blobMem, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint32_t*)&forUnmarshaling->blobFlags, *ptr, sizeof(uint32_t));
*ptr += sizeof(uint32_t);
memcpy((uint64_t*)&forUnmarshaling->blobId, *ptr, sizeof(uint64_t));
*ptr += sizeof(uint64_t);
}
#endif
#ifdef VK_EXT_load_store_op_none
#endif
#ifdef VK_EXT_image_compression_control_swapchain
void reservedunmarshal_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(
VulkanStream* vkStream, VkStructureType rootType,
VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT* forUnmarshaling, uint8_t** ptr) {
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size) {
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext,
goldfish_vk_extension_struct_size_with_stream_features(
vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
*(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext),
ptr);
}
memcpy((VkBool32*)&forUnmarshaling->imageCompressionControlSwapchain, *ptr, sizeof(VkBool32));
*ptr += sizeof(VkBool32);
}
#endif
void reservedunmarshal_extension_struct(VulkanStream* vkStream, VkStructureType rootType,
void* structExtension_out, uint8_t** ptr) {
VkInstanceCreateInfo* structAccess = (VkInstanceCreateInfo*)(structExtension_out);
uint32_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
reservedunmarshal_extension_struct(vkStream, rootType, (void*)structAccess->pNext, ptr);
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: {
reservedunmarshal_VkShaderModuleCreateInfo(
vkStream, rootType,
reinterpret_cast<VkShaderModuleCreateInfo*>(structExtension_out), ptr);
break;
}
#endif
#ifdef VK_VERSION_1_1
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: {
reservedunmarshal_VkPhysicalDeviceSubgroupProperties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceSubgroupProperties*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: {
reservedunmarshal_VkPhysicalDevice16BitStorageFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDevice16BitStorageFeatures*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: {
reservedunmarshal_VkMemoryDedicatedRequirements(
vkStream, rootType,
reinterpret_cast<VkMemoryDedicatedRequirements*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: {
reservedunmarshal_VkMemoryDedicatedAllocateInfo(
vkStream, rootType,
reinterpret_cast<VkMemoryDedicatedAllocateInfo*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: {
reservedunmarshal_VkMemoryAllocateFlagsInfo(
vkStream, rootType,
reinterpret_cast<VkMemoryAllocateFlagsInfo*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: {
reservedunmarshal_VkDeviceGroupRenderPassBeginInfo(
vkStream, rootType,
reinterpret_cast<VkDeviceGroupRenderPassBeginInfo*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: {
reservedunmarshal_VkDeviceGroupCommandBufferBeginInfo(
vkStream, rootType,
reinterpret_cast<VkDeviceGroupCommandBufferBeginInfo*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: {
reservedunmarshal_VkDeviceGroupSubmitInfo(
vkStream, rootType, reinterpret_cast<VkDeviceGroupSubmitInfo*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: {
reservedunmarshal_VkDeviceGroupBindSparseInfo(
vkStream, rootType,
reinterpret_cast<VkDeviceGroupBindSparseInfo*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: {
reservedunmarshal_VkBindBufferMemoryDeviceGroupInfo(
vkStream, rootType,
reinterpret_cast<VkBindBufferMemoryDeviceGroupInfo*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: {
reservedunmarshal_VkBindImageMemoryDeviceGroupInfo(
vkStream, rootType,
reinterpret_cast<VkBindImageMemoryDeviceGroupInfo*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: {
reservedunmarshal_VkDeviceGroupDeviceCreateInfo(
vkStream, rootType,
reinterpret_cast<VkDeviceGroupDeviceCreateInfo*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
reservedunmarshal_VkPhysicalDeviceFeatures2(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceFeatures2*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: {
reservedunmarshal_VkPhysicalDevicePointClippingProperties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDevicePointClippingProperties*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: {
reservedunmarshal_VkRenderPassInputAttachmentAspectCreateInfo(
vkStream, rootType,
reinterpret_cast<VkRenderPassInputAttachmentAspectCreateInfo*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: {
reservedunmarshal_VkImageViewUsageCreateInfo(
vkStream, rootType,
reinterpret_cast<VkImageViewUsageCreateInfo*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: {
reservedunmarshal_VkPipelineTessellationDomainOriginStateCreateInfo(
vkStream, rootType,
reinterpret_cast<VkPipelineTessellationDomainOriginStateCreateInfo*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: {
reservedunmarshal_VkRenderPassMultiviewCreateInfo(
vkStream, rootType,
reinterpret_cast<VkRenderPassMultiviewCreateInfo*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: {
reservedunmarshal_VkPhysicalDeviceMultiviewFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceMultiviewFeatures*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: {
reservedunmarshal_VkPhysicalDeviceMultiviewProperties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceMultiviewProperties*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: {
reservedunmarshal_VkPhysicalDeviceVariablePointersFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceVariablePointersFeatures*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: {
reservedunmarshal_VkPhysicalDeviceProtectedMemoryFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceProtectedMemoryFeatures*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: {
reservedunmarshal_VkPhysicalDeviceProtectedMemoryProperties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceProtectedMemoryProperties*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: {
reservedunmarshal_VkProtectedSubmitInfo(
vkStream, rootType, reinterpret_cast<VkProtectedSubmitInfo*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: {
reservedunmarshal_VkSamplerYcbcrConversionInfo(
vkStream, rootType,
reinterpret_cast<VkSamplerYcbcrConversionInfo*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: {
reservedunmarshal_VkBindImagePlaneMemoryInfo(
vkStream, rootType,
reinterpret_cast<VkBindImagePlaneMemoryInfo*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: {
reservedunmarshal_VkImagePlaneMemoryRequirementsInfo(
vkStream, rootType,
reinterpret_cast<VkImagePlaneMemoryRequirementsInfo*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: {
reservedunmarshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: {
reservedunmarshal_VkSamplerYcbcrConversionImageFormatProperties(
vkStream, rootType,
reinterpret_cast<VkSamplerYcbcrConversionImageFormatProperties*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: {
reservedunmarshal_VkPhysicalDeviceExternalImageFormatInfo(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceExternalImageFormatInfo*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: {
reservedunmarshal_VkExternalImageFormatProperties(
vkStream, rootType,
reinterpret_cast<VkExternalImageFormatProperties*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: {
reservedunmarshal_VkPhysicalDeviceIDProperties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceIDProperties*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: {
reservedunmarshal_VkExternalMemoryImageCreateInfo(
vkStream, rootType,
reinterpret_cast<VkExternalMemoryImageCreateInfo*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: {
reservedunmarshal_VkExternalMemoryBufferCreateInfo(
vkStream, rootType,
reinterpret_cast<VkExternalMemoryBufferCreateInfo*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: {
reservedunmarshal_VkExportMemoryAllocateInfo(
vkStream, rootType,
reinterpret_cast<VkExportMemoryAllocateInfo*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: {
reservedunmarshal_VkExportFenceCreateInfo(
vkStream, rootType, reinterpret_cast<VkExportFenceCreateInfo*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: {
reservedunmarshal_VkExportSemaphoreCreateInfo(
vkStream, rootType,
reinterpret_cast<VkExportSemaphoreCreateInfo*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: {
reservedunmarshal_VkPhysicalDeviceMaintenance3Properties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceMaintenance3Properties*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: {
reservedunmarshal_VkPhysicalDeviceShaderDrawParametersFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceShaderDrawParametersFeatures*>(
structExtension_out),
ptr);
break;
}
#endif
#ifdef VK_VERSION_1_2
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: {
reservedunmarshal_VkPhysicalDeviceVulkan11Features(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceVulkan11Features*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: {
reservedunmarshal_VkPhysicalDeviceVulkan11Properties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceVulkan11Properties*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES: {
reservedunmarshal_VkPhysicalDeviceVulkan12Features(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceVulkan12Features*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES: {
reservedunmarshal_VkPhysicalDeviceVulkan12Properties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceVulkan12Properties*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO: {
reservedunmarshal_VkImageFormatListCreateInfo(
vkStream, rootType,
reinterpret_cast<VkImageFormatListCreateInfo*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: {
reservedunmarshal_VkPhysicalDevice8BitStorageFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDevice8BitStorageFeatures*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: {
reservedunmarshal_VkPhysicalDeviceDriverProperties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceDriverProperties*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: {
reservedunmarshal_VkPhysicalDeviceShaderAtomicInt64Features(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceShaderAtomicInt64Features*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: {
reservedunmarshal_VkPhysicalDeviceShaderFloat16Int8Features(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceShaderFloat16Int8Features*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: {
reservedunmarshal_VkPhysicalDeviceFloatControlsProperties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceFloatControlsProperties*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: {
reservedunmarshal_VkDescriptorSetLayoutBindingFlagsCreateInfo(
vkStream, rootType,
reinterpret_cast<VkDescriptorSetLayoutBindingFlagsCreateInfo*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: {
reservedunmarshal_VkPhysicalDeviceDescriptorIndexingFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceDescriptorIndexingFeatures*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: {
reservedunmarshal_VkPhysicalDeviceDescriptorIndexingProperties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceDescriptorIndexingProperties*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: {
reservedunmarshal_VkDescriptorSetVariableDescriptorCountAllocateInfo(
vkStream, rootType,
reinterpret_cast<VkDescriptorSetVariableDescriptorCountAllocateInfo*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: {
reservedunmarshal_VkDescriptorSetVariableDescriptorCountLayoutSupport(
vkStream, rootType,
reinterpret_cast<VkDescriptorSetVariableDescriptorCountLayoutSupport*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: {
reservedunmarshal_VkSubpassDescriptionDepthStencilResolve(
vkStream, rootType,
reinterpret_cast<VkSubpassDescriptionDepthStencilResolve*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: {
reservedunmarshal_VkPhysicalDeviceDepthStencilResolveProperties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceDepthStencilResolveProperties*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: {
reservedunmarshal_VkPhysicalDeviceScalarBlockLayoutFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceScalarBlockLayoutFeatures*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: {
reservedunmarshal_VkImageStencilUsageCreateInfo(
vkStream, rootType,
reinterpret_cast<VkImageStencilUsageCreateInfo*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: {
reservedunmarshal_VkSamplerReductionModeCreateInfo(
vkStream, rootType,
reinterpret_cast<VkSamplerReductionModeCreateInfo*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: {
reservedunmarshal_VkPhysicalDeviceSamplerFilterMinmaxProperties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceSamplerFilterMinmaxProperties*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES: {
reservedunmarshal_VkPhysicalDeviceVulkanMemoryModelFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceVulkanMemoryModelFeatures*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: {
reservedunmarshal_VkPhysicalDeviceImagelessFramebufferFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceImagelessFramebufferFeatures*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: {
reservedunmarshal_VkFramebufferAttachmentsCreateInfo(
vkStream, rootType,
reinterpret_cast<VkFramebufferAttachmentsCreateInfo*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: {
reservedunmarshal_VkRenderPassAttachmentBeginInfo(
vkStream, rootType,
reinterpret_cast<VkRenderPassAttachmentBeginInfo*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: {
reservedunmarshal_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceUniformBufferStandardLayoutFeatures*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: {
reservedunmarshal_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: {
reservedunmarshal_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: {
reservedunmarshal_VkAttachmentReferenceStencilLayout(
vkStream, rootType,
reinterpret_cast<VkAttachmentReferenceStencilLayout*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: {
reservedunmarshal_VkAttachmentDescriptionStencilLayout(
vkStream, rootType,
reinterpret_cast<VkAttachmentDescriptionStencilLayout*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: {
reservedunmarshal_VkPhysicalDeviceHostQueryResetFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceHostQueryResetFeatures*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES: {
reservedunmarshal_VkPhysicalDeviceTimelineSemaphoreFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceTimelineSemaphoreFeatures*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES: {
reservedunmarshal_VkPhysicalDeviceTimelineSemaphoreProperties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceTimelineSemaphoreProperties*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO: {
reservedunmarshal_VkSemaphoreTypeCreateInfo(
vkStream, rootType,
reinterpret_cast<VkSemaphoreTypeCreateInfo*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO: {
reservedunmarshal_VkTimelineSemaphoreSubmitInfo(
vkStream, rootType,
reinterpret_cast<VkTimelineSemaphoreSubmitInfo*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES: {
reservedunmarshal_VkPhysicalDeviceBufferDeviceAddressFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceBufferDeviceAddressFeatures*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO: {
reservedunmarshal_VkBufferOpaqueCaptureAddressCreateInfo(
vkStream, rootType,
reinterpret_cast<VkBufferOpaqueCaptureAddressCreateInfo*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO: {
reservedunmarshal_VkMemoryOpaqueCaptureAddressAllocateInfo(
vkStream, rootType,
reinterpret_cast<VkMemoryOpaqueCaptureAddressAllocateInfo*>(structExtension_out),
ptr);
break;
}
#endif
#ifdef VK_VERSION_1_3
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES: {
reservedunmarshal_VkPhysicalDeviceVulkan13Features(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceVulkan13Features*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES: {
reservedunmarshal_VkPhysicalDeviceVulkan13Properties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceVulkan13Properties*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO: {
reservedunmarshal_VkPipelineCreationFeedbackCreateInfo(
vkStream, rootType,
reinterpret_cast<VkPipelineCreationFeedbackCreateInfo*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES: {
reservedunmarshal_VkPhysicalDeviceShaderTerminateInvocationFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceShaderTerminateInvocationFeatures*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES: {
reservedunmarshal_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES: {
reservedunmarshal_VkPhysicalDevicePrivateDataFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDevicePrivateDataFeatures*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO: {
reservedunmarshal_VkDevicePrivateDataCreateInfo(
vkStream, rootType,
reinterpret_cast<VkDevicePrivateDataCreateInfo*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: {
reservedunmarshal_VkPhysicalDevicePipelineCreationCacheControlFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDevicePipelineCreationCacheControlFeatures*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2: {
reservedunmarshal_VkMemoryBarrier2(
vkStream, rootType, reinterpret_cast<VkMemoryBarrier2*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES: {
reservedunmarshal_VkPhysicalDeviceSynchronization2Features(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceSynchronization2Features*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES: {
reservedunmarshal_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES: {
reservedunmarshal_VkPhysicalDeviceImageRobustnessFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceImageRobustnessFeatures*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES: {
reservedunmarshal_VkPhysicalDeviceSubgroupSizeControlFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceSubgroupSizeControlFeatures*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES: {
reservedunmarshal_VkPhysicalDeviceSubgroupSizeControlProperties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceSubgroupSizeControlProperties*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO: {
reservedunmarshal_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(
vkStream, rootType,
reinterpret_cast<VkPipelineShaderStageRequiredSubgroupSizeCreateInfo*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES: {
reservedunmarshal_VkPhysicalDeviceInlineUniformBlockFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceInlineUniformBlockFeatures*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES: {
reservedunmarshal_VkPhysicalDeviceInlineUniformBlockProperties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceInlineUniformBlockProperties*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK: {
reservedunmarshal_VkWriteDescriptorSetInlineUniformBlock(
vkStream, rootType,
reinterpret_cast<VkWriteDescriptorSetInlineUniformBlock*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO: {
reservedunmarshal_VkDescriptorPoolInlineUniformBlockCreateInfo(
vkStream, rootType,
reinterpret_cast<VkDescriptorPoolInlineUniformBlockCreateInfo*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: {
reservedunmarshal_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceTextureCompressionASTCHDRFeatures*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO: {
reservedunmarshal_VkPipelineRenderingCreateInfo(
vkStream, rootType,
reinterpret_cast<VkPipelineRenderingCreateInfo*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES: {
reservedunmarshal_VkPhysicalDeviceDynamicRenderingFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceDynamicRenderingFeatures*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO: {
reservedunmarshal_VkCommandBufferInheritanceRenderingInfo(
vkStream, rootType,
reinterpret_cast<VkCommandBufferInheritanceRenderingInfo*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES: {
reservedunmarshal_VkPhysicalDeviceShaderIntegerDotProductFeatures(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceShaderIntegerDotProductFeatures*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES: {
reservedunmarshal_VkPhysicalDeviceShaderIntegerDotProductProperties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceShaderIntegerDotProductProperties*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES: {
reservedunmarshal_VkPhysicalDeviceTexelBufferAlignmentProperties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceTexelBufferAlignmentProperties*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3: {
reservedunmarshal_VkFormatProperties3(
vkStream, rootType, reinterpret_cast<VkFormatProperties3*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES: {
reservedunmarshal_VkPhysicalDeviceMaintenance4Features(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceMaintenance4Features*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES: {
reservedunmarshal_VkPhysicalDeviceMaintenance4Properties(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceMaintenance4Properties*>(structExtension_out),
ptr);
break;
}
#endif
#ifdef VK_KHR_swapchain
case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: {
reservedunmarshal_VkImageSwapchainCreateInfoKHR(
vkStream, rootType,
reinterpret_cast<VkImageSwapchainCreateInfoKHR*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR: {
reservedunmarshal_VkBindImageMemorySwapchainInfoKHR(
vkStream, rootType,
reinterpret_cast<VkBindImageMemorySwapchainInfoKHR*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR: {
reservedunmarshal_VkDeviceGroupPresentInfoKHR(
vkStream, rootType,
reinterpret_cast<VkDeviceGroupPresentInfoKHR*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR: {
reservedunmarshal_VkDeviceGroupSwapchainCreateInfoKHR(
vkStream, rootType,
reinterpret_cast<VkDeviceGroupSwapchainCreateInfoKHR*>(structExtension_out), ptr);
break;
}
#endif
#ifdef VK_KHR_dynamic_rendering
case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: {
reservedunmarshal_VkRenderingFragmentShadingRateAttachmentInfoKHR(
vkStream, rootType,
reinterpret_cast<VkRenderingFragmentShadingRateAttachmentInfoKHR*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT: {
reservedunmarshal_VkRenderingFragmentDensityMapAttachmentInfoEXT(
vkStream, rootType,
reinterpret_cast<VkRenderingFragmentDensityMapAttachmentInfoEXT*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD: {
reservedunmarshal_VkAttachmentSampleCountInfoAMD(
vkStream, rootType,
reinterpret_cast<VkAttachmentSampleCountInfoAMD*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX: {
reservedunmarshal_VkMultiviewPerViewAttributesInfoNVX(
vkStream, rootType,
reinterpret_cast<VkMultiviewPerViewAttributesInfoNVX*>(structExtension_out), ptr);
break;
}
#endif
#ifdef VK_KHR_incremental_present
case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: {
reservedunmarshal_VkPresentRegionsKHR(
vkStream, rootType, reinterpret_cast<VkPresentRegionsKHR*>(structExtension_out),
ptr);
break;
}
#endif
#ifdef VK_KHR_pipeline_executable_properties
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR: {
reservedunmarshal_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
vkStream, rootType,
reinterpret_cast<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR*>(
structExtension_out),
ptr);
break;
}
#endif
#ifdef VK_KHR_synchronization2
case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: {
reservedunmarshal_VkQueueFamilyCheckpointProperties2NV(
vkStream, rootType,
reinterpret_cast<VkQueueFamilyCheckpointProperties2NV*>(structExtension_out), ptr);
break;
}
#endif
#ifdef VK_KHR_maintenance5
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR: {
reservedunmarshal_VkPhysicalDeviceMaintenance5FeaturesKHR(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceMaintenance5FeaturesKHR*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR: {
reservedunmarshal_VkPhysicalDeviceMaintenance5PropertiesKHR(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceMaintenance5PropertiesKHR*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR: {
reservedunmarshal_VkPipelineCreateFlags2CreateInfoKHR(
vkStream, rootType,
reinterpret_cast<VkPipelineCreateFlags2CreateInfoKHR*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR: {
reservedunmarshal_VkBufferUsageFlags2CreateInfoKHR(
vkStream, rootType,
reinterpret_cast<VkBufferUsageFlags2CreateInfoKHR*>(structExtension_out), ptr);
break;
}
#endif
#ifdef VK_ANDROID_native_buffer
case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID: {
reservedunmarshal_VkNativeBufferANDROID(
vkStream, rootType, reinterpret_cast<VkNativeBufferANDROID*>(structExtension_out),
ptr);
break;
}
#endif
#ifdef VK_EXT_transform_feedback
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: {
reservedunmarshal_VkPhysicalDeviceTransformFeedbackFeaturesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceTransformFeedbackFeaturesEXT*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: {
reservedunmarshal_VkPhysicalDeviceTransformFeedbackPropertiesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceTransformFeedbackPropertiesEXT*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: {
reservedunmarshal_VkPipelineRasterizationStateStreamCreateInfoEXT(
vkStream, rootType,
reinterpret_cast<VkPipelineRasterizationStateStreamCreateInfoEXT*>(
structExtension_out),
ptr);
break;
}
#endif
#ifdef VK_EXT_provoking_vertex
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT: {
reservedunmarshal_VkPhysicalDeviceProvokingVertexFeaturesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceProvokingVertexFeaturesEXT*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: {
reservedunmarshal_VkPhysicalDeviceProvokingVertexPropertiesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceProvokingVertexPropertiesEXT*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT: {
reservedunmarshal_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(
vkStream, rootType,
reinterpret_cast<VkPipelineRasterizationProvokingVertexStateCreateInfoEXT*>(
structExtension_out),
ptr);
break;
}
#endif
#ifdef VK_EXT_line_rasterization
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT: {
reservedunmarshal_VkPhysicalDeviceLineRasterizationFeaturesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceLineRasterizationFeaturesEXT*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT: {
reservedunmarshal_VkPhysicalDeviceLineRasterizationPropertiesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceLineRasterizationPropertiesEXT*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT: {
reservedunmarshal_VkPipelineRasterizationLineStateCreateInfoEXT(
vkStream, rootType,
reinterpret_cast<VkPipelineRasterizationLineStateCreateInfoEXT*>(
structExtension_out),
ptr);
break;
}
#endif
#ifdef VK_EXT_index_type_uint8
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT: {
reservedunmarshal_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceIndexTypeUint8FeaturesEXT*>(structExtension_out),
ptr);
break;
}
#endif
#ifdef VK_EXT_extended_dynamic_state
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: {
reservedunmarshal_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceExtendedDynamicStateFeaturesEXT*>(
structExtension_out),
ptr);
break;
}
#endif
#ifdef VK_EXT_host_image_copy
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT: {
reservedunmarshal_VkPhysicalDeviceHostImageCopyFeaturesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceHostImageCopyFeaturesEXT*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT: {
reservedunmarshal_VkPhysicalDeviceHostImageCopyPropertiesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceHostImageCopyPropertiesEXT*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE_EXT: {
reservedunmarshal_VkSubresourceHostMemcpySizeEXT(
vkStream, rootType,
reinterpret_cast<VkSubresourceHostMemcpySizeEXT*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT: {
reservedunmarshal_VkHostImageCopyDevicePerformanceQueryEXT(
vkStream, rootType,
reinterpret_cast<VkHostImageCopyDevicePerformanceQueryEXT*>(structExtension_out),
ptr);
break;
}
#endif
#ifdef VK_EXT_swapchain_maintenance1
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT: {
reservedunmarshal_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT: {
reservedunmarshal_VkSwapchainPresentFenceInfoEXT(
vkStream, rootType,
reinterpret_cast<VkSwapchainPresentFenceInfoEXT*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT: {
reservedunmarshal_VkSwapchainPresentModesCreateInfoEXT(
vkStream, rootType,
reinterpret_cast<VkSwapchainPresentModesCreateInfoEXT*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT: {
reservedunmarshal_VkSwapchainPresentModeInfoEXT(
vkStream, rootType,
reinterpret_cast<VkSwapchainPresentModeInfoEXT*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT: {
reservedunmarshal_VkSwapchainPresentScalingCreateInfoEXT(
vkStream, rootType,
reinterpret_cast<VkSwapchainPresentScalingCreateInfoEXT*>(structExtension_out),
ptr);
break;
}
#endif
#ifdef VK_EXT_texel_buffer_alignment
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: {
reservedunmarshal_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT*>(
structExtension_out),
ptr);
break;
}
#endif
#ifdef VK_EXT_device_memory_report
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT: {
reservedunmarshal_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT: {
reservedunmarshal_VkDeviceDeviceMemoryReportCreateInfoEXT(
vkStream, rootType,
reinterpret_cast<VkDeviceDeviceMemoryReportCreateInfoEXT*>(structExtension_out),
ptr);
break;
}
#endif
#ifdef VK_EXT_custom_border_color
case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: {
reservedunmarshal_VkSamplerCustomBorderColorCreateInfoEXT(
vkStream, rootType,
reinterpret_cast<VkSamplerCustomBorderColorCreateInfoEXT*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: {
reservedunmarshal_VkPhysicalDeviceCustomBorderColorPropertiesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceCustomBorderColorPropertiesEXT*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: {
reservedunmarshal_VkPhysicalDeviceCustomBorderColorFeaturesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceCustomBorderColorFeaturesEXT*>(
structExtension_out),
ptr);
break;
}
#endif
#ifdef VK_EXT_graphics_pipeline_library
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: {
reservedunmarshal_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT: {
reservedunmarshal_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT: {
reservedunmarshal_VkGraphicsPipelineLibraryCreateInfoEXT(
vkStream, rootType,
reinterpret_cast<VkGraphicsPipelineLibraryCreateInfoEXT*>(structExtension_out),
ptr);
break;
}
#endif
#ifdef VK_EXT_ycbcr_2plane_444_formats
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: {
reservedunmarshal_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT*>(
structExtension_out),
ptr);
break;
}
#endif
#ifdef VK_EXT_image_compression_control
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT: {
reservedunmarshal_VkPhysicalDeviceImageCompressionControlFeaturesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceImageCompressionControlFeaturesEXT*>(
structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT: {
reservedunmarshal_VkImageCompressionControlEXT(
vkStream, rootType,
reinterpret_cast<VkImageCompressionControlEXT*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT: {
reservedunmarshal_VkImageCompressionPropertiesEXT(
vkStream, rootType,
reinterpret_cast<VkImageCompressionPropertiesEXT*>(structExtension_out), ptr);
break;
}
#endif
#ifdef VK_EXT_4444_formats
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: {
reservedunmarshal_VkPhysicalDevice4444FormatsFeaturesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDevice4444FormatsFeaturesEXT*>(structExtension_out),
ptr);
break;
}
#endif
#ifdef VK_EXT_primitive_topology_list_restart
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT: {
reservedunmarshal_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT*>(
structExtension_out),
ptr);
break;
}
#endif
#ifdef VK_EXT_extended_dynamic_state2
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT: {
reservedunmarshal_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceExtendedDynamicState2FeaturesEXT*>(
structExtension_out),
ptr);
break;
}
#endif
#ifdef VK_GOOGLE_gfxstream
case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE: {
reservedunmarshal_VkImportColorBufferGOOGLE(
vkStream, rootType,
reinterpret_cast<VkImportColorBufferGOOGLE*>(structExtension_out), ptr);
break;
}
case VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE: {
reservedunmarshal_VkImportBufferGOOGLE(
vkStream, rootType, reinterpret_cast<VkImportBufferGOOGLE*>(structExtension_out),
ptr);
break;
}
case VK_STRUCTURE_TYPE_CREATE_BLOB_GOOGLE: {
reservedunmarshal_VkCreateBlobGOOGLE(
vkStream, rootType, reinterpret_cast<VkCreateBlobGOOGLE*>(structExtension_out),
ptr);
break;
}
#endif
#ifdef VK_EXT_image_compression_control_swapchain
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT: {
reservedunmarshal_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(
vkStream, rootType,
reinterpret_cast<VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT*>(
structExtension_out),
ptr);
break;
}
#endif
default: {
// fatal; the switch is only taken if the extension struct is known
abort();
}
}
}
} // namespace vk
} // namespace gfxstream