blob: 4f59d219d0d80897e47384e01d90f60e820bdcb8 [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_deepcopy_guest
// (impl) generated by android/android-emugl/host/libs/libOpenglRender/vulkan-registry/xml/genvk.py -registry android/android-emugl/host/libs/libOpenglRender/vulkan-registry/xml/vk.xml cereal -o android/android-emugl/host/libs/libOpenglRender/vulkan/cereal
// Please do not modify directly;
// re-run android/scripts/generate-vulkan-sources.sh,
// or directly from Python by defining:
// VULKAN_REGISTRY_XML_DIR : Directory containing genvk.py and vk.xml
// CEREAL_OUTPUT_DIR: Where to put the generated sources.
// python3 $VULKAN_REGISTRY_XML_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o $CEREAL_OUTPUT_DIR
#include "goldfish_vk_deepcopy_guest.h"
#include "goldfish_vk_extension_structs_guest.h"
#include "goldfish_vk_private_defs.h"
namespace goldfish_vk {
void deepcopy_extension_struct(
Pool* pool,
const void* structExtension,
void* structExtension_out);
#ifdef VK_VERSION_1_0
void deepcopy_VkApplicationInfo(
Pool* pool,
const VkApplicationInfo* from,
VkApplicationInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pApplicationName = nullptr;
if (from->pApplicationName)
{
to->pApplicationName = pool->strDup(from->pApplicationName);
}
to->pEngineName = nullptr;
if (from->pEngineName)
{
to->pEngineName = pool->strDup(from->pEngineName);
}
}
void deepcopy_VkInstanceCreateInfo(
Pool* pool,
const VkInstanceCreateInfo* from,
VkInstanceCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pApplicationInfo = nullptr;
if (from->pApplicationInfo)
{
to->pApplicationInfo = (VkApplicationInfo*)pool->alloc(sizeof(const VkApplicationInfo));
deepcopy_VkApplicationInfo(pool, from->pApplicationInfo, (VkApplicationInfo*)(to->pApplicationInfo));
}
to->ppEnabledLayerNames = nullptr;
if (from->ppEnabledLayerNames && from->enabledLayerCount)
{
to->ppEnabledLayerNames = pool->strDupArray(from->ppEnabledLayerNames, from->enabledLayerCount);
}
to->ppEnabledExtensionNames = nullptr;
if (from->ppEnabledExtensionNames && from->enabledExtensionCount)
{
to->ppEnabledExtensionNames = pool->strDupArray(from->ppEnabledExtensionNames, from->enabledExtensionCount);
}
}
void deepcopy_VkAllocationCallbacks(
Pool* pool,
const VkAllocationCallbacks* from,
VkAllocationCallbacks* to)
{
(void)pool;
*to = *from;
to->pUserData = nullptr;
if (from->pUserData)
{
to->pUserData = (void*)pool->dupArray(from->pUserData, sizeof(uint8_t));
}
}
void deepcopy_VkPhysicalDeviceFeatures(
Pool* pool,
const VkPhysicalDeviceFeatures* from,
VkPhysicalDeviceFeatures* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkFormatProperties(
Pool* pool,
const VkFormatProperties* from,
VkFormatProperties* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkExtent3D(
Pool* pool,
const VkExtent3D* from,
VkExtent3D* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkImageFormatProperties(
Pool* pool,
const VkImageFormatProperties* from,
VkImageFormatProperties* to)
{
(void)pool;
*to = *from;
deepcopy_VkExtent3D(pool, &from->maxExtent, (VkExtent3D*)(&to->maxExtent));
}
void deepcopy_VkPhysicalDeviceLimits(
Pool* pool,
const VkPhysicalDeviceLimits* from,
VkPhysicalDeviceLimits* to)
{
(void)pool;
*to = *from;
memcpy(to->maxComputeWorkGroupCount, from->maxComputeWorkGroupCount, 3 * sizeof(uint32_t));
memcpy(to->maxComputeWorkGroupSize, from->maxComputeWorkGroupSize, 3 * sizeof(uint32_t));
memcpy(to->maxViewportDimensions, from->maxViewportDimensions, 2 * sizeof(uint32_t));
memcpy(to->viewportBoundsRange, from->viewportBoundsRange, 2 * sizeof(float));
memcpy(to->pointSizeRange, from->pointSizeRange, 2 * sizeof(float));
memcpy(to->lineWidthRange, from->lineWidthRange, 2 * sizeof(float));
}
void deepcopy_VkPhysicalDeviceSparseProperties(
Pool* pool,
const VkPhysicalDeviceSparseProperties* from,
VkPhysicalDeviceSparseProperties* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkPhysicalDeviceProperties(
Pool* pool,
const VkPhysicalDeviceProperties* from,
VkPhysicalDeviceProperties* to)
{
(void)pool;
*to = *from;
memcpy(to->deviceName, from->deviceName, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE * sizeof(char));
memcpy(to->pipelineCacheUUID, from->pipelineCacheUUID, VK_UUID_SIZE * sizeof(uint8_t));
deepcopy_VkPhysicalDeviceLimits(pool, &from->limits, (VkPhysicalDeviceLimits*)(&to->limits));
deepcopy_VkPhysicalDeviceSparseProperties(pool, &from->sparseProperties, (VkPhysicalDeviceSparseProperties*)(&to->sparseProperties));
}
void deepcopy_VkQueueFamilyProperties(
Pool* pool,
const VkQueueFamilyProperties* from,
VkQueueFamilyProperties* to)
{
(void)pool;
*to = *from;
deepcopy_VkExtent3D(pool, &from->minImageTransferGranularity, (VkExtent3D*)(&to->minImageTransferGranularity));
}
void deepcopy_VkMemoryType(
Pool* pool,
const VkMemoryType* from,
VkMemoryType* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkMemoryHeap(
Pool* pool,
const VkMemoryHeap* from,
VkMemoryHeap* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkPhysicalDeviceMemoryProperties(
Pool* pool,
const VkPhysicalDeviceMemoryProperties* from,
VkPhysicalDeviceMemoryProperties* to)
{
(void)pool;
*to = *from;
for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_TYPES; ++i)
{
deepcopy_VkMemoryType(pool, from->memoryTypes + i, (VkMemoryType*)(to->memoryTypes + i));
}
for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_HEAPS; ++i)
{
deepcopy_VkMemoryHeap(pool, from->memoryHeaps + i, (VkMemoryHeap*)(to->memoryHeaps + i));
}
}
void deepcopy_VkDeviceQueueCreateInfo(
Pool* pool,
const VkDeviceQueueCreateInfo* from,
VkDeviceQueueCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pQueuePriorities = nullptr;
if (from->pQueuePriorities)
{
to->pQueuePriorities = (float*)pool->dupArray(from->pQueuePriorities, from->queueCount * sizeof(const float));
}
}
void deepcopy_VkDeviceCreateInfo(
Pool* pool,
const VkDeviceCreateInfo* from,
VkDeviceCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pQueueCreateInfos = nullptr;
if (from->pQueueCreateInfos)
{
to->pQueueCreateInfos = (VkDeviceQueueCreateInfo*)pool->alloc(from->queueCreateInfoCount * sizeof(const VkDeviceQueueCreateInfo));
to->queueCreateInfoCount = from->queueCreateInfoCount;
for (uint32_t i = 0; i < (uint32_t)from->queueCreateInfoCount; ++i)
{
deepcopy_VkDeviceQueueCreateInfo(pool, from->pQueueCreateInfos + i, (VkDeviceQueueCreateInfo*)(to->pQueueCreateInfos + i));
}
}
to->ppEnabledLayerNames = nullptr;
if (from->ppEnabledLayerNames && from->enabledLayerCount)
{
to->ppEnabledLayerNames = pool->strDupArray(from->ppEnabledLayerNames, from->enabledLayerCount);
}
to->ppEnabledExtensionNames = nullptr;
if (from->ppEnabledExtensionNames && from->enabledExtensionCount)
{
to->ppEnabledExtensionNames = pool->strDupArray(from->ppEnabledExtensionNames, from->enabledExtensionCount);
}
to->pEnabledFeatures = nullptr;
if (from->pEnabledFeatures)
{
to->pEnabledFeatures = (VkPhysicalDeviceFeatures*)pool->alloc(sizeof(const VkPhysicalDeviceFeatures));
deepcopy_VkPhysicalDeviceFeatures(pool, from->pEnabledFeatures, (VkPhysicalDeviceFeatures*)(to->pEnabledFeatures));
}
}
void deepcopy_VkExtensionProperties(
Pool* pool,
const VkExtensionProperties* from,
VkExtensionProperties* to)
{
(void)pool;
*to = *from;
memcpy(to->extensionName, from->extensionName, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
}
void deepcopy_VkLayerProperties(
Pool* pool,
const VkLayerProperties* from,
VkLayerProperties* to)
{
(void)pool;
*to = *from;
memcpy(to->layerName, from->layerName, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
memcpy(to->description, from->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
}
void deepcopy_VkSubmitInfo(
Pool* pool,
const VkSubmitInfo* from,
VkSubmitInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pWaitSemaphores = nullptr;
if (from->pWaitSemaphores)
{
to->pWaitSemaphores = (VkSemaphore*)pool->dupArray(from->pWaitSemaphores, from->waitSemaphoreCount * sizeof(const VkSemaphore));
}
to->pWaitDstStageMask = nullptr;
if (from->pWaitDstStageMask)
{
to->pWaitDstStageMask = (VkPipelineStageFlags*)pool->dupArray(from->pWaitDstStageMask, from->waitSemaphoreCount * sizeof(const VkPipelineStageFlags));
}
to->pCommandBuffers = nullptr;
if (from->pCommandBuffers)
{
to->pCommandBuffers = (VkCommandBuffer*)pool->dupArray(from->pCommandBuffers, from->commandBufferCount * sizeof(const VkCommandBuffer));
}
to->pSignalSemaphores = nullptr;
if (from->pSignalSemaphores)
{
to->pSignalSemaphores = (VkSemaphore*)pool->dupArray(from->pSignalSemaphores, from->signalSemaphoreCount * sizeof(const VkSemaphore));
}
}
void deepcopy_VkMemoryAllocateInfo(
Pool* pool,
const VkMemoryAllocateInfo* from,
VkMemoryAllocateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkMappedMemoryRange(
Pool* pool,
const VkMappedMemoryRange* from,
VkMappedMemoryRange* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkMemoryRequirements(
Pool* pool,
const VkMemoryRequirements* from,
VkMemoryRequirements* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkSparseImageFormatProperties(
Pool* pool,
const VkSparseImageFormatProperties* from,
VkSparseImageFormatProperties* to)
{
(void)pool;
*to = *from;
deepcopy_VkExtent3D(pool, &from->imageGranularity, (VkExtent3D*)(&to->imageGranularity));
}
void deepcopy_VkSparseImageMemoryRequirements(
Pool* pool,
const VkSparseImageMemoryRequirements* from,
VkSparseImageMemoryRequirements* to)
{
(void)pool;
*to = *from;
deepcopy_VkSparseImageFormatProperties(pool, &from->formatProperties, (VkSparseImageFormatProperties*)(&to->formatProperties));
}
void deepcopy_VkSparseMemoryBind(
Pool* pool,
const VkSparseMemoryBind* from,
VkSparseMemoryBind* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkSparseBufferMemoryBindInfo(
Pool* pool,
const VkSparseBufferMemoryBindInfo* from,
VkSparseBufferMemoryBindInfo* to)
{
(void)pool;
*to = *from;
to->pBinds = nullptr;
if (from->pBinds)
{
to->pBinds = (VkSparseMemoryBind*)pool->alloc(from->bindCount * sizeof(const VkSparseMemoryBind));
to->bindCount = from->bindCount;
for (uint32_t i = 0; i < (uint32_t)from->bindCount; ++i)
{
deepcopy_VkSparseMemoryBind(pool, from->pBinds + i, (VkSparseMemoryBind*)(to->pBinds + i));
}
}
}
void deepcopy_VkSparseImageOpaqueMemoryBindInfo(
Pool* pool,
const VkSparseImageOpaqueMemoryBindInfo* from,
VkSparseImageOpaqueMemoryBindInfo* to)
{
(void)pool;
*to = *from;
to->pBinds = nullptr;
if (from->pBinds)
{
to->pBinds = (VkSparseMemoryBind*)pool->alloc(from->bindCount * sizeof(const VkSparseMemoryBind));
to->bindCount = from->bindCount;
for (uint32_t i = 0; i < (uint32_t)from->bindCount; ++i)
{
deepcopy_VkSparseMemoryBind(pool, from->pBinds + i, (VkSparseMemoryBind*)(to->pBinds + i));
}
}
}
void deepcopy_VkImageSubresource(
Pool* pool,
const VkImageSubresource* from,
VkImageSubresource* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkOffset3D(
Pool* pool,
const VkOffset3D* from,
VkOffset3D* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkSparseImageMemoryBind(
Pool* pool,
const VkSparseImageMemoryBind* from,
VkSparseImageMemoryBind* to)
{
(void)pool;
*to = *from;
deepcopy_VkImageSubresource(pool, &from->subresource, (VkImageSubresource*)(&to->subresource));
deepcopy_VkOffset3D(pool, &from->offset, (VkOffset3D*)(&to->offset));
deepcopy_VkExtent3D(pool, &from->extent, (VkExtent3D*)(&to->extent));
}
void deepcopy_VkSparseImageMemoryBindInfo(
Pool* pool,
const VkSparseImageMemoryBindInfo* from,
VkSparseImageMemoryBindInfo* to)
{
(void)pool;
*to = *from;
to->pBinds = nullptr;
if (from->pBinds)
{
to->pBinds = (VkSparseImageMemoryBind*)pool->alloc(from->bindCount * sizeof(const VkSparseImageMemoryBind));
to->bindCount = from->bindCount;
for (uint32_t i = 0; i < (uint32_t)from->bindCount; ++i)
{
deepcopy_VkSparseImageMemoryBind(pool, from->pBinds + i, (VkSparseImageMemoryBind*)(to->pBinds + i));
}
}
}
void deepcopy_VkBindSparseInfo(
Pool* pool,
const VkBindSparseInfo* from,
VkBindSparseInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pWaitSemaphores = nullptr;
if (from->pWaitSemaphores)
{
to->pWaitSemaphores = (VkSemaphore*)pool->dupArray(from->pWaitSemaphores, from->waitSemaphoreCount * sizeof(const VkSemaphore));
}
to->pBufferBinds = nullptr;
if (from->pBufferBinds)
{
to->pBufferBinds = (VkSparseBufferMemoryBindInfo*)pool->alloc(from->bufferBindCount * sizeof(const VkSparseBufferMemoryBindInfo));
to->bufferBindCount = from->bufferBindCount;
for (uint32_t i = 0; i < (uint32_t)from->bufferBindCount; ++i)
{
deepcopy_VkSparseBufferMemoryBindInfo(pool, from->pBufferBinds + i, (VkSparseBufferMemoryBindInfo*)(to->pBufferBinds + i));
}
}
to->pImageOpaqueBinds = nullptr;
if (from->pImageOpaqueBinds)
{
to->pImageOpaqueBinds = (VkSparseImageOpaqueMemoryBindInfo*)pool->alloc(from->imageOpaqueBindCount * sizeof(const VkSparseImageOpaqueMemoryBindInfo));
to->imageOpaqueBindCount = from->imageOpaqueBindCount;
for (uint32_t i = 0; i < (uint32_t)from->imageOpaqueBindCount; ++i)
{
deepcopy_VkSparseImageOpaqueMemoryBindInfo(pool, from->pImageOpaqueBinds + i, (VkSparseImageOpaqueMemoryBindInfo*)(to->pImageOpaqueBinds + i));
}
}
to->pImageBinds = nullptr;
if (from->pImageBinds)
{
to->pImageBinds = (VkSparseImageMemoryBindInfo*)pool->alloc(from->imageBindCount * sizeof(const VkSparseImageMemoryBindInfo));
to->imageBindCount = from->imageBindCount;
for (uint32_t i = 0; i < (uint32_t)from->imageBindCount; ++i)
{
deepcopy_VkSparseImageMemoryBindInfo(pool, from->pImageBinds + i, (VkSparseImageMemoryBindInfo*)(to->pImageBinds + i));
}
}
to->pSignalSemaphores = nullptr;
if (from->pSignalSemaphores)
{
to->pSignalSemaphores = (VkSemaphore*)pool->dupArray(from->pSignalSemaphores, from->signalSemaphoreCount * sizeof(const VkSemaphore));
}
}
void deepcopy_VkFenceCreateInfo(
Pool* pool,
const VkFenceCreateInfo* from,
VkFenceCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkSemaphoreCreateInfo(
Pool* pool,
const VkSemaphoreCreateInfo* from,
VkSemaphoreCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkEventCreateInfo(
Pool* pool,
const VkEventCreateInfo* from,
VkEventCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkQueryPoolCreateInfo(
Pool* pool,
const VkQueryPoolCreateInfo* from,
VkQueryPoolCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkBufferCreateInfo(
Pool* pool,
const VkBufferCreateInfo* from,
VkBufferCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pQueueFamilyIndices = nullptr;
if (from->pQueueFamilyIndices)
{
to->pQueueFamilyIndices = (uint32_t*)pool->dupArray(from->pQueueFamilyIndices, from->queueFamilyIndexCount * sizeof(const uint32_t));
}
}
void deepcopy_VkBufferViewCreateInfo(
Pool* pool,
const VkBufferViewCreateInfo* from,
VkBufferViewCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkImageCreateInfo(
Pool* pool,
const VkImageCreateInfo* from,
VkImageCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkExtent3D(pool, &from->extent, (VkExtent3D*)(&to->extent));
to->pQueueFamilyIndices = nullptr;
if (from->pQueueFamilyIndices)
{
to->pQueueFamilyIndices = (uint32_t*)pool->dupArray(from->pQueueFamilyIndices, from->queueFamilyIndexCount * sizeof(const uint32_t));
}
}
void deepcopy_VkSubresourceLayout(
Pool* pool,
const VkSubresourceLayout* from,
VkSubresourceLayout* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkComponentMapping(
Pool* pool,
const VkComponentMapping* from,
VkComponentMapping* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkImageSubresourceRange(
Pool* pool,
const VkImageSubresourceRange* from,
VkImageSubresourceRange* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkImageViewCreateInfo(
Pool* pool,
const VkImageViewCreateInfo* from,
VkImageViewCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkComponentMapping(pool, &from->components, (VkComponentMapping*)(&to->components));
deepcopy_VkImageSubresourceRange(pool, &from->subresourceRange, (VkImageSubresourceRange*)(&to->subresourceRange));
}
void deepcopy_VkShaderModuleCreateInfo(
Pool* pool,
const VkShaderModuleCreateInfo* from,
VkShaderModuleCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pCode = nullptr;
if (from->pCode)
{
to->pCode = (uint32_t*)pool->dupArray(from->pCode, (from->codeSize / 4) * sizeof(const uint32_t));
}
}
void deepcopy_VkPipelineCacheCreateInfo(
Pool* pool,
const VkPipelineCacheCreateInfo* from,
VkPipelineCacheCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pInitialData = nullptr;
if (from->pInitialData)
{
to->pInitialData = (void*)pool->dupArray(from->pInitialData, from->initialDataSize * sizeof(const uint8_t));
}
}
void deepcopy_VkSpecializationMapEntry(
Pool* pool,
const VkSpecializationMapEntry* from,
VkSpecializationMapEntry* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkSpecializationInfo(
Pool* pool,
const VkSpecializationInfo* from,
VkSpecializationInfo* to)
{
(void)pool;
*to = *from;
to->pMapEntries = nullptr;
if (from->pMapEntries)
{
to->pMapEntries = (VkSpecializationMapEntry*)pool->alloc(from->mapEntryCount * sizeof(const VkSpecializationMapEntry));
to->mapEntryCount = from->mapEntryCount;
for (uint32_t i = 0; i < (uint32_t)from->mapEntryCount; ++i)
{
deepcopy_VkSpecializationMapEntry(pool, from->pMapEntries + i, (VkSpecializationMapEntry*)(to->pMapEntries + i));
}
}
to->pData = nullptr;
if (from->pData)
{
to->pData = (void*)pool->dupArray(from->pData, from->dataSize * sizeof(const uint8_t));
}
}
void deepcopy_VkPipelineShaderStageCreateInfo(
Pool* pool,
const VkPipelineShaderStageCreateInfo* from,
VkPipelineShaderStageCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pName = nullptr;
if (from->pName)
{
to->pName = pool->strDup(from->pName);
}
to->pSpecializationInfo = nullptr;
if (from->pSpecializationInfo)
{
to->pSpecializationInfo = (VkSpecializationInfo*)pool->alloc(sizeof(const VkSpecializationInfo));
deepcopy_VkSpecializationInfo(pool, from->pSpecializationInfo, (VkSpecializationInfo*)(to->pSpecializationInfo));
}
}
void deepcopy_VkVertexInputBindingDescription(
Pool* pool,
const VkVertexInputBindingDescription* from,
VkVertexInputBindingDescription* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkVertexInputAttributeDescription(
Pool* pool,
const VkVertexInputAttributeDescription* from,
VkVertexInputAttributeDescription* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkPipelineVertexInputStateCreateInfo(
Pool* pool,
const VkPipelineVertexInputStateCreateInfo* from,
VkPipelineVertexInputStateCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pVertexBindingDescriptions = nullptr;
if (from->pVertexBindingDescriptions)
{
to->pVertexBindingDescriptions = (VkVertexInputBindingDescription*)pool->alloc(from->vertexBindingDescriptionCount * sizeof(const VkVertexInputBindingDescription));
to->vertexBindingDescriptionCount = from->vertexBindingDescriptionCount;
for (uint32_t i = 0; i < (uint32_t)from->vertexBindingDescriptionCount; ++i)
{
deepcopy_VkVertexInputBindingDescription(pool, from->pVertexBindingDescriptions + i, (VkVertexInputBindingDescription*)(to->pVertexBindingDescriptions + i));
}
}
to->pVertexAttributeDescriptions = nullptr;
if (from->pVertexAttributeDescriptions)
{
to->pVertexAttributeDescriptions = (VkVertexInputAttributeDescription*)pool->alloc(from->vertexAttributeDescriptionCount * sizeof(const VkVertexInputAttributeDescription));
to->vertexAttributeDescriptionCount = from->vertexAttributeDescriptionCount;
for (uint32_t i = 0; i < (uint32_t)from->vertexAttributeDescriptionCount; ++i)
{
deepcopy_VkVertexInputAttributeDescription(pool, from->pVertexAttributeDescriptions + i, (VkVertexInputAttributeDescription*)(to->pVertexAttributeDescriptions + i));
}
}
}
void deepcopy_VkPipelineInputAssemblyStateCreateInfo(
Pool* pool,
const VkPipelineInputAssemblyStateCreateInfo* from,
VkPipelineInputAssemblyStateCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkPipelineTessellationStateCreateInfo(
Pool* pool,
const VkPipelineTessellationStateCreateInfo* from,
VkPipelineTessellationStateCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkViewport(
Pool* pool,
const VkViewport* from,
VkViewport* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkOffset2D(
Pool* pool,
const VkOffset2D* from,
VkOffset2D* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkExtent2D(
Pool* pool,
const VkExtent2D* from,
VkExtent2D* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkRect2D(
Pool* pool,
const VkRect2D* from,
VkRect2D* to)
{
(void)pool;
*to = *from;
deepcopy_VkOffset2D(pool, &from->offset, (VkOffset2D*)(&to->offset));
deepcopy_VkExtent2D(pool, &from->extent, (VkExtent2D*)(&to->extent));
}
void deepcopy_VkPipelineViewportStateCreateInfo(
Pool* pool,
const VkPipelineViewportStateCreateInfo* from,
VkPipelineViewportStateCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pViewports = nullptr;
if (from->pViewports)
{
to->pViewports = (VkViewport*)pool->alloc(from->viewportCount * sizeof(const VkViewport));
to->viewportCount = from->viewportCount;
for (uint32_t i = 0; i < (uint32_t)from->viewportCount; ++i)
{
deepcopy_VkViewport(pool, from->pViewports + i, (VkViewport*)(to->pViewports + i));
}
}
to->pScissors = nullptr;
if (from->pScissors)
{
to->pScissors = (VkRect2D*)pool->alloc(from->scissorCount * sizeof(const VkRect2D));
to->scissorCount = from->scissorCount;
for (uint32_t i = 0; i < (uint32_t)from->scissorCount; ++i)
{
deepcopy_VkRect2D(pool, from->pScissors + i, (VkRect2D*)(to->pScissors + i));
}
}
}
void deepcopy_VkPipelineRasterizationStateCreateInfo(
Pool* pool,
const VkPipelineRasterizationStateCreateInfo* from,
VkPipelineRasterizationStateCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkPipelineMultisampleStateCreateInfo(
Pool* pool,
const VkPipelineMultisampleStateCreateInfo* from,
VkPipelineMultisampleStateCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pSampleMask = nullptr;
if (from->pSampleMask)
{
to->pSampleMask = (VkSampleMask*)pool->dupArray(from->pSampleMask, (((from->rasterizationSamples) + 31) / 32) * sizeof(const VkSampleMask));
}
}
void deepcopy_VkStencilOpState(
Pool* pool,
const VkStencilOpState* from,
VkStencilOpState* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkPipelineDepthStencilStateCreateInfo(
Pool* pool,
const VkPipelineDepthStencilStateCreateInfo* from,
VkPipelineDepthStencilStateCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkStencilOpState(pool, &from->front, (VkStencilOpState*)(&to->front));
deepcopy_VkStencilOpState(pool, &from->back, (VkStencilOpState*)(&to->back));
}
void deepcopy_VkPipelineColorBlendAttachmentState(
Pool* pool,
const VkPipelineColorBlendAttachmentState* from,
VkPipelineColorBlendAttachmentState* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkPipelineColorBlendStateCreateInfo(
Pool* pool,
const VkPipelineColorBlendStateCreateInfo* from,
VkPipelineColorBlendStateCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pAttachments = nullptr;
if (from->pAttachments)
{
to->pAttachments = (VkPipelineColorBlendAttachmentState*)pool->alloc(from->attachmentCount * sizeof(const VkPipelineColorBlendAttachmentState));
to->attachmentCount = from->attachmentCount;
for (uint32_t i = 0; i < (uint32_t)from->attachmentCount; ++i)
{
deepcopy_VkPipelineColorBlendAttachmentState(pool, from->pAttachments + i, (VkPipelineColorBlendAttachmentState*)(to->pAttachments + i));
}
}
memcpy(to->blendConstants, from->blendConstants, 4 * sizeof(float));
}
void deepcopy_VkPipelineDynamicStateCreateInfo(
Pool* pool,
const VkPipelineDynamicStateCreateInfo* from,
VkPipelineDynamicStateCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pDynamicStates = nullptr;
if (from->pDynamicStates)
{
to->pDynamicStates = (VkDynamicState*)pool->dupArray(from->pDynamicStates, from->dynamicStateCount * sizeof(const VkDynamicState));
}
}
void deepcopy_VkGraphicsPipelineCreateInfo(
Pool* pool,
const VkGraphicsPipelineCreateInfo* from,
VkGraphicsPipelineCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pStages = nullptr;
if (from->pStages)
{
to->pStages = (VkPipelineShaderStageCreateInfo*)pool->alloc(from->stageCount * sizeof(const VkPipelineShaderStageCreateInfo));
to->stageCount = from->stageCount;
for (uint32_t i = 0; i < (uint32_t)from->stageCount; ++i)
{
deepcopy_VkPipelineShaderStageCreateInfo(pool, from->pStages + i, (VkPipelineShaderStageCreateInfo*)(to->pStages + i));
}
}
to->pVertexInputState = nullptr;
if (from->pVertexInputState)
{
to->pVertexInputState = (VkPipelineVertexInputStateCreateInfo*)pool->alloc(sizeof(const VkPipelineVertexInputStateCreateInfo));
deepcopy_VkPipelineVertexInputStateCreateInfo(pool, from->pVertexInputState, (VkPipelineVertexInputStateCreateInfo*)(to->pVertexInputState));
}
to->pInputAssemblyState = nullptr;
if (from->pInputAssemblyState)
{
to->pInputAssemblyState = (VkPipelineInputAssemblyStateCreateInfo*)pool->alloc(sizeof(const VkPipelineInputAssemblyStateCreateInfo));
deepcopy_VkPipelineInputAssemblyStateCreateInfo(pool, from->pInputAssemblyState, (VkPipelineInputAssemblyStateCreateInfo*)(to->pInputAssemblyState));
}
to->pTessellationState = nullptr;
if (from->pTessellationState)
{
to->pTessellationState = (VkPipelineTessellationStateCreateInfo*)pool->alloc(sizeof(const VkPipelineTessellationStateCreateInfo));
deepcopy_VkPipelineTessellationStateCreateInfo(pool, from->pTessellationState, (VkPipelineTessellationStateCreateInfo*)(to->pTessellationState));
}
to->pViewportState = nullptr;
if (from->pViewportState)
{
to->pViewportState = (VkPipelineViewportStateCreateInfo*)pool->alloc(sizeof(const VkPipelineViewportStateCreateInfo));
deepcopy_VkPipelineViewportStateCreateInfo(pool, from->pViewportState, (VkPipelineViewportStateCreateInfo*)(to->pViewportState));
}
to->pRasterizationState = nullptr;
if (from->pRasterizationState)
{
to->pRasterizationState = (VkPipelineRasterizationStateCreateInfo*)pool->alloc(sizeof(const VkPipelineRasterizationStateCreateInfo));
deepcopy_VkPipelineRasterizationStateCreateInfo(pool, from->pRasterizationState, (VkPipelineRasterizationStateCreateInfo*)(to->pRasterizationState));
}
to->pMultisampleState = nullptr;
if (from->pMultisampleState)
{
to->pMultisampleState = (VkPipelineMultisampleStateCreateInfo*)pool->alloc(sizeof(const VkPipelineMultisampleStateCreateInfo));
deepcopy_VkPipelineMultisampleStateCreateInfo(pool, from->pMultisampleState, (VkPipelineMultisampleStateCreateInfo*)(to->pMultisampleState));
}
to->pDepthStencilState = nullptr;
if (from->pDepthStencilState)
{
to->pDepthStencilState = (VkPipelineDepthStencilStateCreateInfo*)pool->alloc(sizeof(const VkPipelineDepthStencilStateCreateInfo));
deepcopy_VkPipelineDepthStencilStateCreateInfo(pool, from->pDepthStencilState, (VkPipelineDepthStencilStateCreateInfo*)(to->pDepthStencilState));
}
to->pColorBlendState = nullptr;
if (from->pColorBlendState)
{
to->pColorBlendState = (VkPipelineColorBlendStateCreateInfo*)pool->alloc(sizeof(const VkPipelineColorBlendStateCreateInfo));
deepcopy_VkPipelineColorBlendStateCreateInfo(pool, from->pColorBlendState, (VkPipelineColorBlendStateCreateInfo*)(to->pColorBlendState));
}
to->pDynamicState = nullptr;
if (from->pDynamicState)
{
to->pDynamicState = (VkPipelineDynamicStateCreateInfo*)pool->alloc(sizeof(const VkPipelineDynamicStateCreateInfo));
deepcopy_VkPipelineDynamicStateCreateInfo(pool, from->pDynamicState, (VkPipelineDynamicStateCreateInfo*)(to->pDynamicState));
}
}
void deepcopy_VkComputePipelineCreateInfo(
Pool* pool,
const VkComputePipelineCreateInfo* from,
VkComputePipelineCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkPipelineShaderStageCreateInfo(pool, &from->stage, (VkPipelineShaderStageCreateInfo*)(&to->stage));
}
void deepcopy_VkPushConstantRange(
Pool* pool,
const VkPushConstantRange* from,
VkPushConstantRange* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkPipelineLayoutCreateInfo(
Pool* pool,
const VkPipelineLayoutCreateInfo* from,
VkPipelineLayoutCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pSetLayouts = nullptr;
if (from->pSetLayouts)
{
to->pSetLayouts = (VkDescriptorSetLayout*)pool->dupArray(from->pSetLayouts, from->setLayoutCount * sizeof(const VkDescriptorSetLayout));
}
to->pPushConstantRanges = nullptr;
if (from->pPushConstantRanges)
{
to->pPushConstantRanges = (VkPushConstantRange*)pool->alloc(from->pushConstantRangeCount * sizeof(const VkPushConstantRange));
to->pushConstantRangeCount = from->pushConstantRangeCount;
for (uint32_t i = 0; i < (uint32_t)from->pushConstantRangeCount; ++i)
{
deepcopy_VkPushConstantRange(pool, from->pPushConstantRanges + i, (VkPushConstantRange*)(to->pPushConstantRanges + i));
}
}
}
void deepcopy_VkSamplerCreateInfo(
Pool* pool,
const VkSamplerCreateInfo* from,
VkSamplerCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkDescriptorSetLayoutBinding(
Pool* pool,
const VkDescriptorSetLayoutBinding* from,
VkDescriptorSetLayoutBinding* to)
{
(void)pool;
*to = *from;
to->pImmutableSamplers = nullptr;
if (from->pImmutableSamplers)
{
to->pImmutableSamplers = (VkSampler*)pool->dupArray(from->pImmutableSamplers, from->descriptorCount * sizeof(const VkSampler));
}
}
void deepcopy_VkDescriptorSetLayoutCreateInfo(
Pool* pool,
const VkDescriptorSetLayoutCreateInfo* from,
VkDescriptorSetLayoutCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pBindings = nullptr;
if (from->pBindings)
{
to->pBindings = (VkDescriptorSetLayoutBinding*)pool->alloc(from->bindingCount * sizeof(const VkDescriptorSetLayoutBinding));
to->bindingCount = from->bindingCount;
for (uint32_t i = 0; i < (uint32_t)from->bindingCount; ++i)
{
deepcopy_VkDescriptorSetLayoutBinding(pool, from->pBindings + i, (VkDescriptorSetLayoutBinding*)(to->pBindings + i));
}
}
}
void deepcopy_VkDescriptorPoolSize(
Pool* pool,
const VkDescriptorPoolSize* from,
VkDescriptorPoolSize* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkDescriptorPoolCreateInfo(
Pool* pool,
const VkDescriptorPoolCreateInfo* from,
VkDescriptorPoolCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pPoolSizes = nullptr;
if (from->pPoolSizes)
{
to->pPoolSizes = (VkDescriptorPoolSize*)pool->alloc(from->poolSizeCount * sizeof(const VkDescriptorPoolSize));
to->poolSizeCount = from->poolSizeCount;
for (uint32_t i = 0; i < (uint32_t)from->poolSizeCount; ++i)
{
deepcopy_VkDescriptorPoolSize(pool, from->pPoolSizes + i, (VkDescriptorPoolSize*)(to->pPoolSizes + i));
}
}
}
void deepcopy_VkDescriptorSetAllocateInfo(
Pool* pool,
const VkDescriptorSetAllocateInfo* from,
VkDescriptorSetAllocateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pSetLayouts = nullptr;
if (from->pSetLayouts)
{
to->pSetLayouts = (VkDescriptorSetLayout*)pool->dupArray(from->pSetLayouts, from->descriptorSetCount * sizeof(const VkDescriptorSetLayout));
}
}
void deepcopy_VkDescriptorImageInfo(
Pool* pool,
const VkDescriptorImageInfo* from,
VkDescriptorImageInfo* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkDescriptorBufferInfo(
Pool* pool,
const VkDescriptorBufferInfo* from,
VkDescriptorBufferInfo* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkWriteDescriptorSet(
Pool* pool,
const VkWriteDescriptorSet* from,
VkWriteDescriptorSet* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pImageInfo = nullptr;
if (from->pImageInfo)
{
to->pImageInfo = (VkDescriptorImageInfo*)pool->alloc(from->descriptorCount * sizeof(const VkDescriptorImageInfo));
to->descriptorCount = from->descriptorCount;
for (uint32_t i = 0; i < (uint32_t)from->descriptorCount; ++i)
{
deepcopy_VkDescriptorImageInfo(pool, from->pImageInfo + i, (VkDescriptorImageInfo*)(to->pImageInfo + i));
}
}
to->pBufferInfo = nullptr;
if (from->pBufferInfo)
{
to->pBufferInfo = (VkDescriptorBufferInfo*)pool->alloc(from->descriptorCount * sizeof(const VkDescriptorBufferInfo));
to->descriptorCount = from->descriptorCount;
for (uint32_t i = 0; i < (uint32_t)from->descriptorCount; ++i)
{
deepcopy_VkDescriptorBufferInfo(pool, from->pBufferInfo + i, (VkDescriptorBufferInfo*)(to->pBufferInfo + i));
}
}
to->pTexelBufferView = nullptr;
if (from->pTexelBufferView)
{
to->pTexelBufferView = (VkBufferView*)pool->dupArray(from->pTexelBufferView, from->descriptorCount * sizeof(const VkBufferView));
}
}
void deepcopy_VkCopyDescriptorSet(
Pool* pool,
const VkCopyDescriptorSet* from,
VkCopyDescriptorSet* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkFramebufferCreateInfo(
Pool* pool,
const VkFramebufferCreateInfo* from,
VkFramebufferCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pAttachments = nullptr;
if (from->pAttachments)
{
to->pAttachments = (VkImageView*)pool->dupArray(from->pAttachments, from->attachmentCount * sizeof(const VkImageView));
}
}
void deepcopy_VkAttachmentDescription(
Pool* pool,
const VkAttachmentDescription* from,
VkAttachmentDescription* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkAttachmentReference(
Pool* pool,
const VkAttachmentReference* from,
VkAttachmentReference* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkSubpassDescription(
Pool* pool,
const VkSubpassDescription* from,
VkSubpassDescription* to)
{
(void)pool;
*to = *from;
to->pInputAttachments = nullptr;
if (from->pInputAttachments)
{
to->pInputAttachments = (VkAttachmentReference*)pool->alloc(from->inputAttachmentCount * sizeof(const VkAttachmentReference));
to->inputAttachmentCount = from->inputAttachmentCount;
for (uint32_t i = 0; i < (uint32_t)from->inputAttachmentCount; ++i)
{
deepcopy_VkAttachmentReference(pool, from->pInputAttachments + i, (VkAttachmentReference*)(to->pInputAttachments + i));
}
}
to->pColorAttachments = nullptr;
if (from->pColorAttachments)
{
to->pColorAttachments = (VkAttachmentReference*)pool->alloc(from->colorAttachmentCount * sizeof(const VkAttachmentReference));
to->colorAttachmentCount = from->colorAttachmentCount;
for (uint32_t i = 0; i < (uint32_t)from->colorAttachmentCount; ++i)
{
deepcopy_VkAttachmentReference(pool, from->pColorAttachments + i, (VkAttachmentReference*)(to->pColorAttachments + i));
}
}
to->pResolveAttachments = nullptr;
if (from->pResolveAttachments)
{
to->pResolveAttachments = (VkAttachmentReference*)pool->alloc(from->colorAttachmentCount * sizeof(const VkAttachmentReference));
to->colorAttachmentCount = from->colorAttachmentCount;
for (uint32_t i = 0; i < (uint32_t)from->colorAttachmentCount; ++i)
{
deepcopy_VkAttachmentReference(pool, from->pResolveAttachments + i, (VkAttachmentReference*)(to->pResolveAttachments + i));
}
}
to->pDepthStencilAttachment = nullptr;
if (from->pDepthStencilAttachment)
{
to->pDepthStencilAttachment = (VkAttachmentReference*)pool->alloc(sizeof(const VkAttachmentReference));
deepcopy_VkAttachmentReference(pool, from->pDepthStencilAttachment, (VkAttachmentReference*)(to->pDepthStencilAttachment));
}
to->pPreserveAttachments = nullptr;
if (from->pPreserveAttachments)
{
to->pPreserveAttachments = (uint32_t*)pool->dupArray(from->pPreserveAttachments, from->preserveAttachmentCount * sizeof(const uint32_t));
}
}
void deepcopy_VkSubpassDependency(
Pool* pool,
const VkSubpassDependency* from,
VkSubpassDependency* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkRenderPassCreateInfo(
Pool* pool,
const VkRenderPassCreateInfo* from,
VkRenderPassCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pAttachments = nullptr;
if (from->pAttachments)
{
to->pAttachments = (VkAttachmentDescription*)pool->alloc(from->attachmentCount * sizeof(const VkAttachmentDescription));
to->attachmentCount = from->attachmentCount;
for (uint32_t i = 0; i < (uint32_t)from->attachmentCount; ++i)
{
deepcopy_VkAttachmentDescription(pool, from->pAttachments + i, (VkAttachmentDescription*)(to->pAttachments + i));
}
}
to->pSubpasses = nullptr;
if (from->pSubpasses)
{
to->pSubpasses = (VkSubpassDescription*)pool->alloc(from->subpassCount * sizeof(const VkSubpassDescription));
to->subpassCount = from->subpassCount;
for (uint32_t i = 0; i < (uint32_t)from->subpassCount; ++i)
{
deepcopy_VkSubpassDescription(pool, from->pSubpasses + i, (VkSubpassDescription*)(to->pSubpasses + i));
}
}
to->pDependencies = nullptr;
if (from->pDependencies)
{
to->pDependencies = (VkSubpassDependency*)pool->alloc(from->dependencyCount * sizeof(const VkSubpassDependency));
to->dependencyCount = from->dependencyCount;
for (uint32_t i = 0; i < (uint32_t)from->dependencyCount; ++i)
{
deepcopy_VkSubpassDependency(pool, from->pDependencies + i, (VkSubpassDependency*)(to->pDependencies + i));
}
}
}
void deepcopy_VkCommandPoolCreateInfo(
Pool* pool,
const VkCommandPoolCreateInfo* from,
VkCommandPoolCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkCommandBufferAllocateInfo(
Pool* pool,
const VkCommandBufferAllocateInfo* from,
VkCommandBufferAllocateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkCommandBufferInheritanceInfo(
Pool* pool,
const VkCommandBufferInheritanceInfo* from,
VkCommandBufferInheritanceInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkCommandBufferBeginInfo(
Pool* pool,
const VkCommandBufferBeginInfo* from,
VkCommandBufferBeginInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pInheritanceInfo = nullptr;
if (from->pInheritanceInfo)
{
to->pInheritanceInfo = (VkCommandBufferInheritanceInfo*)pool->alloc(sizeof(const VkCommandBufferInheritanceInfo));
deepcopy_VkCommandBufferInheritanceInfo(pool, from->pInheritanceInfo, (VkCommandBufferInheritanceInfo*)(to->pInheritanceInfo));
}
}
void deepcopy_VkBufferCopy(
Pool* pool,
const VkBufferCopy* from,
VkBufferCopy* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkImageSubresourceLayers(
Pool* pool,
const VkImageSubresourceLayers* from,
VkImageSubresourceLayers* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkImageCopy(
Pool* pool,
const VkImageCopy* from,
VkImageCopy* to)
{
(void)pool;
*to = *from;
deepcopy_VkImageSubresourceLayers(pool, &from->srcSubresource, (VkImageSubresourceLayers*)(&to->srcSubresource));
deepcopy_VkOffset3D(pool, &from->srcOffset, (VkOffset3D*)(&to->srcOffset));
deepcopy_VkImageSubresourceLayers(pool, &from->dstSubresource, (VkImageSubresourceLayers*)(&to->dstSubresource));
deepcopy_VkOffset3D(pool, &from->dstOffset, (VkOffset3D*)(&to->dstOffset));
deepcopy_VkExtent3D(pool, &from->extent, (VkExtent3D*)(&to->extent));
}
void deepcopy_VkImageBlit(
Pool* pool,
const VkImageBlit* from,
VkImageBlit* to)
{
(void)pool;
*to = *from;
deepcopy_VkImageSubresourceLayers(pool, &from->srcSubresource, (VkImageSubresourceLayers*)(&to->srcSubresource));
for (uint32_t i = 0; i < (uint32_t)2; ++i)
{
deepcopy_VkOffset3D(pool, from->srcOffsets + i, (VkOffset3D*)(to->srcOffsets + i));
}
deepcopy_VkImageSubresourceLayers(pool, &from->dstSubresource, (VkImageSubresourceLayers*)(&to->dstSubresource));
for (uint32_t i = 0; i < (uint32_t)2; ++i)
{
deepcopy_VkOffset3D(pool, from->dstOffsets + i, (VkOffset3D*)(to->dstOffsets + i));
}
}
void deepcopy_VkBufferImageCopy(
Pool* pool,
const VkBufferImageCopy* from,
VkBufferImageCopy* to)
{
(void)pool;
*to = *from;
deepcopy_VkImageSubresourceLayers(pool, &from->imageSubresource, (VkImageSubresourceLayers*)(&to->imageSubresource));
deepcopy_VkOffset3D(pool, &from->imageOffset, (VkOffset3D*)(&to->imageOffset));
deepcopy_VkExtent3D(pool, &from->imageExtent, (VkExtent3D*)(&to->imageExtent));
}
void deepcopy_VkClearColorValue(
Pool* pool,
const VkClearColorValue* from,
VkClearColorValue* to)
{
(void)pool;
*to = *from;
memcpy(to->float32, from->float32, 4 * sizeof(float));
memcpy(to->int32, from->int32, 4 * sizeof(int32_t));
memcpy(to->uint32, from->uint32, 4 * sizeof(uint32_t));
}
void deepcopy_VkClearDepthStencilValue(
Pool* pool,
const VkClearDepthStencilValue* from,
VkClearDepthStencilValue* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkClearValue(
Pool* pool,
const VkClearValue* from,
VkClearValue* to)
{
(void)pool;
*to = *from;
deepcopy_VkClearColorValue(pool, &from->color, (VkClearColorValue*)(&to->color));
deepcopy_VkClearDepthStencilValue(pool, &from->depthStencil, (VkClearDepthStencilValue*)(&to->depthStencil));
}
void deepcopy_VkClearAttachment(
Pool* pool,
const VkClearAttachment* from,
VkClearAttachment* to)
{
(void)pool;
*to = *from;
deepcopy_VkClearValue(pool, &from->clearValue, (VkClearValue*)(&to->clearValue));
}
void deepcopy_VkClearRect(
Pool* pool,
const VkClearRect* from,
VkClearRect* to)
{
(void)pool;
*to = *from;
deepcopy_VkRect2D(pool, &from->rect, (VkRect2D*)(&to->rect));
}
void deepcopy_VkImageResolve(
Pool* pool,
const VkImageResolve* from,
VkImageResolve* to)
{
(void)pool;
*to = *from;
deepcopy_VkImageSubresourceLayers(pool, &from->srcSubresource, (VkImageSubresourceLayers*)(&to->srcSubresource));
deepcopy_VkOffset3D(pool, &from->srcOffset, (VkOffset3D*)(&to->srcOffset));
deepcopy_VkImageSubresourceLayers(pool, &from->dstSubresource, (VkImageSubresourceLayers*)(&to->dstSubresource));
deepcopy_VkOffset3D(pool, &from->dstOffset, (VkOffset3D*)(&to->dstOffset));
deepcopy_VkExtent3D(pool, &from->extent, (VkExtent3D*)(&to->extent));
}
void deepcopy_VkMemoryBarrier(
Pool* pool,
const VkMemoryBarrier* from,
VkMemoryBarrier* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkBufferMemoryBarrier(
Pool* pool,
const VkBufferMemoryBarrier* from,
VkBufferMemoryBarrier* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkImageMemoryBarrier(
Pool* pool,
const VkImageMemoryBarrier* from,
VkImageMemoryBarrier* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkImageSubresourceRange(pool, &from->subresourceRange, (VkImageSubresourceRange*)(&to->subresourceRange));
}
void deepcopy_VkRenderPassBeginInfo(
Pool* pool,
const VkRenderPassBeginInfo* from,
VkRenderPassBeginInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkRect2D(pool, &from->renderArea, (VkRect2D*)(&to->renderArea));
to->pClearValues = nullptr;
if (from->pClearValues)
{
to->pClearValues = (VkClearValue*)pool->alloc(from->clearValueCount * sizeof(const VkClearValue));
to->clearValueCount = from->clearValueCount;
for (uint32_t i = 0; i < (uint32_t)from->clearValueCount; ++i)
{
deepcopy_VkClearValue(pool, from->pClearValues + i, (VkClearValue*)(to->pClearValues + i));
}
}
}
void deepcopy_VkDispatchIndirectCommand(
Pool* pool,
const VkDispatchIndirectCommand* from,
VkDispatchIndirectCommand* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkDrawIndexedIndirectCommand(
Pool* pool,
const VkDrawIndexedIndirectCommand* from,
VkDrawIndexedIndirectCommand* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkDrawIndirectCommand(
Pool* pool,
const VkDrawIndirectCommand* from,
VkDrawIndirectCommand* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkBaseOutStructure(
Pool* pool,
const VkBaseOutStructure* from,
VkBaseOutStructure* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (VkBaseOutStructure*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkBaseInStructure(
Pool* pool,
const VkBaseInStructure* from,
VkBaseInStructure* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const VkBaseInStructure*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_VERSION_1_1
void deepcopy_VkPhysicalDeviceSubgroupProperties(
Pool* pool,
const VkPhysicalDeviceSubgroupProperties* from,
VkPhysicalDeviceSubgroupProperties* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkBindBufferMemoryInfo(
Pool* pool,
const VkBindBufferMemoryInfo* from,
VkBindBufferMemoryInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkBindImageMemoryInfo(
Pool* pool,
const VkBindImageMemoryInfo* from,
VkBindImageMemoryInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkPhysicalDevice16BitStorageFeatures(
Pool* pool,
const VkPhysicalDevice16BitStorageFeatures* from,
VkPhysicalDevice16BitStorageFeatures* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkMemoryDedicatedRequirements(
Pool* pool,
const VkMemoryDedicatedRequirements* from,
VkMemoryDedicatedRequirements* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkMemoryDedicatedAllocateInfo(
Pool* pool,
const VkMemoryDedicatedAllocateInfo* from,
VkMemoryDedicatedAllocateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkMemoryAllocateFlagsInfo(
Pool* pool,
const VkMemoryAllocateFlagsInfo* from,
VkMemoryAllocateFlagsInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkDeviceGroupRenderPassBeginInfo(
Pool* pool,
const VkDeviceGroupRenderPassBeginInfo* from,
VkDeviceGroupRenderPassBeginInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pDeviceRenderAreas = nullptr;
if (from->pDeviceRenderAreas)
{
to->pDeviceRenderAreas = (VkRect2D*)pool->alloc(from->deviceRenderAreaCount * sizeof(const VkRect2D));
to->deviceRenderAreaCount = from->deviceRenderAreaCount;
for (uint32_t i = 0; i < (uint32_t)from->deviceRenderAreaCount; ++i)
{
deepcopy_VkRect2D(pool, from->pDeviceRenderAreas + i, (VkRect2D*)(to->pDeviceRenderAreas + i));
}
}
}
void deepcopy_VkDeviceGroupCommandBufferBeginInfo(
Pool* pool,
const VkDeviceGroupCommandBufferBeginInfo* from,
VkDeviceGroupCommandBufferBeginInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkDeviceGroupSubmitInfo(
Pool* pool,
const VkDeviceGroupSubmitInfo* from,
VkDeviceGroupSubmitInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pWaitSemaphoreDeviceIndices = nullptr;
if (from->pWaitSemaphoreDeviceIndices)
{
to->pWaitSemaphoreDeviceIndices = (uint32_t*)pool->dupArray(from->pWaitSemaphoreDeviceIndices, from->waitSemaphoreCount * sizeof(const uint32_t));
}
to->pCommandBufferDeviceMasks = nullptr;
if (from->pCommandBufferDeviceMasks)
{
to->pCommandBufferDeviceMasks = (uint32_t*)pool->dupArray(from->pCommandBufferDeviceMasks, from->commandBufferCount * sizeof(const uint32_t));
}
to->pSignalSemaphoreDeviceIndices = nullptr;
if (from->pSignalSemaphoreDeviceIndices)
{
to->pSignalSemaphoreDeviceIndices = (uint32_t*)pool->dupArray(from->pSignalSemaphoreDeviceIndices, from->signalSemaphoreCount * sizeof(const uint32_t));
}
}
void deepcopy_VkDeviceGroupBindSparseInfo(
Pool* pool,
const VkDeviceGroupBindSparseInfo* from,
VkDeviceGroupBindSparseInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkBindBufferMemoryDeviceGroupInfo(
Pool* pool,
const VkBindBufferMemoryDeviceGroupInfo* from,
VkBindBufferMemoryDeviceGroupInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pDeviceIndices = nullptr;
if (from->pDeviceIndices)
{
to->pDeviceIndices = (uint32_t*)pool->dupArray(from->pDeviceIndices, from->deviceIndexCount * sizeof(const uint32_t));
}
}
void deepcopy_VkBindImageMemoryDeviceGroupInfo(
Pool* pool,
const VkBindImageMemoryDeviceGroupInfo* from,
VkBindImageMemoryDeviceGroupInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pDeviceIndices = nullptr;
if (from->pDeviceIndices)
{
to->pDeviceIndices = (uint32_t*)pool->dupArray(from->pDeviceIndices, from->deviceIndexCount * sizeof(const uint32_t));
}
to->pSplitInstanceBindRegions = nullptr;
if (from->pSplitInstanceBindRegions)
{
to->pSplitInstanceBindRegions = (VkRect2D*)pool->alloc(from->splitInstanceBindRegionCount * sizeof(const VkRect2D));
to->splitInstanceBindRegionCount = from->splitInstanceBindRegionCount;
for (uint32_t i = 0; i < (uint32_t)from->splitInstanceBindRegionCount; ++i)
{
deepcopy_VkRect2D(pool, from->pSplitInstanceBindRegions + i, (VkRect2D*)(to->pSplitInstanceBindRegions + i));
}
}
}
void deepcopy_VkPhysicalDeviceGroupProperties(
Pool* pool,
const VkPhysicalDeviceGroupProperties* from,
VkPhysicalDeviceGroupProperties* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
memcpy(to->physicalDevices, from->physicalDevices, VK_MAX_DEVICE_GROUP_SIZE * sizeof(VkPhysicalDevice));
}
void deepcopy_VkDeviceGroupDeviceCreateInfo(
Pool* pool,
const VkDeviceGroupDeviceCreateInfo* from,
VkDeviceGroupDeviceCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pPhysicalDevices = nullptr;
if (from->pPhysicalDevices)
{
to->pPhysicalDevices = (VkPhysicalDevice*)pool->dupArray(from->pPhysicalDevices, from->physicalDeviceCount * sizeof(const VkPhysicalDevice));
}
}
void deepcopy_VkBufferMemoryRequirementsInfo2(
Pool* pool,
const VkBufferMemoryRequirementsInfo2* from,
VkBufferMemoryRequirementsInfo2* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkImageMemoryRequirementsInfo2(
Pool* pool,
const VkImageMemoryRequirementsInfo2* from,
VkImageMemoryRequirementsInfo2* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkImageSparseMemoryRequirementsInfo2(
Pool* pool,
const VkImageSparseMemoryRequirementsInfo2* from,
VkImageSparseMemoryRequirementsInfo2* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkMemoryRequirements2(
Pool* pool,
const VkMemoryRequirements2* from,
VkMemoryRequirements2* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkMemoryRequirements(pool, &from->memoryRequirements, (VkMemoryRequirements*)(&to->memoryRequirements));
}
void deepcopy_VkSparseImageMemoryRequirements2(
Pool* pool,
const VkSparseImageMemoryRequirements2* from,
VkSparseImageMemoryRequirements2* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkSparseImageMemoryRequirements(pool, &from->memoryRequirements, (VkSparseImageMemoryRequirements*)(&to->memoryRequirements));
}
void deepcopy_VkPhysicalDeviceFeatures2(
Pool* pool,
const VkPhysicalDeviceFeatures2* from,
VkPhysicalDeviceFeatures2* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkPhysicalDeviceFeatures(pool, &from->features, (VkPhysicalDeviceFeatures*)(&to->features));
}
void deepcopy_VkPhysicalDeviceProperties2(
Pool* pool,
const VkPhysicalDeviceProperties2* from,
VkPhysicalDeviceProperties2* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkPhysicalDeviceProperties(pool, &from->properties, (VkPhysicalDeviceProperties*)(&to->properties));
}
void deepcopy_VkFormatProperties2(
Pool* pool,
const VkFormatProperties2* from,
VkFormatProperties2* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkFormatProperties(pool, &from->formatProperties, (VkFormatProperties*)(&to->formatProperties));
}
void deepcopy_VkImageFormatProperties2(
Pool* pool,
const VkImageFormatProperties2* from,
VkImageFormatProperties2* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkImageFormatProperties(pool, &from->imageFormatProperties, (VkImageFormatProperties*)(&to->imageFormatProperties));
}
void deepcopy_VkPhysicalDeviceImageFormatInfo2(
Pool* pool,
const VkPhysicalDeviceImageFormatInfo2* from,
VkPhysicalDeviceImageFormatInfo2* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkQueueFamilyProperties2(
Pool* pool,
const VkQueueFamilyProperties2* from,
VkQueueFamilyProperties2* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkQueueFamilyProperties(pool, &from->queueFamilyProperties, (VkQueueFamilyProperties*)(&to->queueFamilyProperties));
}
void deepcopy_VkPhysicalDeviceMemoryProperties2(
Pool* pool,
const VkPhysicalDeviceMemoryProperties2* from,
VkPhysicalDeviceMemoryProperties2* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkPhysicalDeviceMemoryProperties(pool, &from->memoryProperties, (VkPhysicalDeviceMemoryProperties*)(&to->memoryProperties));
}
void deepcopy_VkSparseImageFormatProperties2(
Pool* pool,
const VkSparseImageFormatProperties2* from,
VkSparseImageFormatProperties2* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkSparseImageFormatProperties(pool, &from->properties, (VkSparseImageFormatProperties*)(&to->properties));
}
void deepcopy_VkPhysicalDeviceSparseImageFormatInfo2(
Pool* pool,
const VkPhysicalDeviceSparseImageFormatInfo2* from,
VkPhysicalDeviceSparseImageFormatInfo2* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkPhysicalDevicePointClippingProperties(
Pool* pool,
const VkPhysicalDevicePointClippingProperties* from,
VkPhysicalDevicePointClippingProperties* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkInputAttachmentAspectReference(
Pool* pool,
const VkInputAttachmentAspectReference* from,
VkInputAttachmentAspectReference* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkRenderPassInputAttachmentAspectCreateInfo(
Pool* pool,
const VkRenderPassInputAttachmentAspectCreateInfo* from,
VkRenderPassInputAttachmentAspectCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pAspectReferences = nullptr;
if (from->pAspectReferences)
{
to->pAspectReferences = (VkInputAttachmentAspectReference*)pool->alloc(from->aspectReferenceCount * sizeof(const VkInputAttachmentAspectReference));
to->aspectReferenceCount = from->aspectReferenceCount;
for (uint32_t i = 0; i < (uint32_t)from->aspectReferenceCount; ++i)
{
deepcopy_VkInputAttachmentAspectReference(pool, from->pAspectReferences + i, (VkInputAttachmentAspectReference*)(to->pAspectReferences + i));
}
}
}
void deepcopy_VkImageViewUsageCreateInfo(
Pool* pool,
const VkImageViewUsageCreateInfo* from,
VkImageViewUsageCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkPipelineTessellationDomainOriginStateCreateInfo(
Pool* pool,
const VkPipelineTessellationDomainOriginStateCreateInfo* from,
VkPipelineTessellationDomainOriginStateCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkRenderPassMultiviewCreateInfo(
Pool* pool,
const VkRenderPassMultiviewCreateInfo* from,
VkRenderPassMultiviewCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pViewMasks = nullptr;
if (from->pViewMasks)
{
to->pViewMasks = (uint32_t*)pool->dupArray(from->pViewMasks, from->subpassCount * sizeof(const uint32_t));
}
to->pViewOffsets = nullptr;
if (from->pViewOffsets)
{
to->pViewOffsets = (int32_t*)pool->dupArray(from->pViewOffsets, from->dependencyCount * sizeof(const int32_t));
}
to->pCorrelationMasks = nullptr;
if (from->pCorrelationMasks)
{
to->pCorrelationMasks = (uint32_t*)pool->dupArray(from->pCorrelationMasks, from->correlationMaskCount * sizeof(const uint32_t));
}
}
void deepcopy_VkPhysicalDeviceMultiviewFeatures(
Pool* pool,
const VkPhysicalDeviceMultiviewFeatures* from,
VkPhysicalDeviceMultiviewFeatures* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkPhysicalDeviceMultiviewProperties(
Pool* pool,
const VkPhysicalDeviceMultiviewProperties* from,
VkPhysicalDeviceMultiviewProperties* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkPhysicalDeviceVariablePointerFeatures(
Pool* pool,
const VkPhysicalDeviceVariablePointerFeatures* from,
VkPhysicalDeviceVariablePointerFeatures* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkPhysicalDeviceProtectedMemoryFeatures(
Pool* pool,
const VkPhysicalDeviceProtectedMemoryFeatures* from,
VkPhysicalDeviceProtectedMemoryFeatures* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkPhysicalDeviceProtectedMemoryProperties(
Pool* pool,
const VkPhysicalDeviceProtectedMemoryProperties* from,
VkPhysicalDeviceProtectedMemoryProperties* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkDeviceQueueInfo2(
Pool* pool,
const VkDeviceQueueInfo2* from,
VkDeviceQueueInfo2* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkProtectedSubmitInfo(
Pool* pool,
const VkProtectedSubmitInfo* from,
VkProtectedSubmitInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkSamplerYcbcrConversionCreateInfo(
Pool* pool,
const VkSamplerYcbcrConversionCreateInfo* from,
VkSamplerYcbcrConversionCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkComponentMapping(pool, &from->components, (VkComponentMapping*)(&to->components));
}
void deepcopy_VkSamplerYcbcrConversionInfo(
Pool* pool,
const VkSamplerYcbcrConversionInfo* from,
VkSamplerYcbcrConversionInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkBindImagePlaneMemoryInfo(
Pool* pool,
const VkBindImagePlaneMemoryInfo* from,
VkBindImagePlaneMemoryInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkImagePlaneMemoryRequirementsInfo(
Pool* pool,
const VkImagePlaneMemoryRequirementsInfo* from,
VkImagePlaneMemoryRequirementsInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
Pool* pool,
const VkPhysicalDeviceSamplerYcbcrConversionFeatures* from,
VkPhysicalDeviceSamplerYcbcrConversionFeatures* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkSamplerYcbcrConversionImageFormatProperties(
Pool* pool,
const VkSamplerYcbcrConversionImageFormatProperties* from,
VkSamplerYcbcrConversionImageFormatProperties* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkDescriptorUpdateTemplateEntry(
Pool* pool,
const VkDescriptorUpdateTemplateEntry* from,
VkDescriptorUpdateTemplateEntry* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkDescriptorUpdateTemplateCreateInfo(
Pool* pool,
const VkDescriptorUpdateTemplateCreateInfo* from,
VkDescriptorUpdateTemplateCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pDescriptorUpdateEntries = nullptr;
if (from->pDescriptorUpdateEntries)
{
to->pDescriptorUpdateEntries = (VkDescriptorUpdateTemplateEntry*)pool->alloc(from->descriptorUpdateEntryCount * sizeof(const VkDescriptorUpdateTemplateEntry));
to->descriptorUpdateEntryCount = from->descriptorUpdateEntryCount;
for (uint32_t i = 0; i < (uint32_t)from->descriptorUpdateEntryCount; ++i)
{
deepcopy_VkDescriptorUpdateTemplateEntry(pool, from->pDescriptorUpdateEntries + i, (VkDescriptorUpdateTemplateEntry*)(to->pDescriptorUpdateEntries + i));
}
}
}
void deepcopy_VkExternalMemoryProperties(
Pool* pool,
const VkExternalMemoryProperties* from,
VkExternalMemoryProperties* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkPhysicalDeviceExternalImageFormatInfo(
Pool* pool,
const VkPhysicalDeviceExternalImageFormatInfo* from,
VkPhysicalDeviceExternalImageFormatInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkExternalImageFormatProperties(
Pool* pool,
const VkExternalImageFormatProperties* from,
VkExternalImageFormatProperties* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkExternalMemoryProperties(pool, &from->externalMemoryProperties, (VkExternalMemoryProperties*)(&to->externalMemoryProperties));
}
void deepcopy_VkPhysicalDeviceExternalBufferInfo(
Pool* pool,
const VkPhysicalDeviceExternalBufferInfo* from,
VkPhysicalDeviceExternalBufferInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkExternalBufferProperties(
Pool* pool,
const VkExternalBufferProperties* from,
VkExternalBufferProperties* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkExternalMemoryProperties(pool, &from->externalMemoryProperties, (VkExternalMemoryProperties*)(&to->externalMemoryProperties));
}
void deepcopy_VkPhysicalDeviceIDProperties(
Pool* pool,
const VkPhysicalDeviceIDProperties* from,
VkPhysicalDeviceIDProperties* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
memcpy(to->deviceUUID, from->deviceUUID, VK_UUID_SIZE * sizeof(uint8_t));
memcpy(to->driverUUID, from->driverUUID, VK_UUID_SIZE * sizeof(uint8_t));
memcpy(to->deviceLUID, from->deviceLUID, VK_LUID_SIZE * sizeof(uint8_t));
}
void deepcopy_VkExternalMemoryImageCreateInfo(
Pool* pool,
const VkExternalMemoryImageCreateInfo* from,
VkExternalMemoryImageCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkExternalMemoryBufferCreateInfo(
Pool* pool,
const VkExternalMemoryBufferCreateInfo* from,
VkExternalMemoryBufferCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkExportMemoryAllocateInfo(
Pool* pool,
const VkExportMemoryAllocateInfo* from,
VkExportMemoryAllocateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkPhysicalDeviceExternalFenceInfo(
Pool* pool,
const VkPhysicalDeviceExternalFenceInfo* from,
VkPhysicalDeviceExternalFenceInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkExternalFenceProperties(
Pool* pool,
const VkExternalFenceProperties* from,
VkExternalFenceProperties* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkExportFenceCreateInfo(
Pool* pool,
const VkExportFenceCreateInfo* from,
VkExportFenceCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkExportSemaphoreCreateInfo(
Pool* pool,
const VkExportSemaphoreCreateInfo* from,
VkExportSemaphoreCreateInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkPhysicalDeviceExternalSemaphoreInfo(
Pool* pool,
const VkPhysicalDeviceExternalSemaphoreInfo* from,
VkPhysicalDeviceExternalSemaphoreInfo* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkExternalSemaphoreProperties(
Pool* pool,
const VkExternalSemaphoreProperties* from,
VkExternalSemaphoreProperties* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkPhysicalDeviceMaintenance3Properties(
Pool* pool,
const VkPhysicalDeviceMaintenance3Properties* from,
VkPhysicalDeviceMaintenance3Properties* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkDescriptorSetLayoutSupport(
Pool* pool,
const VkDescriptorSetLayoutSupport* from,
VkDescriptorSetLayoutSupport* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkPhysicalDeviceShaderDrawParameterFeatures(
Pool* pool,
const VkPhysicalDeviceShaderDrawParameterFeatures* from,
VkPhysicalDeviceShaderDrawParameterFeatures* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_KHR_surface
void deepcopy_VkSurfaceCapabilitiesKHR(
Pool* pool,
const VkSurfaceCapabilitiesKHR* from,
VkSurfaceCapabilitiesKHR* to)
{
(void)pool;
*to = *from;
deepcopy_VkExtent2D(pool, &from->currentExtent, (VkExtent2D*)(&to->currentExtent));
deepcopy_VkExtent2D(pool, &from->minImageExtent, (VkExtent2D*)(&to->minImageExtent));
deepcopy_VkExtent2D(pool, &from->maxImageExtent, (VkExtent2D*)(&to->maxImageExtent));
}
void deepcopy_VkSurfaceFormatKHR(
Pool* pool,
const VkSurfaceFormatKHR* from,
VkSurfaceFormatKHR* to)
{
(void)pool;
*to = *from;
}
#endif
#ifdef VK_KHR_swapchain
void deepcopy_VkSwapchainCreateInfoKHR(
Pool* pool,
const VkSwapchainCreateInfoKHR* from,
VkSwapchainCreateInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkExtent2D(pool, &from->imageExtent, (VkExtent2D*)(&to->imageExtent));
to->pQueueFamilyIndices = nullptr;
if (from->pQueueFamilyIndices)
{
to->pQueueFamilyIndices = (uint32_t*)pool->dupArray(from->pQueueFamilyIndices, from->queueFamilyIndexCount * sizeof(const uint32_t));
}
}
void deepcopy_VkPresentInfoKHR(
Pool* pool,
const VkPresentInfoKHR* from,
VkPresentInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pWaitSemaphores = nullptr;
if (from->pWaitSemaphores)
{
to->pWaitSemaphores = (VkSemaphore*)pool->dupArray(from->pWaitSemaphores, from->waitSemaphoreCount * sizeof(const VkSemaphore));
}
to->pSwapchains = nullptr;
if (from->pSwapchains)
{
to->pSwapchains = (VkSwapchainKHR*)pool->dupArray(from->pSwapchains, from->swapchainCount * sizeof(const VkSwapchainKHR));
}
to->pImageIndices = nullptr;
if (from->pImageIndices)
{
to->pImageIndices = (uint32_t*)pool->dupArray(from->pImageIndices, from->swapchainCount * sizeof(const uint32_t));
}
to->pResults = nullptr;
if (from->pResults)
{
to->pResults = (VkResult*)pool->dupArray(from->pResults, from->swapchainCount * sizeof(VkResult));
}
}
void deepcopy_VkImageSwapchainCreateInfoKHR(
Pool* pool,
const VkImageSwapchainCreateInfoKHR* from,
VkImageSwapchainCreateInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkBindImageMemorySwapchainInfoKHR(
Pool* pool,
const VkBindImageMemorySwapchainInfoKHR* from,
VkBindImageMemorySwapchainInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkAcquireNextImageInfoKHR(
Pool* pool,
const VkAcquireNextImageInfoKHR* from,
VkAcquireNextImageInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkDeviceGroupPresentCapabilitiesKHR(
Pool* pool,
const VkDeviceGroupPresentCapabilitiesKHR* from,
VkDeviceGroupPresentCapabilitiesKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
memcpy(to->presentMask, from->presentMask, VK_MAX_DEVICE_GROUP_SIZE * sizeof(uint32_t));
}
void deepcopy_VkDeviceGroupPresentInfoKHR(
Pool* pool,
const VkDeviceGroupPresentInfoKHR* from,
VkDeviceGroupPresentInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pDeviceMasks = nullptr;
if (from->pDeviceMasks)
{
to->pDeviceMasks = (uint32_t*)pool->dupArray(from->pDeviceMasks, from->swapchainCount * sizeof(const uint32_t));
}
}
void deepcopy_VkDeviceGroupSwapchainCreateInfoKHR(
Pool* pool,
const VkDeviceGroupSwapchainCreateInfoKHR* from,
VkDeviceGroupSwapchainCreateInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_KHR_display
void deepcopy_VkDisplayPropertiesKHR(
Pool* pool,
const VkDisplayPropertiesKHR* from,
VkDisplayPropertiesKHR* to)
{
(void)pool;
*to = *from;
to->displayName = nullptr;
if (from->displayName)
{
to->displayName = pool->strDup(from->displayName);
}
deepcopy_VkExtent2D(pool, &from->physicalDimensions, (VkExtent2D*)(&to->physicalDimensions));
deepcopy_VkExtent2D(pool, &from->physicalResolution, (VkExtent2D*)(&to->physicalResolution));
}
void deepcopy_VkDisplayModeParametersKHR(
Pool* pool,
const VkDisplayModeParametersKHR* from,
VkDisplayModeParametersKHR* to)
{
(void)pool;
*to = *from;
deepcopy_VkExtent2D(pool, &from->visibleRegion, (VkExtent2D*)(&to->visibleRegion));
}
void deepcopy_VkDisplayModePropertiesKHR(
Pool* pool,
const VkDisplayModePropertiesKHR* from,
VkDisplayModePropertiesKHR* to)
{
(void)pool;
*to = *from;
deepcopy_VkDisplayModeParametersKHR(pool, &from->parameters, (VkDisplayModeParametersKHR*)(&to->parameters));
}
void deepcopy_VkDisplayModeCreateInfoKHR(
Pool* pool,
const VkDisplayModeCreateInfoKHR* from,
VkDisplayModeCreateInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkDisplayModeParametersKHR(pool, &from->parameters, (VkDisplayModeParametersKHR*)(&to->parameters));
}
void deepcopy_VkDisplayPlaneCapabilitiesKHR(
Pool* pool,
const VkDisplayPlaneCapabilitiesKHR* from,
VkDisplayPlaneCapabilitiesKHR* to)
{
(void)pool;
*to = *from;
deepcopy_VkOffset2D(pool, &from->minSrcPosition, (VkOffset2D*)(&to->minSrcPosition));
deepcopy_VkOffset2D(pool, &from->maxSrcPosition, (VkOffset2D*)(&to->maxSrcPosition));
deepcopy_VkExtent2D(pool, &from->minSrcExtent, (VkExtent2D*)(&to->minSrcExtent));
deepcopy_VkExtent2D(pool, &from->maxSrcExtent, (VkExtent2D*)(&to->maxSrcExtent));
deepcopy_VkOffset2D(pool, &from->minDstPosition, (VkOffset2D*)(&to->minDstPosition));
deepcopy_VkOffset2D(pool, &from->maxDstPosition, (VkOffset2D*)(&to->maxDstPosition));
deepcopy_VkExtent2D(pool, &from->minDstExtent, (VkExtent2D*)(&to->minDstExtent));
deepcopy_VkExtent2D(pool, &from->maxDstExtent, (VkExtent2D*)(&to->maxDstExtent));
}
void deepcopy_VkDisplayPlanePropertiesKHR(
Pool* pool,
const VkDisplayPlanePropertiesKHR* from,
VkDisplayPlanePropertiesKHR* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkDisplaySurfaceCreateInfoKHR(
Pool* pool,
const VkDisplaySurfaceCreateInfoKHR* from,
VkDisplaySurfaceCreateInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkExtent2D(pool, &from->imageExtent, (VkExtent2D*)(&to->imageExtent));
}
#endif
#ifdef VK_KHR_display_swapchain
void deepcopy_VkDisplayPresentInfoKHR(
Pool* pool,
const VkDisplayPresentInfoKHR* from,
VkDisplayPresentInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkRect2D(pool, &from->srcRect, (VkRect2D*)(&to->srcRect));
deepcopy_VkRect2D(pool, &from->dstRect, (VkRect2D*)(&to->dstRect));
}
#endif
#ifdef VK_KHR_xlib_surface
void deepcopy_VkXlibSurfaceCreateInfoKHR(
Pool* pool,
const VkXlibSurfaceCreateInfoKHR* from,
VkXlibSurfaceCreateInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->dpy = nullptr;
if (from->dpy)
{
to->dpy = (Display*)pool->dupArray(from->dpy, sizeof(Display));
}
}
#endif
#ifdef VK_KHR_xcb_surface
void deepcopy_VkXcbSurfaceCreateInfoKHR(
Pool* pool,
const VkXcbSurfaceCreateInfoKHR* from,
VkXcbSurfaceCreateInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->connection = nullptr;
if (from->connection)
{
to->connection = (xcb_connection_t*)pool->dupArray(from->connection, sizeof(xcb_connection_t));
}
}
#endif
#ifdef VK_KHR_wayland_surface
void deepcopy_VkWaylandSurfaceCreateInfoKHR(
Pool* pool,
const VkWaylandSurfaceCreateInfoKHR* from,
VkWaylandSurfaceCreateInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->display = nullptr;
if (from->display)
{
to->display = (wl_display*)pool->dupArray(from->display, sizeof(wl_display));
}
to->surface = nullptr;
if (from->surface)
{
to->surface = (wl_surface*)pool->dupArray(from->surface, sizeof(wl_surface));
}
}
#endif
#ifdef VK_KHR_mir_surface
void deepcopy_VkMirSurfaceCreateInfoKHR(
Pool* pool,
const VkMirSurfaceCreateInfoKHR* from,
VkMirSurfaceCreateInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->connection = nullptr;
if (from->connection)
{
to->connection = (MirConnection*)pool->dupArray(from->connection, sizeof(MirConnection));
}
to->mirSurface = nullptr;
if (from->mirSurface)
{
to->mirSurface = (MirSurface*)pool->dupArray(from->mirSurface, sizeof(MirSurface));
}
}
#endif
#ifdef VK_KHR_android_surface
void deepcopy_VkAndroidSurfaceCreateInfoKHR(
Pool* pool,
const VkAndroidSurfaceCreateInfoKHR* from,
VkAndroidSurfaceCreateInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->window = nullptr;
if (from->window)
{
to->window = (ANativeWindow*)pool->dupArray(from->window, sizeof(ANativeWindow));
}
}
#endif
#ifdef VK_KHR_win32_surface
void deepcopy_VkWin32SurfaceCreateInfoKHR(
Pool* pool,
const VkWin32SurfaceCreateInfoKHR* from,
VkWin32SurfaceCreateInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_KHR_sampler_mirror_clamp_to_edge
#endif
#ifdef VK_KHR_multiview
#endif
#ifdef VK_KHR_get_physical_device_properties2
#endif
#ifdef VK_KHR_device_group
#endif
#ifdef VK_KHR_shader_draw_parameters
#endif
#ifdef VK_KHR_maintenance1
#endif
#ifdef VK_KHR_device_group_creation
#endif
#ifdef VK_KHR_external_memory_capabilities
#endif
#ifdef VK_KHR_external_memory
#endif
#ifdef VK_KHR_external_memory_win32
void deepcopy_VkImportMemoryWin32HandleInfoKHR(
Pool* pool,
const VkImportMemoryWin32HandleInfoKHR* from,
VkImportMemoryWin32HandleInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkExportMemoryWin32HandleInfoKHR(
Pool* pool,
const VkExportMemoryWin32HandleInfoKHR* from,
VkExportMemoryWin32HandleInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pAttributes = nullptr;
if (from->pAttributes)
{
to->pAttributes = (SECURITY_ATTRIBUTES*)pool->dupArray(from->pAttributes, sizeof(const SECURITY_ATTRIBUTES));
}
}
void deepcopy_VkMemoryWin32HandlePropertiesKHR(
Pool* pool,
const VkMemoryWin32HandlePropertiesKHR* from,
VkMemoryWin32HandlePropertiesKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkMemoryGetWin32HandleInfoKHR(
Pool* pool,
const VkMemoryGetWin32HandleInfoKHR* from,
VkMemoryGetWin32HandleInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_KHR_external_memory_fd
void deepcopy_VkImportMemoryFdInfoKHR(
Pool* pool,
const VkImportMemoryFdInfoKHR* from,
VkImportMemoryFdInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkMemoryFdPropertiesKHR(
Pool* pool,
const VkMemoryFdPropertiesKHR* from,
VkMemoryFdPropertiesKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkMemoryGetFdInfoKHR(
Pool* pool,
const VkMemoryGetFdInfoKHR* from,
VkMemoryGetFdInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_KHR_win32_keyed_mutex
void deepcopy_VkWin32KeyedMutexAcquireReleaseInfoKHR(
Pool* pool,
const VkWin32KeyedMutexAcquireReleaseInfoKHR* from,
VkWin32KeyedMutexAcquireReleaseInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pAcquireSyncs = nullptr;
if (from->pAcquireSyncs)
{
to->pAcquireSyncs = (VkDeviceMemory*)pool->dupArray(from->pAcquireSyncs, from->acquireCount * sizeof(const VkDeviceMemory));
}
to->pAcquireKeys = nullptr;
if (from->pAcquireKeys)
{
to->pAcquireKeys = (uint64_t*)pool->dupArray(from->pAcquireKeys, from->acquireCount * sizeof(const uint64_t));
}
to->pAcquireTimeouts = nullptr;
if (from->pAcquireTimeouts)
{
to->pAcquireTimeouts = (uint32_t*)pool->dupArray(from->pAcquireTimeouts, from->acquireCount * sizeof(const uint32_t));
}
to->pReleaseSyncs = nullptr;
if (from->pReleaseSyncs)
{
to->pReleaseSyncs = (VkDeviceMemory*)pool->dupArray(from->pReleaseSyncs, from->releaseCount * sizeof(const VkDeviceMemory));
}
to->pReleaseKeys = nullptr;
if (from->pReleaseKeys)
{
to->pReleaseKeys = (uint64_t*)pool->dupArray(from->pReleaseKeys, from->releaseCount * sizeof(const uint64_t));
}
}
#endif
#ifdef VK_KHR_external_semaphore_capabilities
#endif
#ifdef VK_KHR_external_semaphore
#endif
#ifdef VK_KHR_external_semaphore_win32
void deepcopy_VkImportSemaphoreWin32HandleInfoKHR(
Pool* pool,
const VkImportSemaphoreWin32HandleInfoKHR* from,
VkImportSemaphoreWin32HandleInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkExportSemaphoreWin32HandleInfoKHR(
Pool* pool,
const VkExportSemaphoreWin32HandleInfoKHR* from,
VkExportSemaphoreWin32HandleInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pAttributes = nullptr;
if (from->pAttributes)
{
to->pAttributes = (SECURITY_ATTRIBUTES*)pool->dupArray(from->pAttributes, sizeof(const SECURITY_ATTRIBUTES));
}
}
void deepcopy_VkD3D12FenceSubmitInfoKHR(
Pool* pool,
const VkD3D12FenceSubmitInfoKHR* from,
VkD3D12FenceSubmitInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pWaitSemaphoreValues = nullptr;
if (from->pWaitSemaphoreValues)
{
to->pWaitSemaphoreValues = (uint64_t*)pool->dupArray(from->pWaitSemaphoreValues, from->waitSemaphoreValuesCount * sizeof(const uint64_t));
}
to->pSignalSemaphoreValues = nullptr;
if (from->pSignalSemaphoreValues)
{
to->pSignalSemaphoreValues = (uint64_t*)pool->dupArray(from->pSignalSemaphoreValues, from->signalSemaphoreValuesCount * sizeof(const uint64_t));
}
}
void deepcopy_VkSemaphoreGetWin32HandleInfoKHR(
Pool* pool,
const VkSemaphoreGetWin32HandleInfoKHR* from,
VkSemaphoreGetWin32HandleInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_KHR_external_semaphore_fd
void deepcopy_VkImportSemaphoreFdInfoKHR(
Pool* pool,
const VkImportSemaphoreFdInfoKHR* from,
VkImportSemaphoreFdInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkSemaphoreGetFdInfoKHR(
Pool* pool,
const VkSemaphoreGetFdInfoKHR* from,
VkSemaphoreGetFdInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_KHR_push_descriptor
void deepcopy_VkPhysicalDevicePushDescriptorPropertiesKHR(
Pool* pool,
const VkPhysicalDevicePushDescriptorPropertiesKHR* from,
VkPhysicalDevicePushDescriptorPropertiesKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_KHR_16bit_storage
#endif
#ifdef VK_KHR_incremental_present
void deepcopy_VkRectLayerKHR(
Pool* pool,
const VkRectLayerKHR* from,
VkRectLayerKHR* to)
{
(void)pool;
*to = *from;
deepcopy_VkOffset2D(pool, &from->offset, (VkOffset2D*)(&to->offset));
deepcopy_VkExtent2D(pool, &from->extent, (VkExtent2D*)(&to->extent));
}
void deepcopy_VkPresentRegionKHR(
Pool* pool,
const VkPresentRegionKHR* from,
VkPresentRegionKHR* to)
{
(void)pool;
*to = *from;
to->pRectangles = nullptr;
if (from->pRectangles)
{
to->pRectangles = (VkRectLayerKHR*)pool->alloc(from->rectangleCount * sizeof(const VkRectLayerKHR));
to->rectangleCount = from->rectangleCount;
for (uint32_t i = 0; i < (uint32_t)from->rectangleCount; ++i)
{
deepcopy_VkRectLayerKHR(pool, from->pRectangles + i, (VkRectLayerKHR*)(to->pRectangles + i));
}
}
}
void deepcopy_VkPresentRegionsKHR(
Pool* pool,
const VkPresentRegionsKHR* from,
VkPresentRegionsKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pRegions = nullptr;
if (from->pRegions)
{
to->pRegions = (VkPresentRegionKHR*)pool->alloc(from->swapchainCount * sizeof(const VkPresentRegionKHR));
to->swapchainCount = from->swapchainCount;
for (uint32_t i = 0; i < (uint32_t)from->swapchainCount; ++i)
{
deepcopy_VkPresentRegionKHR(pool, from->pRegions + i, (VkPresentRegionKHR*)(to->pRegions + i));
}
}
}
#endif
#ifdef VK_KHR_descriptor_update_template
#endif
#ifdef VK_KHR_create_renderpass2
void deepcopy_VkAttachmentDescription2KHR(
Pool* pool,
const VkAttachmentDescription2KHR* from,
VkAttachmentDescription2KHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkAttachmentReference2KHR(
Pool* pool,
const VkAttachmentReference2KHR* from,
VkAttachmentReference2KHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkSubpassDescription2KHR(
Pool* pool,
const VkSubpassDescription2KHR* from,
VkSubpassDescription2KHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pInputAttachments = nullptr;
if (from->pInputAttachments)
{
to->pInputAttachments = (VkAttachmentReference2KHR*)pool->alloc(from->inputAttachmentCount * sizeof(const VkAttachmentReference2KHR));
to->inputAttachmentCount = from->inputAttachmentCount;
for (uint32_t i = 0; i < (uint32_t)from->inputAttachmentCount; ++i)
{
deepcopy_VkAttachmentReference2KHR(pool, from->pInputAttachments + i, (VkAttachmentReference2KHR*)(to->pInputAttachments + i));
}
}
to->pColorAttachments = nullptr;
if (from->pColorAttachments)
{
to->pColorAttachments = (VkAttachmentReference2KHR*)pool->alloc(from->colorAttachmentCount * sizeof(const VkAttachmentReference2KHR));
to->colorAttachmentCount = from->colorAttachmentCount;
for (uint32_t i = 0; i < (uint32_t)from->colorAttachmentCount; ++i)
{
deepcopy_VkAttachmentReference2KHR(pool, from->pColorAttachments + i, (VkAttachmentReference2KHR*)(to->pColorAttachments + i));
}
}
to->pResolveAttachments = nullptr;
if (from->pResolveAttachments)
{
to->pResolveAttachments = (VkAttachmentReference2KHR*)pool->alloc(from->colorAttachmentCount * sizeof(const VkAttachmentReference2KHR));
to->colorAttachmentCount = from->colorAttachmentCount;
for (uint32_t i = 0; i < (uint32_t)from->colorAttachmentCount; ++i)
{
deepcopy_VkAttachmentReference2KHR(pool, from->pResolveAttachments + i, (VkAttachmentReference2KHR*)(to->pResolveAttachments + i));
}
}
to->pDepthStencilAttachment = nullptr;
if (from->pDepthStencilAttachment)
{
to->pDepthStencilAttachment = (VkAttachmentReference2KHR*)pool->alloc(sizeof(const VkAttachmentReference2KHR));
deepcopy_VkAttachmentReference2KHR(pool, from->pDepthStencilAttachment, (VkAttachmentReference2KHR*)(to->pDepthStencilAttachment));
}
to->pPreserveAttachments = nullptr;
if (from->pPreserveAttachments)
{
to->pPreserveAttachments = (uint32_t*)pool->dupArray(from->pPreserveAttachments, from->preserveAttachmentCount * sizeof(const uint32_t));
}
}
void deepcopy_VkSubpassDependency2KHR(
Pool* pool,
const VkSubpassDependency2KHR* from,
VkSubpassDependency2KHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkRenderPassCreateInfo2KHR(
Pool* pool,
const VkRenderPassCreateInfo2KHR* from,
VkRenderPassCreateInfo2KHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pAttachments = nullptr;
if (from->pAttachments)
{
to->pAttachments = (VkAttachmentDescription2KHR*)pool->alloc(from->attachmentCount * sizeof(const VkAttachmentDescription2KHR));
to->attachmentCount = from->attachmentCount;
for (uint32_t i = 0; i < (uint32_t)from->attachmentCount; ++i)
{
deepcopy_VkAttachmentDescription2KHR(pool, from->pAttachments + i, (VkAttachmentDescription2KHR*)(to->pAttachments + i));
}
}
to->pSubpasses = nullptr;
if (from->pSubpasses)
{
to->pSubpasses = (VkSubpassDescription2KHR*)pool->alloc(from->subpassCount * sizeof(const VkSubpassDescription2KHR));
to->subpassCount = from->subpassCount;
for (uint32_t i = 0; i < (uint32_t)from->subpassCount; ++i)
{
deepcopy_VkSubpassDescription2KHR(pool, from->pSubpasses + i, (VkSubpassDescription2KHR*)(to->pSubpasses + i));
}
}
to->pDependencies = nullptr;
if (from->pDependencies)
{
to->pDependencies = (VkSubpassDependency2KHR*)pool->alloc(from->dependencyCount * sizeof(const VkSubpassDependency2KHR));
to->dependencyCount = from->dependencyCount;
for (uint32_t i = 0; i < (uint32_t)from->dependencyCount; ++i)
{
deepcopy_VkSubpassDependency2KHR(pool, from->pDependencies + i, (VkSubpassDependency2KHR*)(to->pDependencies + i));
}
}
to->pCorrelatedViewMasks = nullptr;
if (from->pCorrelatedViewMasks)
{
to->pCorrelatedViewMasks = (uint32_t*)pool->dupArray(from->pCorrelatedViewMasks, from->correlatedViewMaskCount * sizeof(const uint32_t));
}
}
void deepcopy_VkSubpassBeginInfoKHR(
Pool* pool,
const VkSubpassBeginInfoKHR* from,
VkSubpassBeginInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkSubpassEndInfoKHR(
Pool* pool,
const VkSubpassEndInfoKHR* from,
VkSubpassEndInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_KHR_shared_presentable_image
void deepcopy_VkSharedPresentSurfaceCapabilitiesKHR(
Pool* pool,
const VkSharedPresentSurfaceCapabilitiesKHR* from,
VkSharedPresentSurfaceCapabilitiesKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_KHR_external_fence_capabilities
#endif
#ifdef VK_KHR_external_fence
#endif
#ifdef VK_KHR_external_fence_win32
void deepcopy_VkImportFenceWin32HandleInfoKHR(
Pool* pool,
const VkImportFenceWin32HandleInfoKHR* from,
VkImportFenceWin32HandleInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkExportFenceWin32HandleInfoKHR(
Pool* pool,
const VkExportFenceWin32HandleInfoKHR* from,
VkExportFenceWin32HandleInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pAttributes = nullptr;
if (from->pAttributes)
{
to->pAttributes = (SECURITY_ATTRIBUTES*)pool->dupArray(from->pAttributes, sizeof(const SECURITY_ATTRIBUTES));
}
}
void deepcopy_VkFenceGetWin32HandleInfoKHR(
Pool* pool,
const VkFenceGetWin32HandleInfoKHR* from,
VkFenceGetWin32HandleInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_KHR_external_fence_fd
void deepcopy_VkImportFenceFdInfoKHR(
Pool* pool,
const VkImportFenceFdInfoKHR* from,
VkImportFenceFdInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkFenceGetFdInfoKHR(
Pool* pool,
const VkFenceGetFdInfoKHR* from,
VkFenceGetFdInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_KHR_maintenance2
#endif
#ifdef VK_KHR_get_surface_capabilities2
void deepcopy_VkPhysicalDeviceSurfaceInfo2KHR(
Pool* pool,
const VkPhysicalDeviceSurfaceInfo2KHR* from,
VkPhysicalDeviceSurfaceInfo2KHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkSurfaceCapabilities2KHR(
Pool* pool,
const VkSurfaceCapabilities2KHR* from,
VkSurfaceCapabilities2KHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkSurfaceCapabilitiesKHR(pool, &from->surfaceCapabilities, (VkSurfaceCapabilitiesKHR*)(&to->surfaceCapabilities));
}
void deepcopy_VkSurfaceFormat2KHR(
Pool* pool,
const VkSurfaceFormat2KHR* from,
VkSurfaceFormat2KHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkSurfaceFormatKHR(pool, &from->surfaceFormat, (VkSurfaceFormatKHR*)(&to->surfaceFormat));
}
#endif
#ifdef VK_KHR_variable_pointers
#endif
#ifdef VK_KHR_get_display_properties2
void deepcopy_VkDisplayProperties2KHR(
Pool* pool,
const VkDisplayProperties2KHR* from,
VkDisplayProperties2KHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkDisplayPropertiesKHR(pool, &from->displayProperties, (VkDisplayPropertiesKHR*)(&to->displayProperties));
}
void deepcopy_VkDisplayPlaneProperties2KHR(
Pool* pool,
const VkDisplayPlaneProperties2KHR* from,
VkDisplayPlaneProperties2KHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkDisplayPlanePropertiesKHR(pool, &from->displayPlaneProperties, (VkDisplayPlanePropertiesKHR*)(&to->displayPlaneProperties));
}
void deepcopy_VkDisplayModeProperties2KHR(
Pool* pool,
const VkDisplayModeProperties2KHR* from,
VkDisplayModeProperties2KHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkDisplayModePropertiesKHR(pool, &from->displayModeProperties, (VkDisplayModePropertiesKHR*)(&to->displayModeProperties));
}
void deepcopy_VkDisplayPlaneInfo2KHR(
Pool* pool,
const VkDisplayPlaneInfo2KHR* from,
VkDisplayPlaneInfo2KHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkDisplayPlaneCapabilities2KHR(
Pool* pool,
const VkDisplayPlaneCapabilities2KHR* from,
VkDisplayPlaneCapabilities2KHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkDisplayPlaneCapabilitiesKHR(pool, &from->capabilities, (VkDisplayPlaneCapabilitiesKHR*)(&to->capabilities));
}
#endif
#ifdef VK_KHR_dedicated_allocation
#endif
#ifdef VK_KHR_storage_buffer_storage_class
#endif
#ifdef VK_KHR_relaxed_block_layout
#endif
#ifdef VK_KHR_get_memory_requirements2
#endif
#ifdef VK_KHR_image_format_list
void deepcopy_VkImageFormatListCreateInfoKHR(
Pool* pool,
const VkImageFormatListCreateInfoKHR* from,
VkImageFormatListCreateInfoKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pViewFormats = nullptr;
if (from->pViewFormats)
{
to->pViewFormats = (VkFormat*)pool->dupArray(from->pViewFormats, from->viewFormatCount * sizeof(const VkFormat));
}
}
#endif
#ifdef VK_KHR_sampler_ycbcr_conversion
#endif
#ifdef VK_KHR_bind_memory2
#endif
#ifdef VK_KHR_maintenance3
#endif
#ifdef VK_KHR_draw_indirect_count
#endif
#ifdef VK_KHR_8bit_storage
void deepcopy_VkPhysicalDevice8BitStorageFeaturesKHR(
Pool* pool,
const VkPhysicalDevice8BitStorageFeaturesKHR* from,
VkPhysicalDevice8BitStorageFeaturesKHR* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_KHR_shader_float16_int8
void deepcopy_VkPhysicalDeviceShaderFloat16Int8Features(
Pool* pool,
const VkPhysicalDeviceShaderFloat16Int8Features* from,
VkPhysicalDeviceShaderFloat16Int8Features* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_ANDROID_native_buffer
void deepcopy_VkNativeBufferANDROID(
Pool* pool,
const VkNativeBufferANDROID* from,
VkNativeBufferANDROID* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->handle = nullptr;
if (from->handle)
{
to->handle = (uint32_t*)pool->dupArray(from->handle, sizeof(const uint32_t));
}
}
#endif
#ifdef VK_EXT_debug_report
void deepcopy_VkDebugReportCallbackCreateInfoEXT(
Pool* pool,
const VkDebugReportCallbackCreateInfoEXT* from,
VkDebugReportCallbackCreateInfoEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pUserData = nullptr;
if (from->pUserData)
{
to->pUserData = (void*)pool->dupArray(from->pUserData, sizeof(uint8_t));
}
}
#endif
#ifdef VK_NV_glsl_shader
#endif
#ifdef VK_EXT_depth_range_unrestricted
#endif
#ifdef VK_IMG_filter_cubic
#endif
#ifdef VK_AMD_rasterization_order
void deepcopy_VkPipelineRasterizationStateRasterizationOrderAMD(
Pool* pool,
const VkPipelineRasterizationStateRasterizationOrderAMD* from,
VkPipelineRasterizationStateRasterizationOrderAMD* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_AMD_shader_trinary_minmax
#endif
#ifdef VK_AMD_shader_explicit_vertex_parameter
#endif
#ifdef VK_EXT_debug_marker
void deepcopy_VkDebugMarkerObjectNameInfoEXT(
Pool* pool,
const VkDebugMarkerObjectNameInfoEXT* from,
VkDebugMarkerObjectNameInfoEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pObjectName = nullptr;
if (from->pObjectName)
{
to->pObjectName = pool->strDup(from->pObjectName);
}
}
void deepcopy_VkDebugMarkerObjectTagInfoEXT(
Pool* pool,
const VkDebugMarkerObjectTagInfoEXT* from,
VkDebugMarkerObjectTagInfoEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pTag = nullptr;
if (from->pTag)
{
to->pTag = (void*)pool->dupArray(from->pTag, from->tagSize * sizeof(const uint8_t));
}
}
void deepcopy_VkDebugMarkerMarkerInfoEXT(
Pool* pool,
const VkDebugMarkerMarkerInfoEXT* from,
VkDebugMarkerMarkerInfoEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pMarkerName = nullptr;
if (from->pMarkerName)
{
to->pMarkerName = pool->strDup(from->pMarkerName);
}
memcpy(to->color, from->color, 4 * sizeof(float));
}
#endif
#ifdef VK_AMD_gcn_shader
#endif
#ifdef VK_NV_dedicated_allocation
void deepcopy_VkDedicatedAllocationImageCreateInfoNV(
Pool* pool,
const VkDedicatedAllocationImageCreateInfoNV* from,
VkDedicatedAllocationImageCreateInfoNV* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkDedicatedAllocationBufferCreateInfoNV(
Pool* pool,
const VkDedicatedAllocationBufferCreateInfoNV* from,
VkDedicatedAllocationBufferCreateInfoNV* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkDedicatedAllocationMemoryAllocateInfoNV(
Pool* pool,
const VkDedicatedAllocationMemoryAllocateInfoNV* from,
VkDedicatedAllocationMemoryAllocateInfoNV* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_AMD_draw_indirect_count
#endif
#ifdef VK_AMD_negative_viewport_height
#endif
#ifdef VK_AMD_gpu_shader_half_float
#endif
#ifdef VK_AMD_shader_ballot
#endif
#ifdef VK_AMD_texture_gather_bias_lod
void deepcopy_VkTextureLODGatherFormatPropertiesAMD(
Pool* pool,
const VkTextureLODGatherFormatPropertiesAMD* from,
VkTextureLODGatherFormatPropertiesAMD* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_AMD_shader_info
void deepcopy_VkShaderResourceUsageAMD(
Pool* pool,
const VkShaderResourceUsageAMD* from,
VkShaderResourceUsageAMD* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkShaderStatisticsInfoAMD(
Pool* pool,
const VkShaderStatisticsInfoAMD* from,
VkShaderStatisticsInfoAMD* to)
{
(void)pool;
*to = *from;
deepcopy_VkShaderResourceUsageAMD(pool, &from->resourceUsage, (VkShaderResourceUsageAMD*)(&to->resourceUsage));
memcpy(to->computeWorkGroupSize, from->computeWorkGroupSize, 3 * sizeof(uint32_t));
}
#endif
#ifdef VK_AMD_shader_image_load_store_lod
#endif
#ifdef VK_IMG_format_pvrtc
#endif
#ifdef VK_NV_external_memory_capabilities
void deepcopy_VkExternalImageFormatPropertiesNV(
Pool* pool,
const VkExternalImageFormatPropertiesNV* from,
VkExternalImageFormatPropertiesNV* to)
{
(void)pool;
*to = *from;
deepcopy_VkImageFormatProperties(pool, &from->imageFormatProperties, (VkImageFormatProperties*)(&to->imageFormatProperties));
}
#endif
#ifdef VK_NV_external_memory
void deepcopy_VkExternalMemoryImageCreateInfoNV(
Pool* pool,
const VkExternalMemoryImageCreateInfoNV* from,
VkExternalMemoryImageCreateInfoNV* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkExportMemoryAllocateInfoNV(
Pool* pool,
const VkExportMemoryAllocateInfoNV* from,
VkExportMemoryAllocateInfoNV* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_NV_external_memory_win32
void deepcopy_VkImportMemoryWin32HandleInfoNV(
Pool* pool,
const VkImportMemoryWin32HandleInfoNV* from,
VkImportMemoryWin32HandleInfoNV* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkExportMemoryWin32HandleInfoNV(
Pool* pool,
const VkExportMemoryWin32HandleInfoNV* from,
VkExportMemoryWin32HandleInfoNV* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pAttributes = nullptr;
if (from->pAttributes)
{
to->pAttributes = (SECURITY_ATTRIBUTES*)pool->dupArray(from->pAttributes, sizeof(const SECURITY_ATTRIBUTES));
}
}
#endif
#ifdef VK_NV_win32_keyed_mutex
void deepcopy_VkWin32KeyedMutexAcquireReleaseInfoNV(
Pool* pool,
const VkWin32KeyedMutexAcquireReleaseInfoNV* from,
VkWin32KeyedMutexAcquireReleaseInfoNV* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pAcquireSyncs = nullptr;
if (from->pAcquireSyncs)
{
to->pAcquireSyncs = (VkDeviceMemory*)pool->dupArray(from->pAcquireSyncs, from->acquireCount * sizeof(const VkDeviceMemory));
}
to->pAcquireKeys = nullptr;
if (from->pAcquireKeys)
{
to->pAcquireKeys = (uint64_t*)pool->dupArray(from->pAcquireKeys, from->acquireCount * sizeof(const uint64_t));
}
to->pAcquireTimeoutMilliseconds = nullptr;
if (from->pAcquireTimeoutMilliseconds)
{
to->pAcquireTimeoutMilliseconds = (uint32_t*)pool->dupArray(from->pAcquireTimeoutMilliseconds, from->acquireCount * sizeof(const uint32_t));
}
to->pReleaseSyncs = nullptr;
if (from->pReleaseSyncs)
{
to->pReleaseSyncs = (VkDeviceMemory*)pool->dupArray(from->pReleaseSyncs, from->releaseCount * sizeof(const VkDeviceMemory));
}
to->pReleaseKeys = nullptr;
if (from->pReleaseKeys)
{
to->pReleaseKeys = (uint64_t*)pool->dupArray(from->pReleaseKeys, from->releaseCount * sizeof(const uint64_t));
}
}
#endif
#ifdef VK_EXT_validation_flags
void deepcopy_VkValidationFlagsEXT(
Pool* pool,
const VkValidationFlagsEXT* from,
VkValidationFlagsEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pDisabledValidationChecks = nullptr;
if (from->pDisabledValidationChecks)
{
to->pDisabledValidationChecks = (VkValidationCheckEXT*)pool->dupArray(from->pDisabledValidationChecks, from->disabledValidationCheckCount * sizeof(const VkValidationCheckEXT));
}
}
#endif
#ifdef VK_NN_vi_surface
void deepcopy_VkViSurfaceCreateInfoNN(
Pool* pool,
const VkViSurfaceCreateInfoNN* from,
VkViSurfaceCreateInfoNN* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->window = nullptr;
if (from->window)
{
to->window = (void*)pool->dupArray(from->window, sizeof(uint8_t));
}
}
#endif
#ifdef VK_EXT_shader_subgroup_ballot
#endif
#ifdef VK_EXT_shader_subgroup_vote
#endif
#ifdef VK_EXT_conditional_rendering
void deepcopy_VkConditionalRenderingBeginInfoEXT(
Pool* pool,
const VkConditionalRenderingBeginInfoEXT* from,
VkConditionalRenderingBeginInfoEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkPhysicalDeviceConditionalRenderingFeaturesEXT(
Pool* pool,
const VkPhysicalDeviceConditionalRenderingFeaturesEXT* from,
VkPhysicalDeviceConditionalRenderingFeaturesEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkCommandBufferInheritanceConditionalRenderingInfoEXT(
Pool* pool,
const VkCommandBufferInheritanceConditionalRenderingInfoEXT* from,
VkCommandBufferInheritanceConditionalRenderingInfoEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_NVX_device_generated_commands
void deepcopy_VkDeviceGeneratedCommandsFeaturesNVX(
Pool* pool,
const VkDeviceGeneratedCommandsFeaturesNVX* from,
VkDeviceGeneratedCommandsFeaturesNVX* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkDeviceGeneratedCommandsLimitsNVX(
Pool* pool,
const VkDeviceGeneratedCommandsLimitsNVX* from,
VkDeviceGeneratedCommandsLimitsNVX* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkIndirectCommandsTokenNVX(
Pool* pool,
const VkIndirectCommandsTokenNVX* from,
VkIndirectCommandsTokenNVX* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkIndirectCommandsLayoutTokenNVX(
Pool* pool,
const VkIndirectCommandsLayoutTokenNVX* from,
VkIndirectCommandsLayoutTokenNVX* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkIndirectCommandsLayoutCreateInfoNVX(
Pool* pool,
const VkIndirectCommandsLayoutCreateInfoNVX* from,
VkIndirectCommandsLayoutCreateInfoNVX* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pTokens = nullptr;
if (from->pTokens)
{
to->pTokens = (VkIndirectCommandsLayoutTokenNVX*)pool->alloc(from->tokenCount * sizeof(const VkIndirectCommandsLayoutTokenNVX));
to->tokenCount = from->tokenCount;
for (uint32_t i = 0; i < (uint32_t)from->tokenCount; ++i)
{
deepcopy_VkIndirectCommandsLayoutTokenNVX(pool, from->pTokens + i, (VkIndirectCommandsLayoutTokenNVX*)(to->pTokens + i));
}
}
}
void deepcopy_VkCmdProcessCommandsInfoNVX(
Pool* pool,
const VkCmdProcessCommandsInfoNVX* from,
VkCmdProcessCommandsInfoNVX* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pIndirectCommandsTokens = nullptr;
if (from->pIndirectCommandsTokens)
{
to->pIndirectCommandsTokens = (VkIndirectCommandsTokenNVX*)pool->alloc(from->indirectCommandsTokenCount * sizeof(const VkIndirectCommandsTokenNVX));
to->indirectCommandsTokenCount = from->indirectCommandsTokenCount;
for (uint32_t i = 0; i < (uint32_t)from->indirectCommandsTokenCount; ++i)
{
deepcopy_VkIndirectCommandsTokenNVX(pool, from->pIndirectCommandsTokens + i, (VkIndirectCommandsTokenNVX*)(to->pIndirectCommandsTokens + i));
}
}
}
void deepcopy_VkCmdReserveSpaceForCommandsInfoNVX(
Pool* pool,
const VkCmdReserveSpaceForCommandsInfoNVX* from,
VkCmdReserveSpaceForCommandsInfoNVX* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkObjectTableCreateInfoNVX(
Pool* pool,
const VkObjectTableCreateInfoNVX* from,
VkObjectTableCreateInfoNVX* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pObjectEntryTypes = nullptr;
if (from->pObjectEntryTypes)
{
to->pObjectEntryTypes = (VkObjectEntryTypeNVX*)pool->dupArray(from->pObjectEntryTypes, from->objectCount * sizeof(const VkObjectEntryTypeNVX));
}
to->pObjectEntryCounts = nullptr;
if (from->pObjectEntryCounts)
{
to->pObjectEntryCounts = (uint32_t*)pool->dupArray(from->pObjectEntryCounts, from->objectCount * sizeof(const uint32_t));
}
to->pObjectEntryUsageFlags = nullptr;
if (from->pObjectEntryUsageFlags)
{
to->pObjectEntryUsageFlags = (VkObjectEntryUsageFlagsNVX*)pool->dupArray(from->pObjectEntryUsageFlags, from->objectCount * sizeof(const VkObjectEntryUsageFlagsNVX));
}
}
void deepcopy_VkObjectTableEntryNVX(
Pool* pool,
const VkObjectTableEntryNVX* from,
VkObjectTableEntryNVX* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkObjectTablePipelineEntryNVX(
Pool* pool,
const VkObjectTablePipelineEntryNVX* from,
VkObjectTablePipelineEntryNVX* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkObjectTableDescriptorSetEntryNVX(
Pool* pool,
const VkObjectTableDescriptorSetEntryNVX* from,
VkObjectTableDescriptorSetEntryNVX* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkObjectTableVertexBufferEntryNVX(
Pool* pool,
const VkObjectTableVertexBufferEntryNVX* from,
VkObjectTableVertexBufferEntryNVX* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkObjectTableIndexBufferEntryNVX(
Pool* pool,
const VkObjectTableIndexBufferEntryNVX* from,
VkObjectTableIndexBufferEntryNVX* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkObjectTablePushConstantEntryNVX(
Pool* pool,
const VkObjectTablePushConstantEntryNVX* from,
VkObjectTablePushConstantEntryNVX* to)
{
(void)pool;
*to = *from;
}
#endif
#ifdef VK_NV_clip_space_w_scaling
void deepcopy_VkViewportWScalingNV(
Pool* pool,
const VkViewportWScalingNV* from,
VkViewportWScalingNV* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkPipelineViewportWScalingStateCreateInfoNV(
Pool* pool,
const VkPipelineViewportWScalingStateCreateInfoNV* from,
VkPipelineViewportWScalingStateCreateInfoNV* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pViewportWScalings = nullptr;
if (from->pViewportWScalings)
{
to->pViewportWScalings = (VkViewportWScalingNV*)pool->alloc(from->viewportCount * sizeof(const VkViewportWScalingNV));
to->viewportCount = from->viewportCount;
for (uint32_t i = 0; i < (uint32_t)from->viewportCount; ++i)
{
deepcopy_VkViewportWScalingNV(pool, from->pViewportWScalings + i, (VkViewportWScalingNV*)(to->pViewportWScalings + i));
}
}
}
#endif
#ifdef VK_EXT_direct_mode_display
#endif
#ifdef VK_EXT_acquire_xlib_display
#endif
#ifdef VK_EXT_display_surface_counter
void deepcopy_VkSurfaceCapabilities2EXT(
Pool* pool,
const VkSurfaceCapabilities2EXT* from,
VkSurfaceCapabilities2EXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkExtent2D(pool, &from->currentExtent, (VkExtent2D*)(&to->currentExtent));
deepcopy_VkExtent2D(pool, &from->minImageExtent, (VkExtent2D*)(&to->minImageExtent));
deepcopy_VkExtent2D(pool, &from->maxImageExtent, (VkExtent2D*)(&to->maxImageExtent));
}
#endif
#ifdef VK_EXT_display_control
void deepcopy_VkDisplayPowerInfoEXT(
Pool* pool,
const VkDisplayPowerInfoEXT* from,
VkDisplayPowerInfoEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkDeviceEventInfoEXT(
Pool* pool,
const VkDeviceEventInfoEXT* from,
VkDeviceEventInfoEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkDisplayEventInfoEXT(
Pool* pool,
const VkDisplayEventInfoEXT* from,
VkDisplayEventInfoEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkSwapchainCounterCreateInfoEXT(
Pool* pool,
const VkSwapchainCounterCreateInfoEXT* from,
VkSwapchainCounterCreateInfoEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_GOOGLE_display_timing
void deepcopy_VkRefreshCycleDurationGOOGLE(
Pool* pool,
const VkRefreshCycleDurationGOOGLE* from,
VkRefreshCycleDurationGOOGLE* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkPastPresentationTimingGOOGLE(
Pool* pool,
const VkPastPresentationTimingGOOGLE* from,
VkPastPresentationTimingGOOGLE* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkPresentTimeGOOGLE(
Pool* pool,
const VkPresentTimeGOOGLE* from,
VkPresentTimeGOOGLE* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkPresentTimesInfoGOOGLE(
Pool* pool,
const VkPresentTimesInfoGOOGLE* from,
VkPresentTimesInfoGOOGLE* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pTimes = nullptr;
if (from->pTimes)
{
to->pTimes = (VkPresentTimeGOOGLE*)pool->alloc(from->swapchainCount * sizeof(const VkPresentTimeGOOGLE));
to->swapchainCount = from->swapchainCount;
for (uint32_t i = 0; i < (uint32_t)from->swapchainCount; ++i)
{
deepcopy_VkPresentTimeGOOGLE(pool, from->pTimes + i, (VkPresentTimeGOOGLE*)(to->pTimes + i));
}
}
}
#endif
#ifdef VK_NV_sample_mask_override_coverage
#endif
#ifdef VK_NV_geometry_shader_passthrough
#endif
#ifdef VK_NV_viewport_array2
#endif
#ifdef VK_NVX_multiview_per_view_attributes
void deepcopy_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(
Pool* pool,
const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* from,
VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_NV_viewport_swizzle
void deepcopy_VkViewportSwizzleNV(
Pool* pool,
const VkViewportSwizzleNV* from,
VkViewportSwizzleNV* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkPipelineViewportSwizzleStateCreateInfoNV(
Pool* pool,
const VkPipelineViewportSwizzleStateCreateInfoNV* from,
VkPipelineViewportSwizzleStateCreateInfoNV* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pViewportSwizzles = nullptr;
if (from->pViewportSwizzles)
{
to->pViewportSwizzles = (VkViewportSwizzleNV*)pool->alloc(from->viewportCount * sizeof(const VkViewportSwizzleNV));
to->viewportCount = from->viewportCount;
for (uint32_t i = 0; i < (uint32_t)from->viewportCount; ++i)
{
deepcopy_VkViewportSwizzleNV(pool, from->pViewportSwizzles + i, (VkViewportSwizzleNV*)(to->pViewportSwizzles + i));
}
}
}
#endif
#ifdef VK_EXT_discard_rectangles
void deepcopy_VkPhysicalDeviceDiscardRectanglePropertiesEXT(
Pool* pool,
const VkPhysicalDeviceDiscardRectanglePropertiesEXT* from,
VkPhysicalDeviceDiscardRectanglePropertiesEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkPipelineDiscardRectangleStateCreateInfoEXT(
Pool* pool,
const VkPipelineDiscardRectangleStateCreateInfoEXT* from,
VkPipelineDiscardRectangleStateCreateInfoEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pDiscardRectangles = nullptr;
if (from->pDiscardRectangles)
{
to->pDiscardRectangles = (VkRect2D*)pool->alloc(from->discardRectangleCount * sizeof(const VkRect2D));
to->discardRectangleCount = from->discardRectangleCount;
for (uint32_t i = 0; i < (uint32_t)from->discardRectangleCount; ++i)
{
deepcopy_VkRect2D(pool, from->pDiscardRectangles + i, (VkRect2D*)(to->pDiscardRectangles + i));
}
}
}
#endif
#ifdef VK_EXT_conservative_rasterization
void deepcopy_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(
Pool* pool,
const VkPhysicalDeviceConservativeRasterizationPropertiesEXT* from,
VkPhysicalDeviceConservativeRasterizationPropertiesEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkPipelineRasterizationConservativeStateCreateInfoEXT(
Pool* pool,
const VkPipelineRasterizationConservativeStateCreateInfoEXT* from,
VkPipelineRasterizationConservativeStateCreateInfoEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_EXT_swapchain_colorspace
#endif
#ifdef VK_EXT_hdr_metadata
void deepcopy_VkXYColorEXT(
Pool* pool,
const VkXYColorEXT* from,
VkXYColorEXT* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkHdrMetadataEXT(
Pool* pool,
const VkHdrMetadataEXT* from,
VkHdrMetadataEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkXYColorEXT(pool, &from->displayPrimaryRed, (VkXYColorEXT*)(&to->displayPrimaryRed));
deepcopy_VkXYColorEXT(pool, &from->displayPrimaryGreen, (VkXYColorEXT*)(&to->displayPrimaryGreen));
deepcopy_VkXYColorEXT(pool, &from->displayPrimaryBlue, (VkXYColorEXT*)(&to->displayPrimaryBlue));
deepcopy_VkXYColorEXT(pool, &from->whitePoint, (VkXYColorEXT*)(&to->whitePoint));
}
#endif
#ifdef VK_MVK_ios_surface
void deepcopy_VkIOSSurfaceCreateInfoMVK(
Pool* pool,
const VkIOSSurfaceCreateInfoMVK* from,
VkIOSSurfaceCreateInfoMVK* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pView = nullptr;
if (from->pView)
{
to->pView = (void*)pool->dupArray(from->pView, sizeof(const uint8_t));
}
}
#endif
#ifdef VK_MVK_macos_surface
void deepcopy_VkMacOSSurfaceCreateInfoMVK(
Pool* pool,
const VkMacOSSurfaceCreateInfoMVK* from,
VkMacOSSurfaceCreateInfoMVK* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pView = nullptr;
if (from->pView)
{
to->pView = (void*)pool->dupArray(from->pView, sizeof(const uint8_t));
}
}
#endif
#ifdef VK_EXT_external_memory_dma_buf
#endif
#ifdef VK_EXT_queue_family_foreign
#endif
#ifdef VK_EXT_debug_utils
void deepcopy_VkDebugUtilsObjectNameInfoEXT(
Pool* pool,
const VkDebugUtilsObjectNameInfoEXT* from,
VkDebugUtilsObjectNameInfoEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pObjectName = nullptr;
if (from->pObjectName)
{
to->pObjectName = pool->strDup(from->pObjectName);
}
}
void deepcopy_VkDebugUtilsObjectTagInfoEXT(
Pool* pool,
const VkDebugUtilsObjectTagInfoEXT* from,
VkDebugUtilsObjectTagInfoEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pTag = nullptr;
if (from->pTag)
{
to->pTag = (void*)pool->dupArray(from->pTag, from->tagSize * sizeof(const uint8_t));
}
}
void deepcopy_VkDebugUtilsLabelEXT(
Pool* pool,
const VkDebugUtilsLabelEXT* from,
VkDebugUtilsLabelEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pLabelName = nullptr;
if (from->pLabelName)
{
to->pLabelName = pool->strDup(from->pLabelName);
}
memcpy(to->color, from->color, 4 * sizeof(float));
}
void deepcopy_VkDebugUtilsMessengerCallbackDataEXT(
Pool* pool,
const VkDebugUtilsMessengerCallbackDataEXT* from,
VkDebugUtilsMessengerCallbackDataEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pMessageIdName = nullptr;
if (from->pMessageIdName)
{
to->pMessageIdName = pool->strDup(from->pMessageIdName);
}
to->pMessage = nullptr;
if (from->pMessage)
{
to->pMessage = pool->strDup(from->pMessage);
}
to->pQueueLabels = nullptr;
if (from->pQueueLabels)
{
to->pQueueLabels = (VkDebugUtilsLabelEXT*)pool->alloc(from->queueLabelCount * sizeof(VkDebugUtilsLabelEXT));
to->queueLabelCount = from->queueLabelCount;
for (uint32_t i = 0; i < (uint32_t)from->queueLabelCount; ++i)
{
deepcopy_VkDebugUtilsLabelEXT(pool, from->pQueueLabels + i, (VkDebugUtilsLabelEXT*)(to->pQueueLabels + i));
}
}
to->pCmdBufLabels = nullptr;
if (from->pCmdBufLabels)
{
to->pCmdBufLabels = (VkDebugUtilsLabelEXT*)pool->alloc(from->cmdBufLabelCount * sizeof(VkDebugUtilsLabelEXT));
to->cmdBufLabelCount = from->cmdBufLabelCount;
for (uint32_t i = 0; i < (uint32_t)from->cmdBufLabelCount; ++i)
{
deepcopy_VkDebugUtilsLabelEXT(pool, from->pCmdBufLabels + i, (VkDebugUtilsLabelEXT*)(to->pCmdBufLabels + i));
}
}
to->pObjects = nullptr;
if (from->pObjects)
{
to->pObjects = (VkDebugUtilsObjectNameInfoEXT*)pool->alloc(from->objectCount * sizeof(VkDebugUtilsObjectNameInfoEXT));
to->objectCount = from->objectCount;
for (uint32_t i = 0; i < (uint32_t)from->objectCount; ++i)
{
deepcopy_VkDebugUtilsObjectNameInfoEXT(pool, from->pObjects + i, (VkDebugUtilsObjectNameInfoEXT*)(to->pObjects + i));
}
}
}
void deepcopy_VkDebugUtilsMessengerCreateInfoEXT(
Pool* pool,
const VkDebugUtilsMessengerCreateInfoEXT* from,
VkDebugUtilsMessengerCreateInfoEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pUserData = nullptr;
if (from->pUserData)
{
to->pUserData = (void*)pool->dupArray(from->pUserData, sizeof(uint8_t));
}
}
#endif
#ifdef VK_ANDROID_external_memory_android_hardware_buffer
void deepcopy_VkAndroidHardwareBufferUsageANDROID(
Pool* pool,
const VkAndroidHardwareBufferUsageANDROID* from,
VkAndroidHardwareBufferUsageANDROID* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkAndroidHardwareBufferPropertiesANDROID(
Pool* pool,
const VkAndroidHardwareBufferPropertiesANDROID* from,
VkAndroidHardwareBufferPropertiesANDROID* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkAndroidHardwareBufferFormatPropertiesANDROID(
Pool* pool,
const VkAndroidHardwareBufferFormatPropertiesANDROID* from,
VkAndroidHardwareBufferFormatPropertiesANDROID* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkComponentMapping(pool, &from->samplerYcbcrConversionComponents, (VkComponentMapping*)(&to->samplerYcbcrConversionComponents));
}
void deepcopy_VkImportAndroidHardwareBufferInfoANDROID(
Pool* pool,
const VkImportAndroidHardwareBufferInfoANDROID* from,
VkImportAndroidHardwareBufferInfoANDROID* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->buffer = nullptr;
if (from->buffer)
{
to->buffer = (AHardwareBuffer*)pool->dupArray(from->buffer, sizeof(AHardwareBuffer));
}
}
void deepcopy_VkMemoryGetAndroidHardwareBufferInfoANDROID(
Pool* pool,
const VkMemoryGetAndroidHardwareBufferInfoANDROID* from,
VkMemoryGetAndroidHardwareBufferInfoANDROID* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkExternalFormatANDROID(
Pool* pool,
const VkExternalFormatANDROID* from,
VkExternalFormatANDROID* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_EXT_sampler_filter_minmax
void deepcopy_VkSamplerReductionModeCreateInfoEXT(
Pool* pool,
const VkSamplerReductionModeCreateInfoEXT* from,
VkSamplerReductionModeCreateInfoEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(
Pool* pool,
const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT* from,
VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_AMD_gpu_shader_int16
#endif
#ifdef VK_AMD_mixed_attachment_samples
#endif
#ifdef VK_AMD_shader_fragment_mask
#endif
#ifdef VK_EXT_shader_stencil_export
#endif
#ifdef VK_EXT_sample_locations
void deepcopy_VkSampleLocationEXT(
Pool* pool,
const VkSampleLocationEXT* from,
VkSampleLocationEXT* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkSampleLocationsInfoEXT(
Pool* pool,
const VkSampleLocationsInfoEXT* from,
VkSampleLocationsInfoEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkExtent2D(pool, &from->sampleLocationGridSize, (VkExtent2D*)(&to->sampleLocationGridSize));
to->pSampleLocations = nullptr;
if (from->pSampleLocations)
{
to->pSampleLocations = (VkSampleLocationEXT*)pool->alloc(from->sampleLocationsCount * sizeof(const VkSampleLocationEXT));
to->sampleLocationsCount = from->sampleLocationsCount;
for (uint32_t i = 0; i < (uint32_t)from->sampleLocationsCount; ++i)
{
deepcopy_VkSampleLocationEXT(pool, from->pSampleLocations + i, (VkSampleLocationEXT*)(to->pSampleLocations + i));
}
}
}
void deepcopy_VkAttachmentSampleLocationsEXT(
Pool* pool,
const VkAttachmentSampleLocationsEXT* from,
VkAttachmentSampleLocationsEXT* to)
{
(void)pool;
*to = *from;
deepcopy_VkSampleLocationsInfoEXT(pool, &from->sampleLocationsInfo, (VkSampleLocationsInfoEXT*)(&to->sampleLocationsInfo));
}
void deepcopy_VkSubpassSampleLocationsEXT(
Pool* pool,
const VkSubpassSampleLocationsEXT* from,
VkSubpassSampleLocationsEXT* to)
{
(void)pool;
*to = *from;
deepcopy_VkSampleLocationsInfoEXT(pool, &from->sampleLocationsInfo, (VkSampleLocationsInfoEXT*)(&to->sampleLocationsInfo));
}
void deepcopy_VkRenderPassSampleLocationsBeginInfoEXT(
Pool* pool,
const VkRenderPassSampleLocationsBeginInfoEXT* from,
VkRenderPassSampleLocationsBeginInfoEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pAttachmentInitialSampleLocations = nullptr;
if (from->pAttachmentInitialSampleLocations)
{
to->pAttachmentInitialSampleLocations = (VkAttachmentSampleLocationsEXT*)pool->alloc(from->attachmentInitialSampleLocationsCount * sizeof(const VkAttachmentSampleLocationsEXT));
to->attachmentInitialSampleLocationsCount = from->attachmentInitialSampleLocationsCount;
for (uint32_t i = 0; i < (uint32_t)from->attachmentInitialSampleLocationsCount; ++i)
{
deepcopy_VkAttachmentSampleLocationsEXT(pool, from->pAttachmentInitialSampleLocations + i, (VkAttachmentSampleLocationsEXT*)(to->pAttachmentInitialSampleLocations + i));
}
}
to->pPostSubpassSampleLocations = nullptr;
if (from->pPostSubpassSampleLocations)
{
to->pPostSubpassSampleLocations = (VkSubpassSampleLocationsEXT*)pool->alloc(from->postSubpassSampleLocationsCount * sizeof(const VkSubpassSampleLocationsEXT));
to->postSubpassSampleLocationsCount = from->postSubpassSampleLocationsCount;
for (uint32_t i = 0; i < (uint32_t)from->postSubpassSampleLocationsCount; ++i)
{
deepcopy_VkSubpassSampleLocationsEXT(pool, from->pPostSubpassSampleLocations + i, (VkSubpassSampleLocationsEXT*)(to->pPostSubpassSampleLocations + i));
}
}
}
void deepcopy_VkPipelineSampleLocationsStateCreateInfoEXT(
Pool* pool,
const VkPipelineSampleLocationsStateCreateInfoEXT* from,
VkPipelineSampleLocationsStateCreateInfoEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkSampleLocationsInfoEXT(pool, &from->sampleLocationsInfo, (VkSampleLocationsInfoEXT*)(&to->sampleLocationsInfo));
}
void deepcopy_VkPhysicalDeviceSampleLocationsPropertiesEXT(
Pool* pool,
const VkPhysicalDeviceSampleLocationsPropertiesEXT* from,
VkPhysicalDeviceSampleLocationsPropertiesEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkExtent2D(pool, &from->maxSampleLocationGridSize, (VkExtent2D*)(&to->maxSampleLocationGridSize));
memcpy(to->sampleLocationCoordinateRange, from->sampleLocationCoordinateRange, 2 * sizeof(float));
}
void deepcopy_VkMultisamplePropertiesEXT(
Pool* pool,
const VkMultisamplePropertiesEXT* from,
VkMultisamplePropertiesEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
deepcopy_VkExtent2D(pool, &from->maxSampleLocationGridSize, (VkExtent2D*)(&to->maxSampleLocationGridSize));
}
#endif
#ifdef VK_EXT_blend_operation_advanced
void deepcopy_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(
Pool* pool,
const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* from,
VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(
Pool* pool,
const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* from,
VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkPipelineColorBlendAdvancedStateCreateInfoEXT(
Pool* pool,
const VkPipelineColorBlendAdvancedStateCreateInfoEXT* from,
VkPipelineColorBlendAdvancedStateCreateInfoEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_NV_fragment_coverage_to_color
void deepcopy_VkPipelineCoverageToColorStateCreateInfoNV(
Pool* pool,
const VkPipelineCoverageToColorStateCreateInfoNV* from,
VkPipelineCoverageToColorStateCreateInfoNV* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_NV_framebuffer_mixed_samples
void deepcopy_VkPipelineCoverageModulationStateCreateInfoNV(
Pool* pool,
const VkPipelineCoverageModulationStateCreateInfoNV* from,
VkPipelineCoverageModulationStateCreateInfoNV* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pCoverageModulationTable = nullptr;
if (from->pCoverageModulationTable)
{
to->pCoverageModulationTable = (float*)pool->dupArray(from->pCoverageModulationTable, from->coverageModulationTableCount * sizeof(const float));
}
}
#endif
#ifdef VK_NV_fill_rectangle
#endif
#ifdef VK_EXT_post_depth_coverage
#endif
#ifdef VK_EXT_validation_cache
void deepcopy_VkValidationCacheCreateInfoEXT(
Pool* pool,
const VkValidationCacheCreateInfoEXT* from,
VkValidationCacheCreateInfoEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pInitialData = nullptr;
if (from->pInitialData)
{
to->pInitialData = (void*)pool->dupArray(from->pInitialData, from->initialDataSize * sizeof(const uint8_t));
}
}
void deepcopy_VkShaderModuleValidationCacheCreateInfoEXT(
Pool* pool,
const VkShaderModuleValidationCacheCreateInfoEXT* from,
VkShaderModuleValidationCacheCreateInfoEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_EXT_descriptor_indexing
void deepcopy_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(
Pool* pool,
const VkDescriptorSetLayoutBindingFlagsCreateInfoEXT* from,
VkDescriptorSetLayoutBindingFlagsCreateInfoEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pBindingFlags = nullptr;
if (from->pBindingFlags)
{
to->pBindingFlags = (VkDescriptorBindingFlagsEXT*)pool->dupArray(from->pBindingFlags, from->bindingCount * sizeof(const VkDescriptorBindingFlagsEXT));
}
}
void deepcopy_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(
Pool* pool,
const VkPhysicalDeviceDescriptorIndexingFeaturesEXT* from,
VkPhysicalDeviceDescriptorIndexingFeaturesEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(
Pool* pool,
const VkPhysicalDeviceDescriptorIndexingPropertiesEXT* from,
VkPhysicalDeviceDescriptorIndexingPropertiesEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(
Pool* pool,
const VkDescriptorSetVariableDescriptorCountAllocateInfoEXT* from,
VkDescriptorSetVariableDescriptorCountAllocateInfoEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pDescriptorCounts = nullptr;
if (from->pDescriptorCounts)
{
to->pDescriptorCounts = (uint32_t*)pool->dupArray(from->pDescriptorCounts, from->descriptorSetCount * sizeof(const uint32_t));
}
}
void deepcopy_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(
Pool* pool,
const VkDescriptorSetVariableDescriptorCountLayoutSupportEXT* from,
VkDescriptorSetVariableDescriptorCountLayoutSupportEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_EXT_shader_viewport_index_layer
#endif
#ifdef VK_EXT_global_priority
void deepcopy_VkDeviceQueueGlobalPriorityCreateInfoEXT(
Pool* pool,
const VkDeviceQueueGlobalPriorityCreateInfoEXT* from,
VkDeviceQueueGlobalPriorityCreateInfoEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_EXT_external_memory_host
void deepcopy_VkImportMemoryHostPointerInfoEXT(
Pool* pool,
const VkImportMemoryHostPointerInfoEXT* from,
VkImportMemoryHostPointerInfoEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pHostPointer = nullptr;
if (from->pHostPointer)
{
to->pHostPointer = (void*)pool->dupArray(from->pHostPointer, sizeof(uint8_t));
}
}
void deepcopy_VkMemoryHostPointerPropertiesEXT(
Pool* pool,
const VkMemoryHostPointerPropertiesEXT* from,
VkMemoryHostPointerPropertiesEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(
Pool* pool,
const VkPhysicalDeviceExternalMemoryHostPropertiesEXT* from,
VkPhysicalDeviceExternalMemoryHostPropertiesEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_AMD_buffer_marker
#endif
#ifdef VK_AMD_shader_core_properties
void deepcopy_VkPhysicalDeviceShaderCorePropertiesAMD(
Pool* pool,
const VkPhysicalDeviceShaderCorePropertiesAMD* from,
VkPhysicalDeviceShaderCorePropertiesAMD* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_EXT_vertex_attribute_divisor
void deepcopy_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
Pool* pool,
const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* from,
VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkVertexInputBindingDivisorDescriptionEXT(
Pool* pool,
const VkVertexInputBindingDivisorDescriptionEXT* from,
VkVertexInputBindingDivisorDescriptionEXT* to)
{
(void)pool;
*to = *from;
}
void deepcopy_VkPipelineVertexInputDivisorStateCreateInfoEXT(
Pool* pool,
const VkPipelineVertexInputDivisorStateCreateInfoEXT* from,
VkPipelineVertexInputDivisorStateCreateInfoEXT* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (const void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pVertexBindingDivisors = nullptr;
if (from->pVertexBindingDivisors)
{
to->pVertexBindingDivisors = (VkVertexInputBindingDivisorDescriptionEXT*)pool->alloc(from->vertexBindingDivisorCount * sizeof(const VkVertexInputBindingDivisorDescriptionEXT));
to->vertexBindingDivisorCount = from->vertexBindingDivisorCount;
for (uint32_t i = 0; i < (uint32_t)from->vertexBindingDivisorCount; ++i)
{
deepcopy_VkVertexInputBindingDivisorDescriptionEXT(pool, from->pVertexBindingDivisors + i, (VkVertexInputBindingDivisorDescriptionEXT*)(to->pVertexBindingDivisors + i));
}
}
}
#endif
#ifdef VK_NV_shader_subgroup_partitioned
#endif
#ifdef VK_NV_device_diagnostic_checkpoints
void deepcopy_VkQueueFamilyCheckpointPropertiesNV(
Pool* pool,
const VkQueueFamilyCheckpointPropertiesNV* from,
VkQueueFamilyCheckpointPropertiesNV* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkCheckpointDataNV(
Pool* pool,
const VkCheckpointDataNV* from,
VkCheckpointDataNV* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
to->pCheckpointMarker = nullptr;
if (from->pCheckpointMarker)
{
to->pCheckpointMarker = (void*)pool->dupArray(from->pCheckpointMarker, sizeof(uint8_t));
}
}
#endif
#ifdef VK_GOOGLE_address_space
#endif
#ifdef VK_GOOGLE_color_buffer
void deepcopy_VkImportColorBufferGOOGLE(
Pool* pool,
const VkImportColorBufferGOOGLE* from,
VkImportColorBufferGOOGLE* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkImportBufferGOOGLE(
Pool* pool,
const VkImportBufferGOOGLE* from,
VkImportBufferGOOGLE* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
void deepcopy_VkImportPhysicalAddressGOOGLE(
Pool* pool,
const VkImportPhysicalAddressGOOGLE* from,
VkImportPhysicalAddressGOOGLE* to)
{
(void)pool;
*to = *from;
size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
to->pNext = nullptr;
if (pNext_size)
{
to->pNext = (void*)pool->alloc(pNext_size);
deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
}
}
#endif
#ifdef VK_GOOGLE_sized_descriptor_update_template
#endif
#ifdef VK_GOOGLE_async_command_buffers
#endif
#ifdef VK_GOOGLE_create_resources_with_requirements
#endif
#ifdef VK_GOOGLE_address_space_info
#endif
#ifdef VK_GOOGLE_free_memory_sync
#endif
#ifdef VK_GOOGLE_async_queue_submit
#endif
void deepcopy_extension_struct(
Pool* pool,
const void* structExtension,
void* structExtension_out)
{
if (!structExtension)
{
return;
}
uint32_t structType = (uint32_t)goldfish_vk_struct_type(structExtension);
switch(structType)
{
#ifdef VK_VERSION_1_1
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
{
deepcopy_VkPhysicalDeviceSubgroupProperties(pool, reinterpret_cast<const VkPhysicalDeviceSubgroupProperties*>(structExtension), reinterpret_cast<VkPhysicalDeviceSubgroupProperties*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
{
deepcopy_VkPhysicalDevice16BitStorageFeatures(pool, reinterpret_cast<const VkPhysicalDevice16BitStorageFeatures*>(structExtension), reinterpret_cast<VkPhysicalDevice16BitStorageFeatures*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS:
{
deepcopy_VkMemoryDedicatedRequirements(pool, reinterpret_cast<const VkMemoryDedicatedRequirements*>(structExtension), reinterpret_cast<VkMemoryDedicatedRequirements*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO:
{
deepcopy_VkMemoryDedicatedAllocateInfo(pool, reinterpret_cast<const VkMemoryDedicatedAllocateInfo*>(structExtension), reinterpret_cast<VkMemoryDedicatedAllocateInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO:
{
deepcopy_VkMemoryAllocateFlagsInfo(pool, reinterpret_cast<const VkMemoryAllocateFlagsInfo*>(structExtension), reinterpret_cast<VkMemoryAllocateFlagsInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO:
{
deepcopy_VkDeviceGroupRenderPassBeginInfo(pool, reinterpret_cast<const VkDeviceGroupRenderPassBeginInfo*>(structExtension), reinterpret_cast<VkDeviceGroupRenderPassBeginInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO:
{
deepcopy_VkDeviceGroupCommandBufferBeginInfo(pool, reinterpret_cast<const VkDeviceGroupCommandBufferBeginInfo*>(structExtension), reinterpret_cast<VkDeviceGroupCommandBufferBeginInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO:
{
deepcopy_VkDeviceGroupSubmitInfo(pool, reinterpret_cast<const VkDeviceGroupSubmitInfo*>(structExtension), reinterpret_cast<VkDeviceGroupSubmitInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO:
{
deepcopy_VkDeviceGroupBindSparseInfo(pool, reinterpret_cast<const VkDeviceGroupBindSparseInfo*>(structExtension), reinterpret_cast<VkDeviceGroupBindSparseInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO:
{
deepcopy_VkBindBufferMemoryDeviceGroupInfo(pool, reinterpret_cast<const VkBindBufferMemoryDeviceGroupInfo*>(structExtension), reinterpret_cast<VkBindBufferMemoryDeviceGroupInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO:
{
deepcopy_VkBindImageMemoryDeviceGroupInfo(pool, reinterpret_cast<const VkBindImageMemoryDeviceGroupInfo*>(structExtension), reinterpret_cast<VkBindImageMemoryDeviceGroupInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO:
{
deepcopy_VkDeviceGroupDeviceCreateInfo(pool, reinterpret_cast<const VkDeviceGroupDeviceCreateInfo*>(structExtension), reinterpret_cast<VkDeviceGroupDeviceCreateInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2:
{
deepcopy_VkPhysicalDeviceFeatures2(pool, reinterpret_cast<const VkPhysicalDeviceFeatures2*>(structExtension), reinterpret_cast<VkPhysicalDeviceFeatures2*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:
{
deepcopy_VkPhysicalDevicePointClippingProperties(pool, reinterpret_cast<const VkPhysicalDevicePointClippingProperties*>(structExtension), reinterpret_cast<VkPhysicalDevicePointClippingProperties*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO:
{
deepcopy_VkRenderPassInputAttachmentAspectCreateInfo(pool, reinterpret_cast<const VkRenderPassInputAttachmentAspectCreateInfo*>(structExtension), reinterpret_cast<VkRenderPassInputAttachmentAspectCreateInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO:
{
deepcopy_VkImageViewUsageCreateInfo(pool, reinterpret_cast<const VkImageViewUsageCreateInfo*>(structExtension), reinterpret_cast<VkImageViewUsageCreateInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO:
{
deepcopy_VkPipelineTessellationDomainOriginStateCreateInfo(pool, reinterpret_cast<const VkPipelineTessellationDomainOriginStateCreateInfo*>(structExtension), reinterpret_cast<VkPipelineTessellationDomainOriginStateCreateInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO:
{
deepcopy_VkRenderPassMultiviewCreateInfo(pool, reinterpret_cast<const VkRenderPassMultiviewCreateInfo*>(structExtension), reinterpret_cast<VkRenderPassMultiviewCreateInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
{
deepcopy_VkPhysicalDeviceMultiviewFeatures(pool, reinterpret_cast<const VkPhysicalDeviceMultiviewFeatures*>(structExtension), reinterpret_cast<VkPhysicalDeviceMultiviewFeatures*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:
{
deepcopy_VkPhysicalDeviceMultiviewProperties(pool, reinterpret_cast<const VkPhysicalDeviceMultiviewProperties*>(structExtension), reinterpret_cast<VkPhysicalDeviceMultiviewProperties*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES:
{
deepcopy_VkPhysicalDeviceVariablePointerFeatures(pool, reinterpret_cast<const VkPhysicalDeviceVariablePointerFeatures*>(structExtension), reinterpret_cast<VkPhysicalDeviceVariablePointerFeatures*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
{
deepcopy_VkPhysicalDeviceProtectedMemoryFeatures(pool, reinterpret_cast<const VkPhysicalDeviceProtectedMemoryFeatures*>(structExtension), reinterpret_cast<VkPhysicalDeviceProtectedMemoryFeatures*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:
{
deepcopy_VkPhysicalDeviceProtectedMemoryProperties(pool, reinterpret_cast<const VkPhysicalDeviceProtectedMemoryProperties*>(structExtension), reinterpret_cast<VkPhysicalDeviceProtectedMemoryProperties*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO:
{
deepcopy_VkProtectedSubmitInfo(pool, reinterpret_cast<const VkProtectedSubmitInfo*>(structExtension), reinterpret_cast<VkProtectedSubmitInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO:
{
deepcopy_VkSamplerYcbcrConversionInfo(pool, reinterpret_cast<const VkSamplerYcbcrConversionInfo*>(structExtension), reinterpret_cast<VkSamplerYcbcrConversionInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO:
{
deepcopy_VkBindImagePlaneMemoryInfo(pool, reinterpret_cast<const VkBindImagePlaneMemoryInfo*>(structExtension), reinterpret_cast<VkBindImagePlaneMemoryInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO:
{
deepcopy_VkImagePlaneMemoryRequirementsInfo(pool, reinterpret_cast<const VkImagePlaneMemoryRequirementsInfo*>(structExtension), reinterpret_cast<VkImagePlaneMemoryRequirementsInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
{
deepcopy_VkPhysicalDeviceSamplerYcbcrConversionFeatures(pool, reinterpret_cast<const VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(structExtension), reinterpret_cast<VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:
{
deepcopy_VkSamplerYcbcrConversionImageFormatProperties(pool, reinterpret_cast<const VkSamplerYcbcrConversionImageFormatProperties*>(structExtension), reinterpret_cast<VkSamplerYcbcrConversionImageFormatProperties*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO:
{
deepcopy_VkPhysicalDeviceExternalImageFormatInfo(pool, reinterpret_cast<const VkPhysicalDeviceExternalImageFormatInfo*>(structExtension), reinterpret_cast<VkPhysicalDeviceExternalImageFormatInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:
{
deepcopy_VkExternalImageFormatProperties(pool, reinterpret_cast<const VkExternalImageFormatProperties*>(structExtension), reinterpret_cast<VkExternalImageFormatProperties*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:
{
deepcopy_VkPhysicalDeviceIDProperties(pool, reinterpret_cast<const VkPhysicalDeviceIDProperties*>(structExtension), reinterpret_cast<VkPhysicalDeviceIDProperties*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO:
{
deepcopy_VkExternalMemoryImageCreateInfo(pool, reinterpret_cast<const VkExternalMemoryImageCreateInfo*>(structExtension), reinterpret_cast<VkExternalMemoryImageCreateInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO:
{
deepcopy_VkExternalMemoryBufferCreateInfo(pool, reinterpret_cast<const VkExternalMemoryBufferCreateInfo*>(structExtension), reinterpret_cast<VkExternalMemoryBufferCreateInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO:
{
deepcopy_VkExportMemoryAllocateInfo(pool, reinterpret_cast<const VkExportMemoryAllocateInfo*>(structExtension), reinterpret_cast<VkExportMemoryAllocateInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO:
{
deepcopy_VkExportFenceCreateInfo(pool, reinterpret_cast<const VkExportFenceCreateInfo*>(structExtension), reinterpret_cast<VkExportFenceCreateInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO:
{
deepcopy_VkExportSemaphoreCreateInfo(pool, reinterpret_cast<const VkExportSemaphoreCreateInfo*>(structExtension), reinterpret_cast<VkExportSemaphoreCreateInfo*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:
{
deepcopy_VkPhysicalDeviceMaintenance3Properties(pool, reinterpret_cast<const VkPhysicalDeviceMaintenance3Properties*>(structExtension), reinterpret_cast<VkPhysicalDeviceMaintenance3Properties*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES:
{
deepcopy_VkPhysicalDeviceShaderDrawParameterFeatures(pool, reinterpret_cast<const VkPhysicalDeviceShaderDrawParameterFeatures*>(structExtension), reinterpret_cast<VkPhysicalDeviceShaderDrawParameterFeatures*>(structExtension_out));
break;
}
#endif
#ifdef VK_KHR_swapchain
case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR:
{
deepcopy_VkImageSwapchainCreateInfoKHR(pool, reinterpret_cast<const VkImageSwapchainCreateInfoKHR*>(structExtension), reinterpret_cast<VkImageSwapchainCreateInfoKHR*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR:
{
deepcopy_VkBindImageMemorySwapchainInfoKHR(pool, reinterpret_cast<const VkBindImageMemorySwapchainInfoKHR*>(structExtension), reinterpret_cast<VkBindImageMemorySwapchainInfoKHR*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR:
{
deepcopy_VkDeviceGroupPresentInfoKHR(pool, reinterpret_cast<const VkDeviceGroupPresentInfoKHR*>(structExtension), reinterpret_cast<VkDeviceGroupPresentInfoKHR*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR:
{
deepcopy_VkDeviceGroupSwapchainCreateInfoKHR(pool, reinterpret_cast<const VkDeviceGroupSwapchainCreateInfoKHR*>(structExtension), reinterpret_cast<VkDeviceGroupSwapchainCreateInfoKHR*>(structExtension_out));
break;
}
#endif
#ifdef VK_KHR_display_swapchain
case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR:
{
deepcopy_VkDisplayPresentInfoKHR(pool, reinterpret_cast<const VkDisplayPresentInfoKHR*>(structExtension), reinterpret_cast<VkDisplayPresentInfoKHR*>(structExtension_out));
break;
}
#endif
#ifdef VK_KHR_external_memory_win32
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
{
deepcopy_VkImportMemoryWin32HandleInfoKHR(pool, reinterpret_cast<const VkImportMemoryWin32HandleInfoKHR*>(structExtension), reinterpret_cast<VkImportMemoryWin32HandleInfoKHR*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
{
deepcopy_VkExportMemoryWin32HandleInfoKHR(pool, reinterpret_cast<const VkExportMemoryWin32HandleInfoKHR*>(structExtension), reinterpret_cast<VkExportMemoryWin32HandleInfoKHR*>(structExtension_out));
break;
}
#endif
#ifdef VK_KHR_external_memory_fd
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR:
{
deepcopy_VkImportMemoryFdInfoKHR(pool, reinterpret_cast<const VkImportMemoryFdInfoKHR*>(structExtension), reinterpret_cast<VkImportMemoryFdInfoKHR*>(structExtension_out));
break;
}
#endif
#ifdef VK_KHR_win32_keyed_mutex
case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR:
{
deepcopy_VkWin32KeyedMutexAcquireReleaseInfoKHR(pool, reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoKHR*>(structExtension), reinterpret_cast<VkWin32KeyedMutexAcquireReleaseInfoKHR*>(structExtension_out));
break;
}
#endif
#ifdef VK_KHR_external_semaphore_win32
case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR:
{
deepcopy_VkExportSemaphoreWin32HandleInfoKHR(pool, reinterpret_cast<const VkExportSemaphoreWin32HandleInfoKHR*>(structExtension), reinterpret_cast<VkExportSemaphoreWin32HandleInfoKHR*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR:
{
deepcopy_VkD3D12FenceSubmitInfoKHR(pool, reinterpret_cast<const VkD3D12FenceSubmitInfoKHR*>(structExtension), reinterpret_cast<VkD3D12FenceSubmitInfoKHR*>(structExtension_out));
break;
}
#endif
#ifdef VK_KHR_push_descriptor
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR:
{
deepcopy_VkPhysicalDevicePushDescriptorPropertiesKHR(pool, reinterpret_cast<const VkPhysicalDevicePushDescriptorPropertiesKHR*>(structExtension), reinterpret_cast<VkPhysicalDevicePushDescriptorPropertiesKHR*>(structExtension_out));
break;
}
#endif
#ifdef VK_KHR_incremental_present
case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR:
{
deepcopy_VkPresentRegionsKHR(pool, reinterpret_cast<const VkPresentRegionsKHR*>(structExtension), reinterpret_cast<VkPresentRegionsKHR*>(structExtension_out));
break;
}
#endif
#ifdef VK_KHR_shared_presentable_image
case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR:
{
deepcopy_VkSharedPresentSurfaceCapabilitiesKHR(pool, reinterpret_cast<const VkSharedPresentSurfaceCapabilitiesKHR*>(structExtension), reinterpret_cast<VkSharedPresentSurfaceCapabilitiesKHR*>(structExtension_out));
break;
}
#endif
#ifdef VK_KHR_external_fence_win32
case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR:
{
deepcopy_VkExportFenceWin32HandleInfoKHR(pool, reinterpret_cast<const VkExportFenceWin32HandleInfoKHR*>(structExtension), reinterpret_cast<VkExportFenceWin32HandleInfoKHR*>(structExtension_out));
break;
}
#endif
#ifdef VK_KHR_image_format_list
case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR:
{
deepcopy_VkImageFormatListCreateInfoKHR(pool, reinterpret_cast<const VkImageFormatListCreateInfoKHR*>(structExtension), reinterpret_cast<VkImageFormatListCreateInfoKHR*>(structExtension_out));
break;
}
#endif
#ifdef VK_KHR_8bit_storage
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR:
{
deepcopy_VkPhysicalDevice8BitStorageFeaturesKHR(pool, reinterpret_cast<const VkPhysicalDevice8BitStorageFeaturesKHR*>(structExtension), reinterpret_cast<VkPhysicalDevice8BitStorageFeaturesKHR*>(structExtension_out));
break;
}
#endif
#ifdef VK_KHR_shader_float16_int8
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
{
deepcopy_VkPhysicalDeviceShaderFloat16Int8Features(pool, reinterpret_cast<const VkPhysicalDeviceShaderFloat16Int8Features*>(structExtension), reinterpret_cast<VkPhysicalDeviceShaderFloat16Int8Features*>(structExtension_out));
break;
}
#endif
#ifdef VK_ANDROID_native_buffer
case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID:
{
deepcopy_VkNativeBufferANDROID(pool, reinterpret_cast<const VkNativeBufferANDROID*>(structExtension), reinterpret_cast<VkNativeBufferANDROID*>(structExtension_out));
break;
}
#endif
#ifdef VK_EXT_debug_report
case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT:
{
deepcopy_VkDebugReportCallbackCreateInfoEXT(pool, reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT*>(structExtension), reinterpret_cast<VkDebugReportCallbackCreateInfoEXT*>(structExtension_out));
break;
}
#endif
#ifdef VK_AMD_rasterization_order
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD:
{
deepcopy_VkPipelineRasterizationStateRasterizationOrderAMD(pool, reinterpret_cast<const VkPipelineRasterizationStateRasterizationOrderAMD*>(structExtension), reinterpret_cast<VkPipelineRasterizationStateRasterizationOrderAMD*>(structExtension_out));
break;
}
#endif
#ifdef VK_NV_dedicated_allocation
case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV:
{
deepcopy_VkDedicatedAllocationImageCreateInfoNV(pool, reinterpret_cast<const VkDedicatedAllocationImageCreateInfoNV*>(structExtension), reinterpret_cast<VkDedicatedAllocationImageCreateInfoNV*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV:
{
deepcopy_VkDedicatedAllocationBufferCreateInfoNV(pool, reinterpret_cast<const VkDedicatedAllocationBufferCreateInfoNV*>(structExtension), reinterpret_cast<VkDedicatedAllocationBufferCreateInfoNV*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV:
{
deepcopy_VkDedicatedAllocationMemoryAllocateInfoNV(pool, reinterpret_cast<const VkDedicatedAllocationMemoryAllocateInfoNV*>(structExtension), reinterpret_cast<VkDedicatedAllocationMemoryAllocateInfoNV*>(structExtension_out));
break;
}
#endif
#ifdef VK_AMD_texture_gather_bias_lod
case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD:
{
deepcopy_VkTextureLODGatherFormatPropertiesAMD(pool, reinterpret_cast<const VkTextureLODGatherFormatPropertiesAMD*>(structExtension), reinterpret_cast<VkTextureLODGatherFormatPropertiesAMD*>(structExtension_out));
break;
}
#endif
#ifdef VK_NV_external_memory
case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV:
{
deepcopy_VkExternalMemoryImageCreateInfoNV(pool, reinterpret_cast<const VkExternalMemoryImageCreateInfoNV*>(structExtension), reinterpret_cast<VkExternalMemoryImageCreateInfoNV*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV:
{
deepcopy_VkExportMemoryAllocateInfoNV(pool, reinterpret_cast<const VkExportMemoryAllocateInfoNV*>(structExtension), reinterpret_cast<VkExportMemoryAllocateInfoNV*>(structExtension_out));
break;
}
#endif
#ifdef VK_NV_external_memory_win32
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV:
{
deepcopy_VkImportMemoryWin32HandleInfoNV(pool, reinterpret_cast<const VkImportMemoryWin32HandleInfoNV*>(structExtension), reinterpret_cast<VkImportMemoryWin32HandleInfoNV*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV:
{
deepcopy_VkExportMemoryWin32HandleInfoNV(pool, reinterpret_cast<const VkExportMemoryWin32HandleInfoNV*>(structExtension), reinterpret_cast<VkExportMemoryWin32HandleInfoNV*>(structExtension_out));
break;
}
#endif
#ifdef VK_NV_win32_keyed_mutex
case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV:
{
deepcopy_VkWin32KeyedMutexAcquireReleaseInfoNV(pool, reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoNV*>(structExtension), reinterpret_cast<VkWin32KeyedMutexAcquireReleaseInfoNV*>(structExtension_out));
break;
}
#endif
#ifdef VK_EXT_validation_flags
case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT:
{
deepcopy_VkValidationFlagsEXT(pool, reinterpret_cast<const VkValidationFlagsEXT*>(structExtension), reinterpret_cast<VkValidationFlagsEXT*>(structExtension_out));
break;
}
#endif
#ifdef VK_EXT_conditional_rendering
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT:
{
deepcopy_VkPhysicalDeviceConditionalRenderingFeaturesEXT(pool, reinterpret_cast<const VkPhysicalDeviceConditionalRenderingFeaturesEXT*>(structExtension), reinterpret_cast<VkPhysicalDeviceConditionalRenderingFeaturesEXT*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT:
{
deepcopy_VkCommandBufferInheritanceConditionalRenderingInfoEXT(pool, reinterpret_cast<const VkCommandBufferInheritanceConditionalRenderingInfoEXT*>(structExtension), reinterpret_cast<VkCommandBufferInheritanceConditionalRenderingInfoEXT*>(structExtension_out));
break;
}
#endif
#ifdef VK_NV_clip_space_w_scaling
case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV:
{
deepcopy_VkPipelineViewportWScalingStateCreateInfoNV(pool, reinterpret_cast<const VkPipelineViewportWScalingStateCreateInfoNV*>(structExtension), reinterpret_cast<VkPipelineViewportWScalingStateCreateInfoNV*>(structExtension_out));
break;
}
#endif
#ifdef VK_EXT_display_control
case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT:
{
deepcopy_VkSwapchainCounterCreateInfoEXT(pool, reinterpret_cast<const VkSwapchainCounterCreateInfoEXT*>(structExtension), reinterpret_cast<VkSwapchainCounterCreateInfoEXT*>(structExtension_out));
break;
}
#endif
#ifdef VK_GOOGLE_display_timing
case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE:
{
deepcopy_VkPresentTimesInfoGOOGLE(pool, reinterpret_cast<const VkPresentTimesInfoGOOGLE*>(structExtension), reinterpret_cast<VkPresentTimesInfoGOOGLE*>(structExtension_out));
break;
}
#endif
#ifdef VK_NVX_multiview_per_view_attributes
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX:
{
deepcopy_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(pool, reinterpret_cast<const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX*>(structExtension), reinterpret_cast<VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX*>(structExtension_out));
break;
}
#endif
#ifdef VK_NV_viewport_swizzle
case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV:
{
deepcopy_VkPipelineViewportSwizzleStateCreateInfoNV(pool, reinterpret_cast<const VkPipelineViewportSwizzleStateCreateInfoNV*>(structExtension), reinterpret_cast<VkPipelineViewportSwizzleStateCreateInfoNV*>(structExtension_out));
break;
}
#endif
#ifdef VK_EXT_discard_rectangles
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT:
{
deepcopy_VkPhysicalDeviceDiscardRectanglePropertiesEXT(pool, reinterpret_cast<const VkPhysicalDeviceDiscardRectanglePropertiesEXT*>(structExtension), reinterpret_cast<VkPhysicalDeviceDiscardRectanglePropertiesEXT*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT:
{
deepcopy_VkPipelineDiscardRectangleStateCreateInfoEXT(pool, reinterpret_cast<const VkPipelineDiscardRectangleStateCreateInfoEXT*>(structExtension), reinterpret_cast<VkPipelineDiscardRectangleStateCreateInfoEXT*>(structExtension_out));
break;
}
#endif
#ifdef VK_EXT_conservative_rasterization
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT:
{
deepcopy_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(pool, reinterpret_cast<const VkPhysicalDeviceConservativeRasterizationPropertiesEXT*>(structExtension), reinterpret_cast<VkPhysicalDeviceConservativeRasterizationPropertiesEXT*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT:
{
deepcopy_VkPipelineRasterizationConservativeStateCreateInfoEXT(pool, reinterpret_cast<const VkPipelineRasterizationConservativeStateCreateInfoEXT*>(structExtension), reinterpret_cast<VkPipelineRasterizationConservativeStateCreateInfoEXT*>(structExtension_out));
break;
}
#endif
#ifdef VK_EXT_debug_utils
case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT:
{
deepcopy_VkDebugUtilsMessengerCreateInfoEXT(pool, reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT*>(structExtension), reinterpret_cast<VkDebugUtilsMessengerCreateInfoEXT*>(structExtension_out));
break;
}
#endif
#ifdef VK_ANDROID_external_memory_android_hardware_buffer
case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID:
{
deepcopy_VkAndroidHardwareBufferUsageANDROID(pool, reinterpret_cast<const VkAndroidHardwareBufferUsageANDROID*>(structExtension), reinterpret_cast<VkAndroidHardwareBufferUsageANDROID*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID:
{
deepcopy_VkAndroidHardwareBufferFormatPropertiesANDROID(pool, reinterpret_cast<const VkAndroidHardwareBufferFormatPropertiesANDROID*>(structExtension), reinterpret_cast<VkAndroidHardwareBufferFormatPropertiesANDROID*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID:
{
deepcopy_VkImportAndroidHardwareBufferInfoANDROID(pool, reinterpret_cast<const VkImportAndroidHardwareBufferInfoANDROID*>(structExtension), reinterpret_cast<VkImportAndroidHardwareBufferInfoANDROID*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID:
{
deepcopy_VkExternalFormatANDROID(pool, reinterpret_cast<const VkExternalFormatANDROID*>(structExtension), reinterpret_cast<VkExternalFormatANDROID*>(structExtension_out));
break;
}
#endif
#ifdef VK_EXT_sampler_filter_minmax
case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT:
{
deepcopy_VkSamplerReductionModeCreateInfoEXT(pool, reinterpret_cast<const VkSamplerReductionModeCreateInfoEXT*>(structExtension), reinterpret_cast<VkSamplerReductionModeCreateInfoEXT*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT:
{
deepcopy_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(pool, reinterpret_cast<const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT*>(structExtension), reinterpret_cast<VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT*>(structExtension_out));
break;
}
#endif
#ifdef VK_EXT_sample_locations
case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT:
{
deepcopy_VkSampleLocationsInfoEXT(pool, reinterpret_cast<const VkSampleLocationsInfoEXT*>(structExtension), reinterpret_cast<VkSampleLocationsInfoEXT*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT:
{
deepcopy_VkRenderPassSampleLocationsBeginInfoEXT(pool, reinterpret_cast<const VkRenderPassSampleLocationsBeginInfoEXT*>(structExtension), reinterpret_cast<VkRenderPassSampleLocationsBeginInfoEXT*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT:
{
deepcopy_VkPipelineSampleLocationsStateCreateInfoEXT(pool, reinterpret_cast<const VkPipelineSampleLocationsStateCreateInfoEXT*>(structExtension), reinterpret_cast<VkPipelineSampleLocationsStateCreateInfoEXT*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT:
{
deepcopy_VkPhysicalDeviceSampleLocationsPropertiesEXT(pool, reinterpret_cast<const VkPhysicalDeviceSampleLocationsPropertiesEXT*>(structExtension), reinterpret_cast<VkPhysicalDeviceSampleLocationsPropertiesEXT*>(structExtension_out));
break;
}
#endif
#ifdef VK_EXT_blend_operation_advanced
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT:
{
deepcopy_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(pool, reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT*>(structExtension), reinterpret_cast<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT:
{
deepcopy_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(pool, reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT*>(structExtension), reinterpret_cast<VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT:
{
deepcopy_VkPipelineColorBlendAdvancedStateCreateInfoEXT(pool, reinterpret_cast<const VkPipelineColorBlendAdvancedStateCreateInfoEXT*>(structExtension), reinterpret_cast<VkPipelineColorBlendAdvancedStateCreateInfoEXT*>(structExtension_out));
break;
}
#endif
#ifdef VK_NV_fragment_coverage_to_color
case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV:
{
deepcopy_VkPipelineCoverageToColorStateCreateInfoNV(pool, reinterpret_cast<const VkPipelineCoverageToColorStateCreateInfoNV*>(structExtension), reinterpret_cast<VkPipelineCoverageToColorStateCreateInfoNV*>(structExtension_out));
break;
}
#endif
#ifdef VK_NV_framebuffer_mixed_samples
case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV:
{
deepcopy_VkPipelineCoverageModulationStateCreateInfoNV(pool, reinterpret_cast<const VkPipelineCoverageModulationStateCreateInfoNV*>(structExtension), reinterpret_cast<VkPipelineCoverageModulationStateCreateInfoNV*>(structExtension_out));
break;
}
#endif
#ifdef VK_EXT_validation_cache
case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT:
{
deepcopy_VkShaderModuleValidationCacheCreateInfoEXT(pool, reinterpret_cast<const VkShaderModuleValidationCacheCreateInfoEXT*>(structExtension), reinterpret_cast<VkShaderModuleValidationCacheCreateInfoEXT*>(structExtension_out));
break;
}
#endif
#ifdef VK_EXT_descriptor_indexing
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT:
{
deepcopy_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(pool, reinterpret_cast<const VkDescriptorSetLayoutBindingFlagsCreateInfoEXT*>(structExtension), reinterpret_cast<VkDescriptorSetLayoutBindingFlagsCreateInfoEXT*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT:
{
deepcopy_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(pool, reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingFeaturesEXT*>(structExtension), reinterpret_cast<VkPhysicalDeviceDescriptorIndexingFeaturesEXT*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT:
{
deepcopy_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(pool, reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingPropertiesEXT*>(structExtension), reinterpret_cast<VkPhysicalDeviceDescriptorIndexingPropertiesEXT*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT:
{
deepcopy_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(pool, reinterpret_cast<const VkDescriptorSetVariableDescriptorCountAllocateInfoEXT*>(structExtension), reinterpret_cast<VkDescriptorSetVariableDescriptorCountAllocateInfoEXT*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT:
{
deepcopy_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(pool, reinterpret_cast<const VkDescriptorSetVariableDescriptorCountLayoutSupportEXT*>(structExtension), reinterpret_cast<VkDescriptorSetVariableDescriptorCountLayoutSupportEXT*>(structExtension_out));
break;
}
#endif
#ifdef VK_EXT_global_priority
case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT:
{
deepcopy_VkDeviceQueueGlobalPriorityCreateInfoEXT(pool, reinterpret_cast<const VkDeviceQueueGlobalPriorityCreateInfoEXT*>(structExtension), reinterpret_cast<VkDeviceQueueGlobalPriorityCreateInfoEXT*>(structExtension_out));
break;
}
#endif
#ifdef VK_EXT_external_memory_host
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT:
{
deepcopy_VkImportMemoryHostPointerInfoEXT(pool, reinterpret_cast<const VkImportMemoryHostPointerInfoEXT*>(structExtension), reinterpret_cast<VkImportMemoryHostPointerInfoEXT*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT:
{
deepcopy_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(pool, reinterpret_cast<const VkPhysicalDeviceExternalMemoryHostPropertiesEXT*>(structExtension), reinterpret_cast<VkPhysicalDeviceExternalMemoryHostPropertiesEXT*>(structExtension_out));
break;
}
#endif
#ifdef VK_AMD_shader_core_properties
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD:
{
deepcopy_VkPhysicalDeviceShaderCorePropertiesAMD(pool, reinterpret_cast<const VkPhysicalDeviceShaderCorePropertiesAMD*>(structExtension), reinterpret_cast<VkPhysicalDeviceShaderCorePropertiesAMD*>(structExtension_out));
break;
}
#endif
#ifdef VK_EXT_vertex_attribute_divisor
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT:
{
deepcopy_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(pool, reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT*>(structExtension), reinterpret_cast<VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT:
{
deepcopy_VkPipelineVertexInputDivisorStateCreateInfoEXT(pool, reinterpret_cast<const VkPipelineVertexInputDivisorStateCreateInfoEXT*>(structExtension), reinterpret_cast<VkPipelineVertexInputDivisorStateCreateInfoEXT*>(structExtension_out));
break;
}
#endif
#ifdef VK_NV_device_diagnostic_checkpoints
case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV:
{
deepcopy_VkQueueFamilyCheckpointPropertiesNV(pool, reinterpret_cast<const VkQueueFamilyCheckpointPropertiesNV*>(structExtension), reinterpret_cast<VkQueueFamilyCheckpointPropertiesNV*>(structExtension_out));
break;
}
#endif
#ifdef VK_GOOGLE_color_buffer
case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE:
{
deepcopy_VkImportColorBufferGOOGLE(pool, reinterpret_cast<const VkImportColorBufferGOOGLE*>(structExtension), reinterpret_cast<VkImportColorBufferGOOGLE*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE:
{
deepcopy_VkImportBufferGOOGLE(pool, reinterpret_cast<const VkImportBufferGOOGLE*>(structExtension), reinterpret_cast<VkImportBufferGOOGLE*>(structExtension_out));
break;
}
case VK_STRUCTURE_TYPE_IMPORT_PHYSICAL_ADDRESS_GOOGLE:
{
deepcopy_VkImportPhysicalAddressGOOGLE(pool, reinterpret_cast<const VkImportPhysicalAddressGOOGLE*>(structExtension), reinterpret_cast<VkImportPhysicalAddressGOOGLE*>(structExtension_out));
break;
}
#endif
default:
{
return;
}
}
}
} // namespace goldfish_vk