| // Copyright (C) 2018 The Android Open Source Project |
| // Copyright (C) 2018 Google Inc. |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| // Autogenerated module goldfish_vk_marshaling_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_marshaling_guest.h" |
| |
| |
| #include "goldfish_vk_extension_structs_guest.h" |
| #include "goldfish_vk_private_defs.h" |
| |
| |
| namespace goldfish_vk { |
| |
| void marshal_extension_struct( |
| VulkanStreamGuest* vkStream, |
| const void* structExtension); |
| |
| void unmarshal_extension_struct( |
| VulkanStreamGuest* vkStream, |
| void* structExtension_out); |
| |
| #ifdef VK_VERSION_1_0 |
| void marshal_VkApplicationInfo( |
| VulkanStreamGuest* vkStream, |
| const VkApplicationInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) |
| { |
| // WARNING PTR CHECK |
| uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pApplicationName; |
| vkStream->putBe64(cgen_var_0); |
| if (forMarshaling->pApplicationName) |
| { |
| vkStream->putString(forMarshaling->pApplicationName); |
| } |
| } |
| else |
| { |
| vkStream->putString(forMarshaling->pApplicationName); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->applicationVersion, sizeof(uint32_t)); |
| if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) |
| { |
| // WARNING PTR CHECK |
| uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pEngineName; |
| vkStream->putBe64(cgen_var_1); |
| if (forMarshaling->pEngineName) |
| { |
| vkStream->putString(forMarshaling->pEngineName); |
| } |
| } |
| else |
| { |
| vkStream->putString(forMarshaling->pEngineName); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->engineVersion, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->apiVersion, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkApplicationInfo( |
| VulkanStreamGuest* vkStream, |
| VkApplicationInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) |
| { |
| // WARNING PTR CHECK |
| const char* check_pApplicationName; |
| check_pApplicationName = (const char*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pApplicationName) |
| { |
| if (!(check_pApplicationName)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pApplicationName inconsistent between guest and host\n"); |
| } |
| vkStream->loadStringInPlace((char**)&forUnmarshaling->pApplicationName); |
| } |
| } |
| else |
| { |
| vkStream->loadStringInPlace((char**)&forUnmarshaling->pApplicationName); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->applicationVersion, sizeof(uint32_t)); |
| if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) |
| { |
| // WARNING PTR CHECK |
| const char* check_pEngineName; |
| check_pEngineName = (const char*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pEngineName) |
| { |
| if (!(check_pEngineName)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pEngineName inconsistent between guest and host\n"); |
| } |
| vkStream->loadStringInPlace((char**)&forUnmarshaling->pEngineName); |
| } |
| } |
| else |
| { |
| vkStream->loadStringInPlace((char**)&forUnmarshaling->pEngineName); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->engineVersion, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->apiVersion, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkInstanceCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkInstanceCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkInstanceCreateFlags*)&forMarshaling->flags, sizeof(VkInstanceCreateFlags)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_4 = (uint64_t)(uintptr_t)forMarshaling->pApplicationInfo; |
| vkStream->putBe64(cgen_var_4); |
| if (forMarshaling->pApplicationInfo) |
| { |
| marshal_VkApplicationInfo(vkStream, (const VkApplicationInfo*)(forMarshaling->pApplicationInfo)); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->enabledLayerCount, sizeof(uint32_t)); |
| saveStringArray(vkStream, forMarshaling->ppEnabledLayerNames, forMarshaling->enabledLayerCount); |
| vkStream->write((uint32_t*)&forMarshaling->enabledExtensionCount, sizeof(uint32_t)); |
| saveStringArray(vkStream, forMarshaling->ppEnabledExtensionNames, forMarshaling->enabledExtensionCount); |
| } |
| |
| void unmarshal_VkInstanceCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkInstanceCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkInstanceCreateFlags*)&forUnmarshaling->flags, sizeof(VkInstanceCreateFlags)); |
| // WARNING PTR CHECK |
| const VkApplicationInfo* check_pApplicationInfo; |
| check_pApplicationInfo = (const VkApplicationInfo*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pApplicationInfo) |
| { |
| if (!(check_pApplicationInfo)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pApplicationInfo inconsistent between guest and host\n"); |
| } |
| unmarshal_VkApplicationInfo(vkStream, (VkApplicationInfo*)(forUnmarshaling->pApplicationInfo)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->enabledLayerCount, sizeof(uint32_t)); |
| vkStream->loadStringArrayInPlace((char***)&forUnmarshaling->ppEnabledLayerNames); |
| vkStream->read((uint32_t*)&forUnmarshaling->enabledExtensionCount, sizeof(uint32_t)); |
| vkStream->loadStringArrayInPlace((char***)&forUnmarshaling->ppEnabledExtensionNames); |
| } |
| |
| void marshal_VkAllocationCallbacks( |
| VulkanStreamGuest* vkStream, |
| const VkAllocationCallbacks* forMarshaling) |
| { |
| // WARNING PTR CHECK |
| uint64_t cgen_var_6 = (uint64_t)(uintptr_t)forMarshaling->pUserData; |
| vkStream->putBe64(cgen_var_6); |
| if (forMarshaling->pUserData) |
| { |
| vkStream->write((void*)forMarshaling->pUserData, sizeof(uint8_t)); |
| } |
| uint64_t cgen_var_7 = (uint64_t)forMarshaling->pfnAllocation; |
| vkStream->putBe64(cgen_var_7); |
| uint64_t cgen_var_8 = (uint64_t)forMarshaling->pfnReallocation; |
| vkStream->putBe64(cgen_var_8); |
| uint64_t cgen_var_9 = (uint64_t)forMarshaling->pfnFree; |
| vkStream->putBe64(cgen_var_9); |
| uint64_t cgen_var_10 = (uint64_t)forMarshaling->pfnInternalAllocation; |
| vkStream->putBe64(cgen_var_10); |
| uint64_t cgen_var_11 = (uint64_t)forMarshaling->pfnInternalFree; |
| vkStream->putBe64(cgen_var_11); |
| } |
| |
| void unmarshal_VkAllocationCallbacks( |
| VulkanStreamGuest* vkStream, |
| VkAllocationCallbacks* forUnmarshaling) |
| { |
| // WARNING PTR CHECK |
| void* check_pUserData; |
| check_pUserData = (void*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pUserData) |
| { |
| if (!(check_pUserData)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pUserData inconsistent between guest and host\n"); |
| } |
| vkStream->read((void*)forUnmarshaling->pUserData, sizeof(uint8_t)); |
| } |
| forUnmarshaling->pfnAllocation = (PFN_vkAllocationFunction)vkStream->getBe64(); |
| forUnmarshaling->pfnReallocation = (PFN_vkReallocationFunction)vkStream->getBe64(); |
| forUnmarshaling->pfnFree = (PFN_vkFreeFunction)vkStream->getBe64(); |
| forUnmarshaling->pfnInternalAllocation = (PFN_vkInternalAllocationNotification)vkStream->getBe64(); |
| forUnmarshaling->pfnInternalFree = (PFN_vkInternalFreeNotification)vkStream->getBe64(); |
| } |
| |
| void marshal_VkPhysicalDeviceFeatures( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceFeatures* forMarshaling) |
| { |
| vkStream->write((VkBool32*)&forMarshaling->robustBufferAccess, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->fullDrawIndexUint32, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->imageCubeArray, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->independentBlend, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->geometryShader, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->tessellationShader, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->sampleRateShading, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->dualSrcBlend, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->logicOp, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->multiDrawIndirect, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->drawIndirectFirstInstance, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->depthClamp, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->depthBiasClamp, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->fillModeNonSolid, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->depthBounds, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->wideLines, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->largePoints, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->alphaToOne, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->multiViewport, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->samplerAnisotropy, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->textureCompressionETC2, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->textureCompressionASTC_LDR, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->textureCompressionBC, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->occlusionQueryPrecise, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->pipelineStatisticsQuery, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->vertexPipelineStoresAndAtomics, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->fragmentStoresAndAtomics, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderTessellationAndGeometryPointSize, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderImageGatherExtended, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageExtendedFormats, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageMultisample, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageReadWithoutFormat, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageWriteWithoutFormat, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderUniformBufferArrayDynamicIndexing, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderSampledImageArrayDynamicIndexing, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderStorageBufferArrayDynamicIndexing, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageArrayDynamicIndexing, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderClipDistance, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderCullDistance, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderFloat64, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderInt64, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderInt16, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderResourceResidency, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderResourceMinLod, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->sparseBinding, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->sparseResidencyBuffer, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->sparseResidencyImage2D, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->sparseResidencyImage3D, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->sparseResidency2Samples, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->sparseResidency4Samples, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->sparseResidency8Samples, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->sparseResidency16Samples, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->sparseResidencyAliased, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->variableMultisampleRate, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->inheritedQueries, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceFeatures( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceFeatures* forUnmarshaling) |
| { |
| vkStream->read((VkBool32*)&forUnmarshaling->robustBufferAccess, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->fullDrawIndexUint32, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->imageCubeArray, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->independentBlend, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->geometryShader, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->tessellationShader, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->sampleRateShading, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->dualSrcBlend, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->logicOp, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->multiDrawIndirect, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->drawIndirectFirstInstance, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->depthClamp, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->depthBiasClamp, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->fillModeNonSolid, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->depthBounds, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->wideLines, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->largePoints, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->alphaToOne, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->multiViewport, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->samplerAnisotropy, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->textureCompressionETC2, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->textureCompressionASTC_LDR, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->textureCompressionBC, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->occlusionQueryPrecise, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->pipelineStatisticsQuery, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->vertexPipelineStoresAndAtomics, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->fragmentStoresAndAtomics, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderTessellationAndGeometryPointSize, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderImageGatherExtended, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageExtendedFormats, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageMultisample, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageReadWithoutFormat, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageWriteWithoutFormat, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformBufferArrayDynamicIndexing, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderSampledImageArrayDynamicIndexing, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageBufferArrayDynamicIndexing, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageArrayDynamicIndexing, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderClipDistance, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderCullDistance, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderFloat64, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderInt64, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderInt16, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderResourceResidency, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderResourceMinLod, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->sparseBinding, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->sparseResidencyBuffer, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->sparseResidencyImage2D, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->sparseResidencyImage3D, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->sparseResidency2Samples, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->sparseResidency4Samples, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->sparseResidency8Samples, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->sparseResidency16Samples, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->sparseResidencyAliased, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->variableMultisampleRate, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->inheritedQueries, sizeof(VkBool32)); |
| } |
| |
| void marshal_VkFormatProperties( |
| VulkanStreamGuest* vkStream, |
| const VkFormatProperties* forMarshaling) |
| { |
| vkStream->write((VkFormatFeatureFlags*)&forMarshaling->linearTilingFeatures, sizeof(VkFormatFeatureFlags)); |
| vkStream->write((VkFormatFeatureFlags*)&forMarshaling->optimalTilingFeatures, sizeof(VkFormatFeatureFlags)); |
| vkStream->write((VkFormatFeatureFlags*)&forMarshaling->bufferFeatures, sizeof(VkFormatFeatureFlags)); |
| } |
| |
| void unmarshal_VkFormatProperties( |
| VulkanStreamGuest* vkStream, |
| VkFormatProperties* forUnmarshaling) |
| { |
| vkStream->read((VkFormatFeatureFlags*)&forUnmarshaling->linearTilingFeatures, sizeof(VkFormatFeatureFlags)); |
| vkStream->read((VkFormatFeatureFlags*)&forUnmarshaling->optimalTilingFeatures, sizeof(VkFormatFeatureFlags)); |
| vkStream->read((VkFormatFeatureFlags*)&forUnmarshaling->bufferFeatures, sizeof(VkFormatFeatureFlags)); |
| } |
| |
| void marshal_VkExtent3D( |
| VulkanStreamGuest* vkStream, |
| const VkExtent3D* forMarshaling) |
| { |
| vkStream->write((uint32_t*)&forMarshaling->width, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->height, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->depth, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkExtent3D( |
| VulkanStreamGuest* vkStream, |
| VkExtent3D* forUnmarshaling) |
| { |
| vkStream->read((uint32_t*)&forUnmarshaling->width, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->height, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->depth, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkImageFormatProperties( |
| VulkanStreamGuest* vkStream, |
| const VkImageFormatProperties* forMarshaling) |
| { |
| marshal_VkExtent3D(vkStream, (VkExtent3D*)(&forMarshaling->maxExtent)); |
| vkStream->write((uint32_t*)&forMarshaling->maxMipLevels, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxArrayLayers, sizeof(uint32_t)); |
| vkStream->write((VkSampleCountFlags*)&forMarshaling->sampleCounts, sizeof(VkSampleCountFlags)); |
| vkStream->write((VkDeviceSize*)&forMarshaling->maxResourceSize, sizeof(VkDeviceSize)); |
| } |
| |
| void unmarshal_VkImageFormatProperties( |
| VulkanStreamGuest* vkStream, |
| VkImageFormatProperties* forUnmarshaling) |
| { |
| unmarshal_VkExtent3D(vkStream, (VkExtent3D*)(&forUnmarshaling->maxExtent)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxMipLevels, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxArrayLayers, sizeof(uint32_t)); |
| vkStream->read((VkSampleCountFlags*)&forUnmarshaling->sampleCounts, sizeof(VkSampleCountFlags)); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->maxResourceSize, sizeof(VkDeviceSize)); |
| } |
| |
| void marshal_VkPhysicalDeviceLimits( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceLimits* forMarshaling) |
| { |
| vkStream->write((uint32_t*)&forMarshaling->maxImageDimension1D, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxImageDimension2D, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxImageDimension3D, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxImageDimensionCube, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxImageArrayLayers, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxTexelBufferElements, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxUniformBufferRange, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxStorageBufferRange, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxPushConstantsSize, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxMemoryAllocationCount, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxSamplerAllocationCount, sizeof(uint32_t)); |
| vkStream->write((VkDeviceSize*)&forMarshaling->bufferImageGranularity, sizeof(VkDeviceSize)); |
| vkStream->write((VkDeviceSize*)&forMarshaling->sparseAddressSpaceSize, sizeof(VkDeviceSize)); |
| vkStream->write((uint32_t*)&forMarshaling->maxBoundDescriptorSets, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorSamplers, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUniformBuffers, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorStorageBuffers, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorSampledImages, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorStorageImages, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorInputAttachments, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxPerStageResources, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetSamplers, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUniformBuffers, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUniformBuffersDynamic, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetStorageBuffers, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetStorageBuffersDynamic, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetSampledImages, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetStorageImages, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetInputAttachments, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxVertexInputAttributes, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxVertexInputBindings, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxVertexInputAttributeOffset, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxVertexInputBindingStride, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxVertexOutputComponents, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxTessellationGenerationLevel, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxTessellationPatchSize, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxTessellationControlPerVertexInputComponents, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxTessellationControlPerVertexOutputComponents, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxTessellationControlPerPatchOutputComponents, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxTessellationControlTotalOutputComponents, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxTessellationEvaluationInputComponents, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxTessellationEvaluationOutputComponents, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxGeometryShaderInvocations, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxGeometryInputComponents, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxGeometryOutputComponents, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxGeometryOutputVertices, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxGeometryTotalOutputComponents, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxFragmentInputComponents, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxFragmentOutputAttachments, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxFragmentDualSrcAttachments, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxFragmentCombinedOutputResources, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxComputeSharedMemorySize, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)forMarshaling->maxComputeWorkGroupCount, 3 * sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxComputeWorkGroupInvocations, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)forMarshaling->maxComputeWorkGroupSize, 3 * sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->subPixelPrecisionBits, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->subTexelPrecisionBits, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->mipmapPrecisionBits, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxDrawIndexedIndexValue, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxDrawIndirectCount, sizeof(uint32_t)); |
| vkStream->write((float*)&forMarshaling->maxSamplerLodBias, sizeof(float)); |
| vkStream->write((float*)&forMarshaling->maxSamplerAnisotropy, sizeof(float)); |
| vkStream->write((uint32_t*)&forMarshaling->maxViewports, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)forMarshaling->maxViewportDimensions, 2 * sizeof(uint32_t)); |
| vkStream->write((float*)forMarshaling->viewportBoundsRange, 2 * sizeof(float)); |
| vkStream->write((uint32_t*)&forMarshaling->viewportSubPixelBits, sizeof(uint32_t)); |
| uint64_t cgen_var_18 = (uint64_t)forMarshaling->minMemoryMapAlignment; |
| vkStream->putBe64(cgen_var_18); |
| vkStream->write((VkDeviceSize*)&forMarshaling->minTexelBufferOffsetAlignment, sizeof(VkDeviceSize)); |
| vkStream->write((VkDeviceSize*)&forMarshaling->minUniformBufferOffsetAlignment, sizeof(VkDeviceSize)); |
| vkStream->write((VkDeviceSize*)&forMarshaling->minStorageBufferOffsetAlignment, sizeof(VkDeviceSize)); |
| vkStream->write((int32_t*)&forMarshaling->minTexelOffset, sizeof(int32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxTexelOffset, sizeof(uint32_t)); |
| vkStream->write((int32_t*)&forMarshaling->minTexelGatherOffset, sizeof(int32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxTexelGatherOffset, sizeof(uint32_t)); |
| vkStream->write((float*)&forMarshaling->minInterpolationOffset, sizeof(float)); |
| vkStream->write((float*)&forMarshaling->maxInterpolationOffset, sizeof(float)); |
| vkStream->write((uint32_t*)&forMarshaling->subPixelInterpolationOffsetBits, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxFramebufferWidth, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxFramebufferHeight, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxFramebufferLayers, sizeof(uint32_t)); |
| vkStream->write((VkSampleCountFlags*)&forMarshaling->framebufferColorSampleCounts, sizeof(VkSampleCountFlags)); |
| vkStream->write((VkSampleCountFlags*)&forMarshaling->framebufferDepthSampleCounts, sizeof(VkSampleCountFlags)); |
| vkStream->write((VkSampleCountFlags*)&forMarshaling->framebufferStencilSampleCounts, sizeof(VkSampleCountFlags)); |
| vkStream->write((VkSampleCountFlags*)&forMarshaling->framebufferNoAttachmentsSampleCounts, sizeof(VkSampleCountFlags)); |
| vkStream->write((uint32_t*)&forMarshaling->maxColorAttachments, sizeof(uint32_t)); |
| vkStream->write((VkSampleCountFlags*)&forMarshaling->sampledImageColorSampleCounts, sizeof(VkSampleCountFlags)); |
| vkStream->write((VkSampleCountFlags*)&forMarshaling->sampledImageIntegerSampleCounts, sizeof(VkSampleCountFlags)); |
| vkStream->write((VkSampleCountFlags*)&forMarshaling->sampledImageDepthSampleCounts, sizeof(VkSampleCountFlags)); |
| vkStream->write((VkSampleCountFlags*)&forMarshaling->sampledImageStencilSampleCounts, sizeof(VkSampleCountFlags)); |
| vkStream->write((VkSampleCountFlags*)&forMarshaling->storageImageSampleCounts, sizeof(VkSampleCountFlags)); |
| vkStream->write((uint32_t*)&forMarshaling->maxSampleMaskWords, sizeof(uint32_t)); |
| vkStream->write((VkBool32*)&forMarshaling->timestampComputeAndGraphics, sizeof(VkBool32)); |
| vkStream->write((float*)&forMarshaling->timestampPeriod, sizeof(float)); |
| vkStream->write((uint32_t*)&forMarshaling->maxClipDistances, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxCullDistances, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxCombinedClipAndCullDistances, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->discreteQueuePriorities, sizeof(uint32_t)); |
| vkStream->write((float*)forMarshaling->pointSizeRange, 2 * sizeof(float)); |
| vkStream->write((float*)forMarshaling->lineWidthRange, 2 * sizeof(float)); |
| vkStream->write((float*)&forMarshaling->pointSizeGranularity, sizeof(float)); |
| vkStream->write((float*)&forMarshaling->lineWidthGranularity, sizeof(float)); |
| vkStream->write((VkBool32*)&forMarshaling->strictLines, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->standardSampleLocations, sizeof(VkBool32)); |
| vkStream->write((VkDeviceSize*)&forMarshaling->optimalBufferCopyOffsetAlignment, sizeof(VkDeviceSize)); |
| vkStream->write((VkDeviceSize*)&forMarshaling->optimalBufferCopyRowPitchAlignment, sizeof(VkDeviceSize)); |
| vkStream->write((VkDeviceSize*)&forMarshaling->nonCoherentAtomSize, sizeof(VkDeviceSize)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceLimits( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceLimits* forUnmarshaling) |
| { |
| vkStream->read((uint32_t*)&forUnmarshaling->maxImageDimension1D, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxImageDimension2D, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxImageDimension3D, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxImageDimensionCube, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxImageArrayLayers, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxTexelBufferElements, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxUniformBufferRange, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxStorageBufferRange, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxPushConstantsSize, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxMemoryAllocationCount, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxSamplerAllocationCount, sizeof(uint32_t)); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->bufferImageGranularity, sizeof(VkDeviceSize)); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->sparseAddressSpaceSize, sizeof(VkDeviceSize)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxBoundDescriptorSets, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorSamplers, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUniformBuffers, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorStorageBuffers, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorSampledImages, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorStorageImages, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorInputAttachments, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageResources, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetSamplers, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUniformBuffers, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUniformBuffersDynamic, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetStorageBuffers, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetStorageBuffersDynamic, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetSampledImages, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetStorageImages, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetInputAttachments, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxVertexInputAttributes, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxVertexInputBindings, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxVertexInputAttributeOffset, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxVertexInputBindingStride, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxVertexOutputComponents, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationGenerationLevel, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationPatchSize, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationControlPerVertexInputComponents, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationControlPerVertexOutputComponents, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationControlPerPatchOutputComponents, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationControlTotalOutputComponents, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationEvaluationInputComponents, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationEvaluationOutputComponents, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxGeometryShaderInvocations, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxGeometryInputComponents, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxGeometryOutputComponents, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxGeometryOutputVertices, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxGeometryTotalOutputComponents, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxFragmentInputComponents, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxFragmentOutputAttachments, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxFragmentDualSrcAttachments, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxFragmentCombinedOutputResources, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxComputeSharedMemorySize, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)forUnmarshaling->maxComputeWorkGroupCount, 3 * sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxComputeWorkGroupInvocations, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)forUnmarshaling->maxComputeWorkGroupSize, 3 * sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->subPixelPrecisionBits, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->subTexelPrecisionBits, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->mipmapPrecisionBits, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxDrawIndexedIndexValue, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxDrawIndirectCount, sizeof(uint32_t)); |
| vkStream->read((float*)&forUnmarshaling->maxSamplerLodBias, sizeof(float)); |
| vkStream->read((float*)&forUnmarshaling->maxSamplerAnisotropy, sizeof(float)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxViewports, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)forUnmarshaling->maxViewportDimensions, 2 * sizeof(uint32_t)); |
| vkStream->read((float*)forUnmarshaling->viewportBoundsRange, 2 * sizeof(float)); |
| vkStream->read((uint32_t*)&forUnmarshaling->viewportSubPixelBits, sizeof(uint32_t)); |
| forUnmarshaling->minMemoryMapAlignment = (size_t)vkStream->getBe64(); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->minTexelBufferOffsetAlignment, sizeof(VkDeviceSize)); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->minUniformBufferOffsetAlignment, sizeof(VkDeviceSize)); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->minStorageBufferOffsetAlignment, sizeof(VkDeviceSize)); |
| vkStream->read((int32_t*)&forUnmarshaling->minTexelOffset, sizeof(int32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxTexelOffset, sizeof(uint32_t)); |
| vkStream->read((int32_t*)&forUnmarshaling->minTexelGatherOffset, sizeof(int32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxTexelGatherOffset, sizeof(uint32_t)); |
| vkStream->read((float*)&forUnmarshaling->minInterpolationOffset, sizeof(float)); |
| vkStream->read((float*)&forUnmarshaling->maxInterpolationOffset, sizeof(float)); |
| vkStream->read((uint32_t*)&forUnmarshaling->subPixelInterpolationOffsetBits, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxFramebufferWidth, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxFramebufferHeight, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxFramebufferLayers, sizeof(uint32_t)); |
| vkStream->read((VkSampleCountFlags*)&forUnmarshaling->framebufferColorSampleCounts, sizeof(VkSampleCountFlags)); |
| vkStream->read((VkSampleCountFlags*)&forUnmarshaling->framebufferDepthSampleCounts, sizeof(VkSampleCountFlags)); |
| vkStream->read((VkSampleCountFlags*)&forUnmarshaling->framebufferStencilSampleCounts, sizeof(VkSampleCountFlags)); |
| vkStream->read((VkSampleCountFlags*)&forUnmarshaling->framebufferNoAttachmentsSampleCounts, sizeof(VkSampleCountFlags)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxColorAttachments, sizeof(uint32_t)); |
| vkStream->read((VkSampleCountFlags*)&forUnmarshaling->sampledImageColorSampleCounts, sizeof(VkSampleCountFlags)); |
| vkStream->read((VkSampleCountFlags*)&forUnmarshaling->sampledImageIntegerSampleCounts, sizeof(VkSampleCountFlags)); |
| vkStream->read((VkSampleCountFlags*)&forUnmarshaling->sampledImageDepthSampleCounts, sizeof(VkSampleCountFlags)); |
| vkStream->read((VkSampleCountFlags*)&forUnmarshaling->sampledImageStencilSampleCounts, sizeof(VkSampleCountFlags)); |
| vkStream->read((VkSampleCountFlags*)&forUnmarshaling->storageImageSampleCounts, sizeof(VkSampleCountFlags)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxSampleMaskWords, sizeof(uint32_t)); |
| vkStream->read((VkBool32*)&forUnmarshaling->timestampComputeAndGraphics, sizeof(VkBool32)); |
| vkStream->read((float*)&forUnmarshaling->timestampPeriod, sizeof(float)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxClipDistances, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxCullDistances, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxCombinedClipAndCullDistances, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->discreteQueuePriorities, sizeof(uint32_t)); |
| vkStream->read((float*)forUnmarshaling->pointSizeRange, 2 * sizeof(float)); |
| vkStream->read((float*)forUnmarshaling->lineWidthRange, 2 * sizeof(float)); |
| vkStream->read((float*)&forUnmarshaling->pointSizeGranularity, sizeof(float)); |
| vkStream->read((float*)&forUnmarshaling->lineWidthGranularity, sizeof(float)); |
| vkStream->read((VkBool32*)&forUnmarshaling->strictLines, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->standardSampleLocations, sizeof(VkBool32)); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->optimalBufferCopyOffsetAlignment, sizeof(VkDeviceSize)); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->optimalBufferCopyRowPitchAlignment, sizeof(VkDeviceSize)); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->nonCoherentAtomSize, sizeof(VkDeviceSize)); |
| } |
| |
| void marshal_VkPhysicalDeviceSparseProperties( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceSparseProperties* forMarshaling) |
| { |
| vkStream->write((VkBool32*)&forMarshaling->residencyStandard2DBlockShape, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->residencyStandard2DMultisampleBlockShape, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->residencyStandard3DBlockShape, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->residencyAlignedMipSize, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->residencyNonResidentStrict, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceSparseProperties( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceSparseProperties* forUnmarshaling) |
| { |
| vkStream->read((VkBool32*)&forUnmarshaling->residencyStandard2DBlockShape, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->residencyStandard2DMultisampleBlockShape, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->residencyStandard3DBlockShape, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->residencyAlignedMipSize, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->residencyNonResidentStrict, sizeof(VkBool32)); |
| } |
| |
| void marshal_VkPhysicalDeviceProperties( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceProperties* forMarshaling) |
| { |
| vkStream->write((uint32_t*)&forMarshaling->apiVersion, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->driverVersion, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->vendorID, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->deviceID, sizeof(uint32_t)); |
| vkStream->write((VkPhysicalDeviceType*)&forMarshaling->deviceType, sizeof(VkPhysicalDeviceType)); |
| vkStream->write((char*)forMarshaling->deviceName, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE * sizeof(char)); |
| vkStream->write((uint8_t*)forMarshaling->pipelineCacheUUID, VK_UUID_SIZE * sizeof(uint8_t)); |
| marshal_VkPhysicalDeviceLimits(vkStream, (VkPhysicalDeviceLimits*)(&forMarshaling->limits)); |
| marshal_VkPhysicalDeviceSparseProperties(vkStream, (VkPhysicalDeviceSparseProperties*)(&forMarshaling->sparseProperties)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceProperties( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceProperties* forUnmarshaling) |
| { |
| vkStream->read((uint32_t*)&forUnmarshaling->apiVersion, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->driverVersion, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->vendorID, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->deviceID, sizeof(uint32_t)); |
| vkStream->read((VkPhysicalDeviceType*)&forUnmarshaling->deviceType, sizeof(VkPhysicalDeviceType)); |
| vkStream->read((char*)forUnmarshaling->deviceName, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE * sizeof(char)); |
| vkStream->read((uint8_t*)forUnmarshaling->pipelineCacheUUID, VK_UUID_SIZE * sizeof(uint8_t)); |
| unmarshal_VkPhysicalDeviceLimits(vkStream, (VkPhysicalDeviceLimits*)(&forUnmarshaling->limits)); |
| unmarshal_VkPhysicalDeviceSparseProperties(vkStream, (VkPhysicalDeviceSparseProperties*)(&forUnmarshaling->sparseProperties)); |
| } |
| |
| void marshal_VkQueueFamilyProperties( |
| VulkanStreamGuest* vkStream, |
| const VkQueueFamilyProperties* forMarshaling) |
| { |
| vkStream->write((VkQueueFlags*)&forMarshaling->queueFlags, sizeof(VkQueueFlags)); |
| vkStream->write((uint32_t*)&forMarshaling->queueCount, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->timestampValidBits, sizeof(uint32_t)); |
| marshal_VkExtent3D(vkStream, (VkExtent3D*)(&forMarshaling->minImageTransferGranularity)); |
| } |
| |
| void unmarshal_VkQueueFamilyProperties( |
| VulkanStreamGuest* vkStream, |
| VkQueueFamilyProperties* forUnmarshaling) |
| { |
| vkStream->read((VkQueueFlags*)&forUnmarshaling->queueFlags, sizeof(VkQueueFlags)); |
| vkStream->read((uint32_t*)&forUnmarshaling->queueCount, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->timestampValidBits, sizeof(uint32_t)); |
| unmarshal_VkExtent3D(vkStream, (VkExtent3D*)(&forUnmarshaling->minImageTransferGranularity)); |
| } |
| |
| void marshal_VkMemoryType( |
| VulkanStreamGuest* vkStream, |
| const VkMemoryType* forMarshaling) |
| { |
| vkStream->write((VkMemoryPropertyFlags*)&forMarshaling->propertyFlags, sizeof(VkMemoryPropertyFlags)); |
| vkStream->write((uint32_t*)&forMarshaling->heapIndex, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkMemoryType( |
| VulkanStreamGuest* vkStream, |
| VkMemoryType* forUnmarshaling) |
| { |
| vkStream->read((VkMemoryPropertyFlags*)&forUnmarshaling->propertyFlags, sizeof(VkMemoryPropertyFlags)); |
| vkStream->read((uint32_t*)&forUnmarshaling->heapIndex, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkMemoryHeap( |
| VulkanStreamGuest* vkStream, |
| const VkMemoryHeap* forMarshaling) |
| { |
| vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize)); |
| vkStream->write((VkMemoryHeapFlags*)&forMarshaling->flags, sizeof(VkMemoryHeapFlags)); |
| } |
| |
| void unmarshal_VkMemoryHeap( |
| VulkanStreamGuest* vkStream, |
| VkMemoryHeap* forUnmarshaling) |
| { |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize)); |
| vkStream->read((VkMemoryHeapFlags*)&forUnmarshaling->flags, sizeof(VkMemoryHeapFlags)); |
| } |
| |
| void marshal_VkPhysicalDeviceMemoryProperties( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceMemoryProperties* forMarshaling) |
| { |
| vkStream->write((uint32_t*)&forMarshaling->memoryTypeCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_TYPES; ++i) |
| { |
| marshal_VkMemoryType(vkStream, (VkMemoryType*)(forMarshaling->memoryTypes + i)); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->memoryHeapCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_HEAPS; ++i) |
| { |
| marshal_VkMemoryHeap(vkStream, (VkMemoryHeap*)(forMarshaling->memoryHeaps + i)); |
| } |
| } |
| |
| void unmarshal_VkPhysicalDeviceMemoryProperties( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceMemoryProperties* forUnmarshaling) |
| { |
| vkStream->read((uint32_t*)&forUnmarshaling->memoryTypeCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_TYPES; ++i) |
| { |
| unmarshal_VkMemoryType(vkStream, (VkMemoryType*)(forUnmarshaling->memoryTypes + i)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->memoryHeapCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_HEAPS; ++i) |
| { |
| unmarshal_VkMemoryHeap(vkStream, (VkMemoryHeap*)(forUnmarshaling->memoryHeaps + i)); |
| } |
| } |
| |
| void marshal_VkDeviceQueueCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkDeviceQueueCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkDeviceQueueCreateFlags*)&forMarshaling->flags, sizeof(VkDeviceQueueCreateFlags)); |
| vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndex, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->queueCount, sizeof(uint32_t)); |
| vkStream->write((const float*)forMarshaling->pQueuePriorities, forMarshaling->queueCount * sizeof(const float)); |
| } |
| |
| void unmarshal_VkDeviceQueueCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkDeviceQueueCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkDeviceQueueCreateFlags*)&forUnmarshaling->flags, sizeof(VkDeviceQueueCreateFlags)); |
| vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndex, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->queueCount, sizeof(uint32_t)); |
| vkStream->read((float*)forUnmarshaling->pQueuePriorities, forUnmarshaling->queueCount * sizeof(const float)); |
| } |
| |
| void marshal_VkDeviceCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkDeviceCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkDeviceCreateFlags*)&forMarshaling->flags, sizeof(VkDeviceCreateFlags)); |
| vkStream->write((uint32_t*)&forMarshaling->queueCreateInfoCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->queueCreateInfoCount; ++i) |
| { |
| marshal_VkDeviceQueueCreateInfo(vkStream, (const VkDeviceQueueCreateInfo*)(forMarshaling->pQueueCreateInfos + i)); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->enabledLayerCount, sizeof(uint32_t)); |
| saveStringArray(vkStream, forMarshaling->ppEnabledLayerNames, forMarshaling->enabledLayerCount); |
| vkStream->write((uint32_t*)&forMarshaling->enabledExtensionCount, sizeof(uint32_t)); |
| saveStringArray(vkStream, forMarshaling->ppEnabledExtensionNames, forMarshaling->enabledExtensionCount); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_20 = (uint64_t)(uintptr_t)forMarshaling->pEnabledFeatures; |
| vkStream->putBe64(cgen_var_20); |
| if (forMarshaling->pEnabledFeatures) |
| { |
| marshal_VkPhysicalDeviceFeatures(vkStream, (const VkPhysicalDeviceFeatures*)(forMarshaling->pEnabledFeatures)); |
| } |
| } |
| |
| void unmarshal_VkDeviceCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkDeviceCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkDeviceCreateFlags*)&forUnmarshaling->flags, sizeof(VkDeviceCreateFlags)); |
| vkStream->read((uint32_t*)&forUnmarshaling->queueCreateInfoCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->queueCreateInfoCount; ++i) |
| { |
| unmarshal_VkDeviceQueueCreateInfo(vkStream, (VkDeviceQueueCreateInfo*)(forUnmarshaling->pQueueCreateInfos + i)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->enabledLayerCount, sizeof(uint32_t)); |
| vkStream->loadStringArrayInPlace((char***)&forUnmarshaling->ppEnabledLayerNames); |
| vkStream->read((uint32_t*)&forUnmarshaling->enabledExtensionCount, sizeof(uint32_t)); |
| vkStream->loadStringArrayInPlace((char***)&forUnmarshaling->ppEnabledExtensionNames); |
| // WARNING PTR CHECK |
| const VkPhysicalDeviceFeatures* check_pEnabledFeatures; |
| check_pEnabledFeatures = (const VkPhysicalDeviceFeatures*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pEnabledFeatures) |
| { |
| if (!(check_pEnabledFeatures)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pEnabledFeatures inconsistent between guest and host\n"); |
| } |
| unmarshal_VkPhysicalDeviceFeatures(vkStream, (VkPhysicalDeviceFeatures*)(forUnmarshaling->pEnabledFeatures)); |
| } |
| } |
| |
| void marshal_VkExtensionProperties( |
| VulkanStreamGuest* vkStream, |
| const VkExtensionProperties* forMarshaling) |
| { |
| vkStream->write((char*)forMarshaling->extensionName, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char)); |
| vkStream->write((uint32_t*)&forMarshaling->specVersion, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkExtensionProperties( |
| VulkanStreamGuest* vkStream, |
| VkExtensionProperties* forUnmarshaling) |
| { |
| vkStream->read((char*)forUnmarshaling->extensionName, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char)); |
| vkStream->read((uint32_t*)&forUnmarshaling->specVersion, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkLayerProperties( |
| VulkanStreamGuest* vkStream, |
| const VkLayerProperties* forMarshaling) |
| { |
| vkStream->write((char*)forMarshaling->layerName, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char)); |
| vkStream->write((uint32_t*)&forMarshaling->specVersion, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->implementationVersion, sizeof(uint32_t)); |
| vkStream->write((char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char)); |
| } |
| |
| void unmarshal_VkLayerProperties( |
| VulkanStreamGuest* vkStream, |
| VkLayerProperties* forUnmarshaling) |
| { |
| vkStream->read((char*)forUnmarshaling->layerName, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char)); |
| vkStream->read((uint32_t*)&forUnmarshaling->specVersion, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->implementationVersion, sizeof(uint32_t)); |
| vkStream->read((char*)forUnmarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char)); |
| } |
| |
| void marshal_VkSubmitInfo( |
| VulkanStreamGuest* vkStream, |
| const VkSubmitInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->waitSemaphoreCount, sizeof(uint32_t)); |
| if (forMarshaling->waitSemaphoreCount) |
| { |
| uint64_t* cgen_var_22; |
| vkStream->alloc((void**)&cgen_var_22, forMarshaling->waitSemaphoreCount * 8); |
| vkStream->handleMapping()->mapHandles_VkSemaphore_u64(forMarshaling->pWaitSemaphores, cgen_var_22, forMarshaling->waitSemaphoreCount); |
| vkStream->write((uint64_t*)cgen_var_22, forMarshaling->waitSemaphoreCount * 8); |
| } |
| vkStream->write((const VkPipelineStageFlags*)forMarshaling->pWaitDstStageMask, forMarshaling->waitSemaphoreCount * sizeof(const VkPipelineStageFlags)); |
| vkStream->write((uint32_t*)&forMarshaling->commandBufferCount, sizeof(uint32_t)); |
| if (forMarshaling->commandBufferCount) |
| { |
| uint64_t* cgen_var_23; |
| vkStream->alloc((void**)&cgen_var_23, forMarshaling->commandBufferCount * 8); |
| vkStream->handleMapping()->mapHandles_VkCommandBuffer_u64(forMarshaling->pCommandBuffers, cgen_var_23, forMarshaling->commandBufferCount); |
| vkStream->write((uint64_t*)cgen_var_23, forMarshaling->commandBufferCount * 8); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->signalSemaphoreCount, sizeof(uint32_t)); |
| if (forMarshaling->signalSemaphoreCount) |
| { |
| uint64_t* cgen_var_24; |
| vkStream->alloc((void**)&cgen_var_24, forMarshaling->signalSemaphoreCount * 8); |
| vkStream->handleMapping()->mapHandles_VkSemaphore_u64(forMarshaling->pSignalSemaphores, cgen_var_24, forMarshaling->signalSemaphoreCount); |
| vkStream->write((uint64_t*)cgen_var_24, forMarshaling->signalSemaphoreCount * 8); |
| } |
| } |
| |
| void unmarshal_VkSubmitInfo( |
| VulkanStreamGuest* vkStream, |
| VkSubmitInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->waitSemaphoreCount, sizeof(uint32_t)); |
| if (forUnmarshaling->waitSemaphoreCount) |
| { |
| uint64_t* cgen_var_25; |
| vkStream->alloc((void**)&cgen_var_25, forUnmarshaling->waitSemaphoreCount * 8); |
| vkStream->read((uint64_t*)cgen_var_25, forUnmarshaling->waitSemaphoreCount * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkSemaphore(cgen_var_25, (VkSemaphore*)forUnmarshaling->pWaitSemaphores, forUnmarshaling->waitSemaphoreCount); |
| } |
| vkStream->read((VkPipelineStageFlags*)forUnmarshaling->pWaitDstStageMask, forUnmarshaling->waitSemaphoreCount * sizeof(const VkPipelineStageFlags)); |
| vkStream->read((uint32_t*)&forUnmarshaling->commandBufferCount, sizeof(uint32_t)); |
| if (forUnmarshaling->commandBufferCount) |
| { |
| uint64_t* cgen_var_26; |
| vkStream->alloc((void**)&cgen_var_26, forUnmarshaling->commandBufferCount * 8); |
| vkStream->read((uint64_t*)cgen_var_26, forUnmarshaling->commandBufferCount * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkCommandBuffer(cgen_var_26, (VkCommandBuffer*)forUnmarshaling->pCommandBuffers, forUnmarshaling->commandBufferCount); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->signalSemaphoreCount, sizeof(uint32_t)); |
| if (forUnmarshaling->signalSemaphoreCount) |
| { |
| uint64_t* cgen_var_27; |
| vkStream->alloc((void**)&cgen_var_27, forUnmarshaling->signalSemaphoreCount * 8); |
| vkStream->read((uint64_t*)cgen_var_27, forUnmarshaling->signalSemaphoreCount * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkSemaphore(cgen_var_27, (VkSemaphore*)forUnmarshaling->pSignalSemaphores, forUnmarshaling->signalSemaphoreCount); |
| } |
| } |
| |
| void marshal_VkMemoryAllocateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkMemoryAllocateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkDeviceSize*)&forMarshaling->allocationSize, sizeof(VkDeviceSize)); |
| vkStream->write((uint32_t*)&forMarshaling->memoryTypeIndex, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkMemoryAllocateInfo( |
| VulkanStreamGuest* vkStream, |
| VkMemoryAllocateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->allocationSize, sizeof(VkDeviceSize)); |
| vkStream->read((uint32_t*)&forUnmarshaling->memoryTypeIndex, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkMappedMemoryRange( |
| VulkanStreamGuest* vkStream, |
| const VkMappedMemoryRange* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_28; |
| vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_28, 1); |
| vkStream->write((uint64_t*)&cgen_var_28, 1 * 8); |
| vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize)); |
| vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize)); |
| } |
| |
| void unmarshal_VkMappedMemoryRange( |
| VulkanStreamGuest* vkStream, |
| VkMappedMemoryRange* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_29; |
| vkStream->read((uint64_t*)&cgen_var_29, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(&cgen_var_29, (VkDeviceMemory*)&forUnmarshaling->memory, 1); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize)); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize)); |
| } |
| |
| void marshal_VkMemoryRequirements( |
| VulkanStreamGuest* vkStream, |
| const VkMemoryRequirements* forMarshaling) |
| { |
| vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize)); |
| vkStream->write((VkDeviceSize*)&forMarshaling->alignment, sizeof(VkDeviceSize)); |
| vkStream->write((uint32_t*)&forMarshaling->memoryTypeBits, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkMemoryRequirements( |
| VulkanStreamGuest* vkStream, |
| VkMemoryRequirements* forUnmarshaling) |
| { |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize)); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->alignment, sizeof(VkDeviceSize)); |
| vkStream->read((uint32_t*)&forUnmarshaling->memoryTypeBits, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkSparseImageFormatProperties( |
| VulkanStreamGuest* vkStream, |
| const VkSparseImageFormatProperties* forMarshaling) |
| { |
| vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags)); |
| marshal_VkExtent3D(vkStream, (VkExtent3D*)(&forMarshaling->imageGranularity)); |
| vkStream->write((VkSparseImageFormatFlags*)&forMarshaling->flags, sizeof(VkSparseImageFormatFlags)); |
| } |
| |
| void unmarshal_VkSparseImageFormatProperties( |
| VulkanStreamGuest* vkStream, |
| VkSparseImageFormatProperties* forUnmarshaling) |
| { |
| vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags)); |
| unmarshal_VkExtent3D(vkStream, (VkExtent3D*)(&forUnmarshaling->imageGranularity)); |
| vkStream->read((VkSparseImageFormatFlags*)&forUnmarshaling->flags, sizeof(VkSparseImageFormatFlags)); |
| } |
| |
| void marshal_VkSparseImageMemoryRequirements( |
| VulkanStreamGuest* vkStream, |
| const VkSparseImageMemoryRequirements* forMarshaling) |
| { |
| marshal_VkSparseImageFormatProperties(vkStream, (VkSparseImageFormatProperties*)(&forMarshaling->formatProperties)); |
| vkStream->write((uint32_t*)&forMarshaling->imageMipTailFirstLod, sizeof(uint32_t)); |
| vkStream->write((VkDeviceSize*)&forMarshaling->imageMipTailSize, sizeof(VkDeviceSize)); |
| vkStream->write((VkDeviceSize*)&forMarshaling->imageMipTailOffset, sizeof(VkDeviceSize)); |
| vkStream->write((VkDeviceSize*)&forMarshaling->imageMipTailStride, sizeof(VkDeviceSize)); |
| } |
| |
| void unmarshal_VkSparseImageMemoryRequirements( |
| VulkanStreamGuest* vkStream, |
| VkSparseImageMemoryRequirements* forUnmarshaling) |
| { |
| unmarshal_VkSparseImageFormatProperties(vkStream, (VkSparseImageFormatProperties*)(&forUnmarshaling->formatProperties)); |
| vkStream->read((uint32_t*)&forUnmarshaling->imageMipTailFirstLod, sizeof(uint32_t)); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->imageMipTailSize, sizeof(VkDeviceSize)); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->imageMipTailOffset, sizeof(VkDeviceSize)); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->imageMipTailStride, sizeof(VkDeviceSize)); |
| } |
| |
| void marshal_VkSparseMemoryBind( |
| VulkanStreamGuest* vkStream, |
| const VkSparseMemoryBind* forMarshaling) |
| { |
| vkStream->write((VkDeviceSize*)&forMarshaling->resourceOffset, sizeof(VkDeviceSize)); |
| vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize)); |
| uint64_t cgen_var_30; |
| vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_30, 1); |
| vkStream->write((uint64_t*)&cgen_var_30, 1 * 8); |
| vkStream->write((VkDeviceSize*)&forMarshaling->memoryOffset, sizeof(VkDeviceSize)); |
| vkStream->write((VkSparseMemoryBindFlags*)&forMarshaling->flags, sizeof(VkSparseMemoryBindFlags)); |
| } |
| |
| void unmarshal_VkSparseMemoryBind( |
| VulkanStreamGuest* vkStream, |
| VkSparseMemoryBind* forUnmarshaling) |
| { |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->resourceOffset, sizeof(VkDeviceSize)); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize)); |
| uint64_t cgen_var_31; |
| vkStream->read((uint64_t*)&cgen_var_31, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(&cgen_var_31, (VkDeviceMemory*)&forUnmarshaling->memory, 1); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->memoryOffset, sizeof(VkDeviceSize)); |
| vkStream->read((VkSparseMemoryBindFlags*)&forUnmarshaling->flags, sizeof(VkSparseMemoryBindFlags)); |
| } |
| |
| void marshal_VkSparseBufferMemoryBindInfo( |
| VulkanStreamGuest* vkStream, |
| const VkSparseBufferMemoryBindInfo* forMarshaling) |
| { |
| uint64_t cgen_var_32; |
| vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_32, 1); |
| vkStream->write((uint64_t*)&cgen_var_32, 1 * 8); |
| vkStream->write((uint32_t*)&forMarshaling->bindCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->bindCount; ++i) |
| { |
| marshal_VkSparseMemoryBind(vkStream, (const VkSparseMemoryBind*)(forMarshaling->pBinds + i)); |
| } |
| } |
| |
| void unmarshal_VkSparseBufferMemoryBindInfo( |
| VulkanStreamGuest* vkStream, |
| VkSparseBufferMemoryBindInfo* forUnmarshaling) |
| { |
| uint64_t cgen_var_33; |
| vkStream->read((uint64_t*)&cgen_var_33, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_33, (VkBuffer*)&forUnmarshaling->buffer, 1); |
| vkStream->read((uint32_t*)&forUnmarshaling->bindCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bindCount; ++i) |
| { |
| unmarshal_VkSparseMemoryBind(vkStream, (VkSparseMemoryBind*)(forUnmarshaling->pBinds + i)); |
| } |
| } |
| |
| void marshal_VkSparseImageOpaqueMemoryBindInfo( |
| VulkanStreamGuest* vkStream, |
| const VkSparseImageOpaqueMemoryBindInfo* forMarshaling) |
| { |
| uint64_t cgen_var_34; |
| vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_34, 1); |
| vkStream->write((uint64_t*)&cgen_var_34, 1 * 8); |
| vkStream->write((uint32_t*)&forMarshaling->bindCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->bindCount; ++i) |
| { |
| marshal_VkSparseMemoryBind(vkStream, (const VkSparseMemoryBind*)(forMarshaling->pBinds + i)); |
| } |
| } |
| |
| void unmarshal_VkSparseImageOpaqueMemoryBindInfo( |
| VulkanStreamGuest* vkStream, |
| VkSparseImageOpaqueMemoryBindInfo* forUnmarshaling) |
| { |
| uint64_t cgen_var_35; |
| vkStream->read((uint64_t*)&cgen_var_35, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_35, (VkImage*)&forUnmarshaling->image, 1); |
| vkStream->read((uint32_t*)&forUnmarshaling->bindCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bindCount; ++i) |
| { |
| unmarshal_VkSparseMemoryBind(vkStream, (VkSparseMemoryBind*)(forUnmarshaling->pBinds + i)); |
| } |
| } |
| |
| void marshal_VkImageSubresource( |
| VulkanStreamGuest* vkStream, |
| const VkImageSubresource* forMarshaling) |
| { |
| vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags)); |
| vkStream->write((uint32_t*)&forMarshaling->mipLevel, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->arrayLayer, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkImageSubresource( |
| VulkanStreamGuest* vkStream, |
| VkImageSubresource* forUnmarshaling) |
| { |
| vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags)); |
| vkStream->read((uint32_t*)&forUnmarshaling->mipLevel, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->arrayLayer, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkOffset3D( |
| VulkanStreamGuest* vkStream, |
| const VkOffset3D* forMarshaling) |
| { |
| vkStream->write((int32_t*)&forMarshaling->x, sizeof(int32_t)); |
| vkStream->write((int32_t*)&forMarshaling->y, sizeof(int32_t)); |
| vkStream->write((int32_t*)&forMarshaling->z, sizeof(int32_t)); |
| } |
| |
| void unmarshal_VkOffset3D( |
| VulkanStreamGuest* vkStream, |
| VkOffset3D* forUnmarshaling) |
| { |
| vkStream->read((int32_t*)&forUnmarshaling->x, sizeof(int32_t)); |
| vkStream->read((int32_t*)&forUnmarshaling->y, sizeof(int32_t)); |
| vkStream->read((int32_t*)&forUnmarshaling->z, sizeof(int32_t)); |
| } |
| |
| void marshal_VkSparseImageMemoryBind( |
| VulkanStreamGuest* vkStream, |
| const VkSparseImageMemoryBind* forMarshaling) |
| { |
| marshal_VkImageSubresource(vkStream, (VkImageSubresource*)(&forMarshaling->subresource)); |
| marshal_VkOffset3D(vkStream, (VkOffset3D*)(&forMarshaling->offset)); |
| marshal_VkExtent3D(vkStream, (VkExtent3D*)(&forMarshaling->extent)); |
| uint64_t cgen_var_36; |
| vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_36, 1); |
| vkStream->write((uint64_t*)&cgen_var_36, 1 * 8); |
| vkStream->write((VkDeviceSize*)&forMarshaling->memoryOffset, sizeof(VkDeviceSize)); |
| vkStream->write((VkSparseMemoryBindFlags*)&forMarshaling->flags, sizeof(VkSparseMemoryBindFlags)); |
| } |
| |
| void unmarshal_VkSparseImageMemoryBind( |
| VulkanStreamGuest* vkStream, |
| VkSparseImageMemoryBind* forUnmarshaling) |
| { |
| unmarshal_VkImageSubresource(vkStream, (VkImageSubresource*)(&forUnmarshaling->subresource)); |
| unmarshal_VkOffset3D(vkStream, (VkOffset3D*)(&forUnmarshaling->offset)); |
| unmarshal_VkExtent3D(vkStream, (VkExtent3D*)(&forUnmarshaling->extent)); |
| uint64_t cgen_var_37; |
| vkStream->read((uint64_t*)&cgen_var_37, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(&cgen_var_37, (VkDeviceMemory*)&forUnmarshaling->memory, 1); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->memoryOffset, sizeof(VkDeviceSize)); |
| vkStream->read((VkSparseMemoryBindFlags*)&forUnmarshaling->flags, sizeof(VkSparseMemoryBindFlags)); |
| } |
| |
| void marshal_VkSparseImageMemoryBindInfo( |
| VulkanStreamGuest* vkStream, |
| const VkSparseImageMemoryBindInfo* forMarshaling) |
| { |
| uint64_t cgen_var_38; |
| vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_38, 1); |
| vkStream->write((uint64_t*)&cgen_var_38, 1 * 8); |
| vkStream->write((uint32_t*)&forMarshaling->bindCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->bindCount; ++i) |
| { |
| marshal_VkSparseImageMemoryBind(vkStream, (const VkSparseImageMemoryBind*)(forMarshaling->pBinds + i)); |
| } |
| } |
| |
| void unmarshal_VkSparseImageMemoryBindInfo( |
| VulkanStreamGuest* vkStream, |
| VkSparseImageMemoryBindInfo* forUnmarshaling) |
| { |
| uint64_t cgen_var_39; |
| vkStream->read((uint64_t*)&cgen_var_39, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_39, (VkImage*)&forUnmarshaling->image, 1); |
| vkStream->read((uint32_t*)&forUnmarshaling->bindCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bindCount; ++i) |
| { |
| unmarshal_VkSparseImageMemoryBind(vkStream, (VkSparseImageMemoryBind*)(forUnmarshaling->pBinds + i)); |
| } |
| } |
| |
| void marshal_VkBindSparseInfo( |
| VulkanStreamGuest* vkStream, |
| const VkBindSparseInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->waitSemaphoreCount, sizeof(uint32_t)); |
| if (forMarshaling->waitSemaphoreCount) |
| { |
| uint64_t* cgen_var_40; |
| vkStream->alloc((void**)&cgen_var_40, forMarshaling->waitSemaphoreCount * 8); |
| vkStream->handleMapping()->mapHandles_VkSemaphore_u64(forMarshaling->pWaitSemaphores, cgen_var_40, forMarshaling->waitSemaphoreCount); |
| vkStream->write((uint64_t*)cgen_var_40, forMarshaling->waitSemaphoreCount * 8); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->bufferBindCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->bufferBindCount; ++i) |
| { |
| marshal_VkSparseBufferMemoryBindInfo(vkStream, (const VkSparseBufferMemoryBindInfo*)(forMarshaling->pBufferBinds + i)); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->imageOpaqueBindCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->imageOpaqueBindCount; ++i) |
| { |
| marshal_VkSparseImageOpaqueMemoryBindInfo(vkStream, (const VkSparseImageOpaqueMemoryBindInfo*)(forMarshaling->pImageOpaqueBinds + i)); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->imageBindCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->imageBindCount; ++i) |
| { |
| marshal_VkSparseImageMemoryBindInfo(vkStream, (const VkSparseImageMemoryBindInfo*)(forMarshaling->pImageBinds + i)); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->signalSemaphoreCount, sizeof(uint32_t)); |
| if (forMarshaling->signalSemaphoreCount) |
| { |
| uint64_t* cgen_var_41; |
| vkStream->alloc((void**)&cgen_var_41, forMarshaling->signalSemaphoreCount * 8); |
| vkStream->handleMapping()->mapHandles_VkSemaphore_u64(forMarshaling->pSignalSemaphores, cgen_var_41, forMarshaling->signalSemaphoreCount); |
| vkStream->write((uint64_t*)cgen_var_41, forMarshaling->signalSemaphoreCount * 8); |
| } |
| } |
| |
| void unmarshal_VkBindSparseInfo( |
| VulkanStreamGuest* vkStream, |
| VkBindSparseInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->waitSemaphoreCount, sizeof(uint32_t)); |
| if (forUnmarshaling->waitSemaphoreCount) |
| { |
| uint64_t* cgen_var_42; |
| vkStream->alloc((void**)&cgen_var_42, forUnmarshaling->waitSemaphoreCount * 8); |
| vkStream->read((uint64_t*)cgen_var_42, forUnmarshaling->waitSemaphoreCount * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkSemaphore(cgen_var_42, (VkSemaphore*)forUnmarshaling->pWaitSemaphores, forUnmarshaling->waitSemaphoreCount); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->bufferBindCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bufferBindCount; ++i) |
| { |
| unmarshal_VkSparseBufferMemoryBindInfo(vkStream, (VkSparseBufferMemoryBindInfo*)(forUnmarshaling->pBufferBinds + i)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->imageOpaqueBindCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->imageOpaqueBindCount; ++i) |
| { |
| unmarshal_VkSparseImageOpaqueMemoryBindInfo(vkStream, (VkSparseImageOpaqueMemoryBindInfo*)(forUnmarshaling->pImageOpaqueBinds + i)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->imageBindCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->imageBindCount; ++i) |
| { |
| unmarshal_VkSparseImageMemoryBindInfo(vkStream, (VkSparseImageMemoryBindInfo*)(forUnmarshaling->pImageBinds + i)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->signalSemaphoreCount, sizeof(uint32_t)); |
| if (forUnmarshaling->signalSemaphoreCount) |
| { |
| uint64_t* cgen_var_43; |
| vkStream->alloc((void**)&cgen_var_43, forUnmarshaling->signalSemaphoreCount * 8); |
| vkStream->read((uint64_t*)cgen_var_43, forUnmarshaling->signalSemaphoreCount * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkSemaphore(cgen_var_43, (VkSemaphore*)forUnmarshaling->pSignalSemaphores, forUnmarshaling->signalSemaphoreCount); |
| } |
| } |
| |
| void marshal_VkFenceCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkFenceCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkFenceCreateFlags*)&forMarshaling->flags, sizeof(VkFenceCreateFlags)); |
| } |
| |
| void unmarshal_VkFenceCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkFenceCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkFenceCreateFlags*)&forUnmarshaling->flags, sizeof(VkFenceCreateFlags)); |
| } |
| |
| void marshal_VkSemaphoreCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkSemaphoreCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkSemaphoreCreateFlags*)&forMarshaling->flags, sizeof(VkSemaphoreCreateFlags)); |
| } |
| |
| void unmarshal_VkSemaphoreCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkSemaphoreCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkSemaphoreCreateFlags*)&forUnmarshaling->flags, sizeof(VkSemaphoreCreateFlags)); |
| } |
| |
| void marshal_VkEventCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkEventCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkEventCreateFlags*)&forMarshaling->flags, sizeof(VkEventCreateFlags)); |
| } |
| |
| void unmarshal_VkEventCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkEventCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkEventCreateFlags*)&forUnmarshaling->flags, sizeof(VkEventCreateFlags)); |
| } |
| |
| void marshal_VkQueryPoolCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkQueryPoolCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkQueryPoolCreateFlags*)&forMarshaling->flags, sizeof(VkQueryPoolCreateFlags)); |
| vkStream->write((VkQueryType*)&forMarshaling->queryType, sizeof(VkQueryType)); |
| vkStream->write((uint32_t*)&forMarshaling->queryCount, sizeof(uint32_t)); |
| vkStream->write((VkQueryPipelineStatisticFlags*)&forMarshaling->pipelineStatistics, sizeof(VkQueryPipelineStatisticFlags)); |
| } |
| |
| void unmarshal_VkQueryPoolCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkQueryPoolCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkQueryPoolCreateFlags*)&forUnmarshaling->flags, sizeof(VkQueryPoolCreateFlags)); |
| vkStream->read((VkQueryType*)&forUnmarshaling->queryType, sizeof(VkQueryType)); |
| vkStream->read((uint32_t*)&forUnmarshaling->queryCount, sizeof(uint32_t)); |
| vkStream->read((VkQueryPipelineStatisticFlags*)&forUnmarshaling->pipelineStatistics, sizeof(VkQueryPipelineStatisticFlags)); |
| } |
| |
| void marshal_VkBufferCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkBufferCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkBufferCreateFlags*)&forMarshaling->flags, sizeof(VkBufferCreateFlags)); |
| vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize)); |
| vkStream->write((VkBufferUsageFlags*)&forMarshaling->usage, sizeof(VkBufferUsageFlags)); |
| vkStream->write((VkSharingMode*)&forMarshaling->sharingMode, sizeof(VkSharingMode)); |
| vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndexCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_44 = (uint64_t)(uintptr_t)forMarshaling->pQueueFamilyIndices; |
| vkStream->putBe64(cgen_var_44); |
| if (forMarshaling->pQueueFamilyIndices) |
| { |
| vkStream->write((const uint32_t*)forMarshaling->pQueueFamilyIndices, forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t)); |
| } |
| } |
| |
| void unmarshal_VkBufferCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkBufferCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkBufferCreateFlags*)&forUnmarshaling->flags, sizeof(VkBufferCreateFlags)); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize)); |
| vkStream->read((VkBufferUsageFlags*)&forUnmarshaling->usage, sizeof(VkBufferUsageFlags)); |
| vkStream->read((VkSharingMode*)&forUnmarshaling->sharingMode, sizeof(VkSharingMode)); |
| vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndexCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| const uint32_t* check_pQueueFamilyIndices; |
| check_pQueueFamilyIndices = (const uint32_t*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pQueueFamilyIndices) |
| { |
| if (!(check_pQueueFamilyIndices)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pQueueFamilyIndices inconsistent between guest and host\n"); |
| } |
| vkStream->read((uint32_t*)forUnmarshaling->pQueueFamilyIndices, forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t)); |
| } |
| } |
| |
| void marshal_VkBufferViewCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkBufferViewCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkBufferViewCreateFlags*)&forMarshaling->flags, sizeof(VkBufferViewCreateFlags)); |
| uint64_t cgen_var_46; |
| vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_46, 1); |
| vkStream->write((uint64_t*)&cgen_var_46, 1 * 8); |
| vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat)); |
| vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize)); |
| vkStream->write((VkDeviceSize*)&forMarshaling->range, sizeof(VkDeviceSize)); |
| } |
| |
| void unmarshal_VkBufferViewCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkBufferViewCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkBufferViewCreateFlags*)&forUnmarshaling->flags, sizeof(VkBufferViewCreateFlags)); |
| uint64_t cgen_var_47; |
| vkStream->read((uint64_t*)&cgen_var_47, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_47, (VkBuffer*)&forUnmarshaling->buffer, 1); |
| vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat)); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize)); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->range, sizeof(VkDeviceSize)); |
| } |
| |
| void marshal_VkImageCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkImageCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkImageCreateFlags*)&forMarshaling->flags, sizeof(VkImageCreateFlags)); |
| vkStream->write((VkImageType*)&forMarshaling->imageType, sizeof(VkImageType)); |
| vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat)); |
| marshal_VkExtent3D(vkStream, (VkExtent3D*)(&forMarshaling->extent)); |
| vkStream->write((uint32_t*)&forMarshaling->mipLevels, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->arrayLayers, sizeof(uint32_t)); |
| vkStream->write((VkSampleCountFlagBits*)&forMarshaling->samples, sizeof(VkSampleCountFlagBits)); |
| vkStream->write((VkImageTiling*)&forMarshaling->tiling, sizeof(VkImageTiling)); |
| vkStream->write((VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags)); |
| vkStream->write((VkSharingMode*)&forMarshaling->sharingMode, sizeof(VkSharingMode)); |
| vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndexCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_48 = (uint64_t)(uintptr_t)forMarshaling->pQueueFamilyIndices; |
| vkStream->putBe64(cgen_var_48); |
| if (forMarshaling->pQueueFamilyIndices) |
| { |
| vkStream->write((const uint32_t*)forMarshaling->pQueueFamilyIndices, forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t)); |
| } |
| vkStream->write((VkImageLayout*)&forMarshaling->initialLayout, sizeof(VkImageLayout)); |
| } |
| |
| void unmarshal_VkImageCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkImageCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkImageCreateFlags*)&forUnmarshaling->flags, sizeof(VkImageCreateFlags)); |
| vkStream->read((VkImageType*)&forUnmarshaling->imageType, sizeof(VkImageType)); |
| vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat)); |
| unmarshal_VkExtent3D(vkStream, (VkExtent3D*)(&forUnmarshaling->extent)); |
| vkStream->read((uint32_t*)&forUnmarshaling->mipLevels, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->arrayLayers, sizeof(uint32_t)); |
| vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->samples, sizeof(VkSampleCountFlagBits)); |
| vkStream->read((VkImageTiling*)&forUnmarshaling->tiling, sizeof(VkImageTiling)); |
| vkStream->read((VkImageUsageFlags*)&forUnmarshaling->usage, sizeof(VkImageUsageFlags)); |
| vkStream->read((VkSharingMode*)&forUnmarshaling->sharingMode, sizeof(VkSharingMode)); |
| vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndexCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| const uint32_t* check_pQueueFamilyIndices; |
| check_pQueueFamilyIndices = (const uint32_t*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pQueueFamilyIndices) |
| { |
| if (!(check_pQueueFamilyIndices)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pQueueFamilyIndices inconsistent between guest and host\n"); |
| } |
| vkStream->read((uint32_t*)forUnmarshaling->pQueueFamilyIndices, forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t)); |
| } |
| vkStream->read((VkImageLayout*)&forUnmarshaling->initialLayout, sizeof(VkImageLayout)); |
| } |
| |
| void marshal_VkSubresourceLayout( |
| VulkanStreamGuest* vkStream, |
| const VkSubresourceLayout* forMarshaling) |
| { |
| vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize)); |
| vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize)); |
| vkStream->write((VkDeviceSize*)&forMarshaling->rowPitch, sizeof(VkDeviceSize)); |
| vkStream->write((VkDeviceSize*)&forMarshaling->arrayPitch, sizeof(VkDeviceSize)); |
| vkStream->write((VkDeviceSize*)&forMarshaling->depthPitch, sizeof(VkDeviceSize)); |
| } |
| |
| void unmarshal_VkSubresourceLayout( |
| VulkanStreamGuest* vkStream, |
| VkSubresourceLayout* forUnmarshaling) |
| { |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize)); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize)); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->rowPitch, sizeof(VkDeviceSize)); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->arrayPitch, sizeof(VkDeviceSize)); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->depthPitch, sizeof(VkDeviceSize)); |
| } |
| |
| void marshal_VkComponentMapping( |
| VulkanStreamGuest* vkStream, |
| const VkComponentMapping* forMarshaling) |
| { |
| vkStream->write((VkComponentSwizzle*)&forMarshaling->r, sizeof(VkComponentSwizzle)); |
| vkStream->write((VkComponentSwizzle*)&forMarshaling->g, sizeof(VkComponentSwizzle)); |
| vkStream->write((VkComponentSwizzle*)&forMarshaling->b, sizeof(VkComponentSwizzle)); |
| vkStream->write((VkComponentSwizzle*)&forMarshaling->a, sizeof(VkComponentSwizzle)); |
| } |
| |
| void unmarshal_VkComponentMapping( |
| VulkanStreamGuest* vkStream, |
| VkComponentMapping* forUnmarshaling) |
| { |
| vkStream->read((VkComponentSwizzle*)&forUnmarshaling->r, sizeof(VkComponentSwizzle)); |
| vkStream->read((VkComponentSwizzle*)&forUnmarshaling->g, sizeof(VkComponentSwizzle)); |
| vkStream->read((VkComponentSwizzle*)&forUnmarshaling->b, sizeof(VkComponentSwizzle)); |
| vkStream->read((VkComponentSwizzle*)&forUnmarshaling->a, sizeof(VkComponentSwizzle)); |
| } |
| |
| void marshal_VkImageSubresourceRange( |
| VulkanStreamGuest* vkStream, |
| const VkImageSubresourceRange* forMarshaling) |
| { |
| vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags)); |
| vkStream->write((uint32_t*)&forMarshaling->baseMipLevel, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->levelCount, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->baseArrayLayer, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkImageSubresourceRange( |
| VulkanStreamGuest* vkStream, |
| VkImageSubresourceRange* forUnmarshaling) |
| { |
| vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags)); |
| vkStream->read((uint32_t*)&forUnmarshaling->baseMipLevel, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->levelCount, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->baseArrayLayer, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->layerCount, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkImageViewCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkImageViewCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkImageViewCreateFlags*)&forMarshaling->flags, sizeof(VkImageViewCreateFlags)); |
| uint64_t cgen_var_50; |
| vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_50, 1); |
| vkStream->write((uint64_t*)&cgen_var_50, 1 * 8); |
| vkStream->write((VkImageViewType*)&forMarshaling->viewType, sizeof(VkImageViewType)); |
| vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat)); |
| marshal_VkComponentMapping(vkStream, (VkComponentMapping*)(&forMarshaling->components)); |
| marshal_VkImageSubresourceRange(vkStream, (VkImageSubresourceRange*)(&forMarshaling->subresourceRange)); |
| } |
| |
| void unmarshal_VkImageViewCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkImageViewCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkImageViewCreateFlags*)&forUnmarshaling->flags, sizeof(VkImageViewCreateFlags)); |
| uint64_t cgen_var_51; |
| vkStream->read((uint64_t*)&cgen_var_51, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_51, (VkImage*)&forUnmarshaling->image, 1); |
| vkStream->read((VkImageViewType*)&forUnmarshaling->viewType, sizeof(VkImageViewType)); |
| vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat)); |
| unmarshal_VkComponentMapping(vkStream, (VkComponentMapping*)(&forUnmarshaling->components)); |
| unmarshal_VkImageSubresourceRange(vkStream, (VkImageSubresourceRange*)(&forUnmarshaling->subresourceRange)); |
| } |
| |
| void marshal_VkShaderModuleCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkShaderModuleCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkShaderModuleCreateFlags*)&forMarshaling->flags, sizeof(VkShaderModuleCreateFlags)); |
| uint64_t cgen_var_52 = (uint64_t)forMarshaling->codeSize; |
| vkStream->putBe64(cgen_var_52); |
| vkStream->write((const uint32_t*)forMarshaling->pCode, (forMarshaling->codeSize / 4) * sizeof(const uint32_t)); |
| } |
| |
| void unmarshal_VkShaderModuleCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkShaderModuleCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkShaderModuleCreateFlags*)&forUnmarshaling->flags, sizeof(VkShaderModuleCreateFlags)); |
| forUnmarshaling->codeSize = (size_t)vkStream->getBe64(); |
| vkStream->read((uint32_t*)forUnmarshaling->pCode, (forUnmarshaling->codeSize / 4) * sizeof(const uint32_t)); |
| } |
| |
| void marshal_VkPipelineCacheCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkPipelineCacheCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkPipelineCacheCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineCacheCreateFlags)); |
| uint64_t cgen_var_54 = (uint64_t)forMarshaling->initialDataSize; |
| vkStream->putBe64(cgen_var_54); |
| vkStream->write((const void*)forMarshaling->pInitialData, forMarshaling->initialDataSize * sizeof(const uint8_t)); |
| } |
| |
| void unmarshal_VkPipelineCacheCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkPipelineCacheCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkPipelineCacheCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineCacheCreateFlags)); |
| forUnmarshaling->initialDataSize = (size_t)vkStream->getBe64(); |
| vkStream->read((void*)forUnmarshaling->pInitialData, forUnmarshaling->initialDataSize * sizeof(const uint8_t)); |
| } |
| |
| void marshal_VkSpecializationMapEntry( |
| VulkanStreamGuest* vkStream, |
| const VkSpecializationMapEntry* forMarshaling) |
| { |
| vkStream->write((uint32_t*)&forMarshaling->constantID, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->offset, sizeof(uint32_t)); |
| uint64_t cgen_var_56 = (uint64_t)forMarshaling->size; |
| vkStream->putBe64(cgen_var_56); |
| } |
| |
| void unmarshal_VkSpecializationMapEntry( |
| VulkanStreamGuest* vkStream, |
| VkSpecializationMapEntry* forUnmarshaling) |
| { |
| vkStream->read((uint32_t*)&forUnmarshaling->constantID, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->offset, sizeof(uint32_t)); |
| forUnmarshaling->size = (size_t)vkStream->getBe64(); |
| } |
| |
| void marshal_VkSpecializationInfo( |
| VulkanStreamGuest* vkStream, |
| const VkSpecializationInfo* forMarshaling) |
| { |
| vkStream->write((uint32_t*)&forMarshaling->mapEntryCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->mapEntryCount; ++i) |
| { |
| marshal_VkSpecializationMapEntry(vkStream, (const VkSpecializationMapEntry*)(forMarshaling->pMapEntries + i)); |
| } |
| uint64_t cgen_var_58 = (uint64_t)forMarshaling->dataSize; |
| vkStream->putBe64(cgen_var_58); |
| vkStream->write((const void*)forMarshaling->pData, forMarshaling->dataSize * sizeof(const uint8_t)); |
| } |
| |
| void unmarshal_VkSpecializationInfo( |
| VulkanStreamGuest* vkStream, |
| VkSpecializationInfo* forUnmarshaling) |
| { |
| vkStream->read((uint32_t*)&forUnmarshaling->mapEntryCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->mapEntryCount; ++i) |
| { |
| unmarshal_VkSpecializationMapEntry(vkStream, (VkSpecializationMapEntry*)(forUnmarshaling->pMapEntries + i)); |
| } |
| forUnmarshaling->dataSize = (size_t)vkStream->getBe64(); |
| vkStream->read((void*)forUnmarshaling->pData, forUnmarshaling->dataSize * sizeof(const uint8_t)); |
| } |
| |
| void marshal_VkPipelineShaderStageCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkPipelineShaderStageCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkPipelineShaderStageCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineShaderStageCreateFlags)); |
| vkStream->write((VkShaderStageFlagBits*)&forMarshaling->stage, sizeof(VkShaderStageFlagBits)); |
| uint64_t cgen_var_60; |
| vkStream->handleMapping()->mapHandles_VkShaderModule_u64(&forMarshaling->module, &cgen_var_60, 1); |
| vkStream->write((uint64_t*)&cgen_var_60, 1 * 8); |
| vkStream->putString(forMarshaling->pName); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_61 = (uint64_t)(uintptr_t)forMarshaling->pSpecializationInfo; |
| vkStream->putBe64(cgen_var_61); |
| if (forMarshaling->pSpecializationInfo) |
| { |
| marshal_VkSpecializationInfo(vkStream, (const VkSpecializationInfo*)(forMarshaling->pSpecializationInfo)); |
| } |
| } |
| |
| void unmarshal_VkPipelineShaderStageCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkPipelineShaderStageCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkPipelineShaderStageCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineShaderStageCreateFlags)); |
| vkStream->read((VkShaderStageFlagBits*)&forUnmarshaling->stage, sizeof(VkShaderStageFlagBits)); |
| uint64_t cgen_var_62; |
| vkStream->read((uint64_t*)&cgen_var_62, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkShaderModule(&cgen_var_62, (VkShaderModule*)&forUnmarshaling->module, 1); |
| vkStream->loadStringInPlace((char**)&forUnmarshaling->pName); |
| // WARNING PTR CHECK |
| const VkSpecializationInfo* check_pSpecializationInfo; |
| check_pSpecializationInfo = (const VkSpecializationInfo*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pSpecializationInfo) |
| { |
| if (!(check_pSpecializationInfo)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pSpecializationInfo inconsistent between guest and host\n"); |
| } |
| unmarshal_VkSpecializationInfo(vkStream, (VkSpecializationInfo*)(forUnmarshaling->pSpecializationInfo)); |
| } |
| } |
| |
| void marshal_VkVertexInputBindingDescription( |
| VulkanStreamGuest* vkStream, |
| const VkVertexInputBindingDescription* forMarshaling) |
| { |
| vkStream->write((uint32_t*)&forMarshaling->binding, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->stride, sizeof(uint32_t)); |
| vkStream->write((VkVertexInputRate*)&forMarshaling->inputRate, sizeof(VkVertexInputRate)); |
| } |
| |
| void unmarshal_VkVertexInputBindingDescription( |
| VulkanStreamGuest* vkStream, |
| VkVertexInputBindingDescription* forUnmarshaling) |
| { |
| vkStream->read((uint32_t*)&forUnmarshaling->binding, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->stride, sizeof(uint32_t)); |
| vkStream->read((VkVertexInputRate*)&forUnmarshaling->inputRate, sizeof(VkVertexInputRate)); |
| } |
| |
| void marshal_VkVertexInputAttributeDescription( |
| VulkanStreamGuest* vkStream, |
| const VkVertexInputAttributeDescription* forMarshaling) |
| { |
| vkStream->write((uint32_t*)&forMarshaling->location, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->binding, sizeof(uint32_t)); |
| vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat)); |
| vkStream->write((uint32_t*)&forMarshaling->offset, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkVertexInputAttributeDescription( |
| VulkanStreamGuest* vkStream, |
| VkVertexInputAttributeDescription* forUnmarshaling) |
| { |
| vkStream->read((uint32_t*)&forUnmarshaling->location, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->binding, sizeof(uint32_t)); |
| vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat)); |
| vkStream->read((uint32_t*)&forUnmarshaling->offset, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkPipelineVertexInputStateCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkPipelineVertexInputStateCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkPipelineVertexInputStateCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineVertexInputStateCreateFlags)); |
| vkStream->write((uint32_t*)&forMarshaling->vertexBindingDescriptionCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->vertexBindingDescriptionCount; ++i) |
| { |
| marshal_VkVertexInputBindingDescription(vkStream, (const VkVertexInputBindingDescription*)(forMarshaling->pVertexBindingDescriptions + i)); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->vertexAttributeDescriptionCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->vertexAttributeDescriptionCount; ++i) |
| { |
| marshal_VkVertexInputAttributeDescription(vkStream, (const VkVertexInputAttributeDescription*)(forMarshaling->pVertexAttributeDescriptions + i)); |
| } |
| } |
| |
| void unmarshal_VkPipelineVertexInputStateCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkPipelineVertexInputStateCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkPipelineVertexInputStateCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineVertexInputStateCreateFlags)); |
| vkStream->read((uint32_t*)&forUnmarshaling->vertexBindingDescriptionCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->vertexBindingDescriptionCount; ++i) |
| { |
| unmarshal_VkVertexInputBindingDescription(vkStream, (VkVertexInputBindingDescription*)(forUnmarshaling->pVertexBindingDescriptions + i)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->vertexAttributeDescriptionCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->vertexAttributeDescriptionCount; ++i) |
| { |
| unmarshal_VkVertexInputAttributeDescription(vkStream, (VkVertexInputAttributeDescription*)(forUnmarshaling->pVertexAttributeDescriptions + i)); |
| } |
| } |
| |
| void marshal_VkPipelineInputAssemblyStateCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkPipelineInputAssemblyStateCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkPipelineInputAssemblyStateCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineInputAssemblyStateCreateFlags)); |
| vkStream->write((VkPrimitiveTopology*)&forMarshaling->topology, sizeof(VkPrimitiveTopology)); |
| vkStream->write((VkBool32*)&forMarshaling->primitiveRestartEnable, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkPipelineInputAssemblyStateCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkPipelineInputAssemblyStateCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkPipelineInputAssemblyStateCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineInputAssemblyStateCreateFlags)); |
| vkStream->read((VkPrimitiveTopology*)&forUnmarshaling->topology, sizeof(VkPrimitiveTopology)); |
| vkStream->read((VkBool32*)&forUnmarshaling->primitiveRestartEnable, sizeof(VkBool32)); |
| } |
| |
| void marshal_VkPipelineTessellationStateCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkPipelineTessellationStateCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkPipelineTessellationStateCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineTessellationStateCreateFlags)); |
| vkStream->write((uint32_t*)&forMarshaling->patchControlPoints, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkPipelineTessellationStateCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkPipelineTessellationStateCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkPipelineTessellationStateCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineTessellationStateCreateFlags)); |
| vkStream->read((uint32_t*)&forUnmarshaling->patchControlPoints, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkViewport( |
| VulkanStreamGuest* vkStream, |
| const VkViewport* forMarshaling) |
| { |
| vkStream->write((float*)&forMarshaling->x, sizeof(float)); |
| vkStream->write((float*)&forMarshaling->y, sizeof(float)); |
| vkStream->write((float*)&forMarshaling->width, sizeof(float)); |
| vkStream->write((float*)&forMarshaling->height, sizeof(float)); |
| vkStream->write((float*)&forMarshaling->minDepth, sizeof(float)); |
| vkStream->write((float*)&forMarshaling->maxDepth, sizeof(float)); |
| } |
| |
| void unmarshal_VkViewport( |
| VulkanStreamGuest* vkStream, |
| VkViewport* forUnmarshaling) |
| { |
| vkStream->read((float*)&forUnmarshaling->x, sizeof(float)); |
| vkStream->read((float*)&forUnmarshaling->y, sizeof(float)); |
| vkStream->read((float*)&forUnmarshaling->width, sizeof(float)); |
| vkStream->read((float*)&forUnmarshaling->height, sizeof(float)); |
| vkStream->read((float*)&forUnmarshaling->minDepth, sizeof(float)); |
| vkStream->read((float*)&forUnmarshaling->maxDepth, sizeof(float)); |
| } |
| |
| void marshal_VkOffset2D( |
| VulkanStreamGuest* vkStream, |
| const VkOffset2D* forMarshaling) |
| { |
| vkStream->write((int32_t*)&forMarshaling->x, sizeof(int32_t)); |
| vkStream->write((int32_t*)&forMarshaling->y, sizeof(int32_t)); |
| } |
| |
| void unmarshal_VkOffset2D( |
| VulkanStreamGuest* vkStream, |
| VkOffset2D* forUnmarshaling) |
| { |
| vkStream->read((int32_t*)&forUnmarshaling->x, sizeof(int32_t)); |
| vkStream->read((int32_t*)&forUnmarshaling->y, sizeof(int32_t)); |
| } |
| |
| void marshal_VkExtent2D( |
| VulkanStreamGuest* vkStream, |
| const VkExtent2D* forMarshaling) |
| { |
| vkStream->write((uint32_t*)&forMarshaling->width, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->height, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkExtent2D( |
| VulkanStreamGuest* vkStream, |
| VkExtent2D* forUnmarshaling) |
| { |
| vkStream->read((uint32_t*)&forUnmarshaling->width, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->height, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkRect2D( |
| VulkanStreamGuest* vkStream, |
| const VkRect2D* forMarshaling) |
| { |
| marshal_VkOffset2D(vkStream, (VkOffset2D*)(&forMarshaling->offset)); |
| marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->extent)); |
| } |
| |
| void unmarshal_VkRect2D( |
| VulkanStreamGuest* vkStream, |
| VkRect2D* forUnmarshaling) |
| { |
| unmarshal_VkOffset2D(vkStream, (VkOffset2D*)(&forUnmarshaling->offset)); |
| unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->extent)); |
| } |
| |
| void marshal_VkPipelineViewportStateCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkPipelineViewportStateCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkPipelineViewportStateCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineViewportStateCreateFlags)); |
| vkStream->write((uint32_t*)&forMarshaling->viewportCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_64 = (uint64_t)(uintptr_t)forMarshaling->pViewports; |
| vkStream->putBe64(cgen_var_64); |
| if (forMarshaling->pViewports) |
| { |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->viewportCount; ++i) |
| { |
| marshal_VkViewport(vkStream, (const VkViewport*)(forMarshaling->pViewports + i)); |
| } |
| } |
| vkStream->write((uint32_t*)&forMarshaling->scissorCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_65 = (uint64_t)(uintptr_t)forMarshaling->pScissors; |
| vkStream->putBe64(cgen_var_65); |
| if (forMarshaling->pScissors) |
| { |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->scissorCount; ++i) |
| { |
| marshal_VkRect2D(vkStream, (const VkRect2D*)(forMarshaling->pScissors + i)); |
| } |
| } |
| } |
| |
| void unmarshal_VkPipelineViewportStateCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkPipelineViewportStateCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkPipelineViewportStateCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineViewportStateCreateFlags)); |
| vkStream->read((uint32_t*)&forUnmarshaling->viewportCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| const VkViewport* check_pViewports; |
| check_pViewports = (const VkViewport*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pViewports) |
| { |
| if (!(check_pViewports)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pViewports inconsistent between guest and host\n"); |
| } |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->viewportCount; ++i) |
| { |
| unmarshal_VkViewport(vkStream, (VkViewport*)(forUnmarshaling->pViewports + i)); |
| } |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->scissorCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| const VkRect2D* check_pScissors; |
| check_pScissors = (const VkRect2D*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pScissors) |
| { |
| if (!(check_pScissors)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pScissors inconsistent between guest and host\n"); |
| } |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->scissorCount; ++i) |
| { |
| unmarshal_VkRect2D(vkStream, (VkRect2D*)(forUnmarshaling->pScissors + i)); |
| } |
| } |
| } |
| |
| void marshal_VkPipelineRasterizationStateCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkPipelineRasterizationStateCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkPipelineRasterizationStateCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineRasterizationStateCreateFlags)); |
| vkStream->write((VkBool32*)&forMarshaling->depthClampEnable, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->rasterizerDiscardEnable, sizeof(VkBool32)); |
| vkStream->write((VkPolygonMode*)&forMarshaling->polygonMode, sizeof(VkPolygonMode)); |
| vkStream->write((VkCullModeFlags*)&forMarshaling->cullMode, sizeof(VkCullModeFlags)); |
| vkStream->write((VkFrontFace*)&forMarshaling->frontFace, sizeof(VkFrontFace)); |
| vkStream->write((VkBool32*)&forMarshaling->depthBiasEnable, sizeof(VkBool32)); |
| vkStream->write((float*)&forMarshaling->depthBiasConstantFactor, sizeof(float)); |
| vkStream->write((float*)&forMarshaling->depthBiasClamp, sizeof(float)); |
| vkStream->write((float*)&forMarshaling->depthBiasSlopeFactor, sizeof(float)); |
| vkStream->write((float*)&forMarshaling->lineWidth, sizeof(float)); |
| } |
| |
| void unmarshal_VkPipelineRasterizationStateCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkPipelineRasterizationStateCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkPipelineRasterizationStateCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineRasterizationStateCreateFlags)); |
| vkStream->read((VkBool32*)&forUnmarshaling->depthClampEnable, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->rasterizerDiscardEnable, sizeof(VkBool32)); |
| vkStream->read((VkPolygonMode*)&forUnmarshaling->polygonMode, sizeof(VkPolygonMode)); |
| vkStream->read((VkCullModeFlags*)&forUnmarshaling->cullMode, sizeof(VkCullModeFlags)); |
| vkStream->read((VkFrontFace*)&forUnmarshaling->frontFace, sizeof(VkFrontFace)); |
| vkStream->read((VkBool32*)&forUnmarshaling->depthBiasEnable, sizeof(VkBool32)); |
| vkStream->read((float*)&forUnmarshaling->depthBiasConstantFactor, sizeof(float)); |
| vkStream->read((float*)&forUnmarshaling->depthBiasClamp, sizeof(float)); |
| vkStream->read((float*)&forUnmarshaling->depthBiasSlopeFactor, sizeof(float)); |
| vkStream->read((float*)&forUnmarshaling->lineWidth, sizeof(float)); |
| } |
| |
| void marshal_VkPipelineMultisampleStateCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkPipelineMultisampleStateCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkPipelineMultisampleStateCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineMultisampleStateCreateFlags)); |
| vkStream->write((VkSampleCountFlagBits*)&forMarshaling->rasterizationSamples, sizeof(VkSampleCountFlagBits)); |
| vkStream->write((VkBool32*)&forMarshaling->sampleShadingEnable, sizeof(VkBool32)); |
| vkStream->write((float*)&forMarshaling->minSampleShading, sizeof(float)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_68 = (uint64_t)(uintptr_t)forMarshaling->pSampleMask; |
| vkStream->putBe64(cgen_var_68); |
| if (forMarshaling->pSampleMask) |
| { |
| vkStream->write((const VkSampleMask*)forMarshaling->pSampleMask, (((forMarshaling->rasterizationSamples) + 31) / 32) * sizeof(const VkSampleMask)); |
| } |
| vkStream->write((VkBool32*)&forMarshaling->alphaToCoverageEnable, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->alphaToOneEnable, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkPipelineMultisampleStateCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkPipelineMultisampleStateCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkPipelineMultisampleStateCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineMultisampleStateCreateFlags)); |
| vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->rasterizationSamples, sizeof(VkSampleCountFlagBits)); |
| vkStream->read((VkBool32*)&forUnmarshaling->sampleShadingEnable, sizeof(VkBool32)); |
| vkStream->read((float*)&forUnmarshaling->minSampleShading, sizeof(float)); |
| // WARNING PTR CHECK |
| const VkSampleMask* check_pSampleMask; |
| check_pSampleMask = (const VkSampleMask*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pSampleMask) |
| { |
| if (!(check_pSampleMask)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pSampleMask inconsistent between guest and host\n"); |
| } |
| vkStream->read((VkSampleMask*)forUnmarshaling->pSampleMask, (((forUnmarshaling->rasterizationSamples) + 31) / 32) * sizeof(const VkSampleMask)); |
| } |
| vkStream->read((VkBool32*)&forUnmarshaling->alphaToCoverageEnable, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->alphaToOneEnable, sizeof(VkBool32)); |
| } |
| |
| void marshal_VkStencilOpState( |
| VulkanStreamGuest* vkStream, |
| const VkStencilOpState* forMarshaling) |
| { |
| vkStream->write((VkStencilOp*)&forMarshaling->failOp, sizeof(VkStencilOp)); |
| vkStream->write((VkStencilOp*)&forMarshaling->passOp, sizeof(VkStencilOp)); |
| vkStream->write((VkStencilOp*)&forMarshaling->depthFailOp, sizeof(VkStencilOp)); |
| vkStream->write((VkCompareOp*)&forMarshaling->compareOp, sizeof(VkCompareOp)); |
| vkStream->write((uint32_t*)&forMarshaling->compareMask, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->writeMask, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->reference, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkStencilOpState( |
| VulkanStreamGuest* vkStream, |
| VkStencilOpState* forUnmarshaling) |
| { |
| vkStream->read((VkStencilOp*)&forUnmarshaling->failOp, sizeof(VkStencilOp)); |
| vkStream->read((VkStencilOp*)&forUnmarshaling->passOp, sizeof(VkStencilOp)); |
| vkStream->read((VkStencilOp*)&forUnmarshaling->depthFailOp, sizeof(VkStencilOp)); |
| vkStream->read((VkCompareOp*)&forUnmarshaling->compareOp, sizeof(VkCompareOp)); |
| vkStream->read((uint32_t*)&forUnmarshaling->compareMask, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->writeMask, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->reference, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkPipelineDepthStencilStateCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkPipelineDepthStencilStateCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkPipelineDepthStencilStateCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineDepthStencilStateCreateFlags)); |
| vkStream->write((VkBool32*)&forMarshaling->depthTestEnable, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->depthWriteEnable, sizeof(VkBool32)); |
| vkStream->write((VkCompareOp*)&forMarshaling->depthCompareOp, sizeof(VkCompareOp)); |
| vkStream->write((VkBool32*)&forMarshaling->depthBoundsTestEnable, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->stencilTestEnable, sizeof(VkBool32)); |
| marshal_VkStencilOpState(vkStream, (VkStencilOpState*)(&forMarshaling->front)); |
| marshal_VkStencilOpState(vkStream, (VkStencilOpState*)(&forMarshaling->back)); |
| vkStream->write((float*)&forMarshaling->minDepthBounds, sizeof(float)); |
| vkStream->write((float*)&forMarshaling->maxDepthBounds, sizeof(float)); |
| } |
| |
| void unmarshal_VkPipelineDepthStencilStateCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkPipelineDepthStencilStateCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkPipelineDepthStencilStateCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineDepthStencilStateCreateFlags)); |
| vkStream->read((VkBool32*)&forUnmarshaling->depthTestEnable, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->depthWriteEnable, sizeof(VkBool32)); |
| vkStream->read((VkCompareOp*)&forUnmarshaling->depthCompareOp, sizeof(VkCompareOp)); |
| vkStream->read((VkBool32*)&forUnmarshaling->depthBoundsTestEnable, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->stencilTestEnable, sizeof(VkBool32)); |
| unmarshal_VkStencilOpState(vkStream, (VkStencilOpState*)(&forUnmarshaling->front)); |
| unmarshal_VkStencilOpState(vkStream, (VkStencilOpState*)(&forUnmarshaling->back)); |
| vkStream->read((float*)&forUnmarshaling->minDepthBounds, sizeof(float)); |
| vkStream->read((float*)&forUnmarshaling->maxDepthBounds, sizeof(float)); |
| } |
| |
| void marshal_VkPipelineColorBlendAttachmentState( |
| VulkanStreamGuest* vkStream, |
| const VkPipelineColorBlendAttachmentState* forMarshaling) |
| { |
| vkStream->write((VkBool32*)&forMarshaling->blendEnable, sizeof(VkBool32)); |
| vkStream->write((VkBlendFactor*)&forMarshaling->srcColorBlendFactor, sizeof(VkBlendFactor)); |
| vkStream->write((VkBlendFactor*)&forMarshaling->dstColorBlendFactor, sizeof(VkBlendFactor)); |
| vkStream->write((VkBlendOp*)&forMarshaling->colorBlendOp, sizeof(VkBlendOp)); |
| vkStream->write((VkBlendFactor*)&forMarshaling->srcAlphaBlendFactor, sizeof(VkBlendFactor)); |
| vkStream->write((VkBlendFactor*)&forMarshaling->dstAlphaBlendFactor, sizeof(VkBlendFactor)); |
| vkStream->write((VkBlendOp*)&forMarshaling->alphaBlendOp, sizeof(VkBlendOp)); |
| vkStream->write((VkColorComponentFlags*)&forMarshaling->colorWriteMask, sizeof(VkColorComponentFlags)); |
| } |
| |
| void unmarshal_VkPipelineColorBlendAttachmentState( |
| VulkanStreamGuest* vkStream, |
| VkPipelineColorBlendAttachmentState* forUnmarshaling) |
| { |
| vkStream->read((VkBool32*)&forUnmarshaling->blendEnable, sizeof(VkBool32)); |
| vkStream->read((VkBlendFactor*)&forUnmarshaling->srcColorBlendFactor, sizeof(VkBlendFactor)); |
| vkStream->read((VkBlendFactor*)&forUnmarshaling->dstColorBlendFactor, sizeof(VkBlendFactor)); |
| vkStream->read((VkBlendOp*)&forUnmarshaling->colorBlendOp, sizeof(VkBlendOp)); |
| vkStream->read((VkBlendFactor*)&forUnmarshaling->srcAlphaBlendFactor, sizeof(VkBlendFactor)); |
| vkStream->read((VkBlendFactor*)&forUnmarshaling->dstAlphaBlendFactor, sizeof(VkBlendFactor)); |
| vkStream->read((VkBlendOp*)&forUnmarshaling->alphaBlendOp, sizeof(VkBlendOp)); |
| vkStream->read((VkColorComponentFlags*)&forUnmarshaling->colorWriteMask, sizeof(VkColorComponentFlags)); |
| } |
| |
| void marshal_VkPipelineColorBlendStateCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkPipelineColorBlendStateCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkPipelineColorBlendStateCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineColorBlendStateCreateFlags)); |
| vkStream->write((VkBool32*)&forMarshaling->logicOpEnable, sizeof(VkBool32)); |
| vkStream->write((VkLogicOp*)&forMarshaling->logicOp, sizeof(VkLogicOp)); |
| vkStream->write((uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->attachmentCount; ++i) |
| { |
| marshal_VkPipelineColorBlendAttachmentState(vkStream, (const VkPipelineColorBlendAttachmentState*)(forMarshaling->pAttachments + i)); |
| } |
| vkStream->write((float*)forMarshaling->blendConstants, 4 * sizeof(float)); |
| } |
| |
| void unmarshal_VkPipelineColorBlendStateCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkPipelineColorBlendStateCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkPipelineColorBlendStateCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineColorBlendStateCreateFlags)); |
| vkStream->read((VkBool32*)&forUnmarshaling->logicOpEnable, sizeof(VkBool32)); |
| vkStream->read((VkLogicOp*)&forUnmarshaling->logicOp, sizeof(VkLogicOp)); |
| vkStream->read((uint32_t*)&forUnmarshaling->attachmentCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->attachmentCount; ++i) |
| { |
| unmarshal_VkPipelineColorBlendAttachmentState(vkStream, (VkPipelineColorBlendAttachmentState*)(forUnmarshaling->pAttachments + i)); |
| } |
| vkStream->read((float*)forUnmarshaling->blendConstants, 4 * sizeof(float)); |
| } |
| |
| void marshal_VkPipelineDynamicStateCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkPipelineDynamicStateCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkPipelineDynamicStateCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineDynamicStateCreateFlags)); |
| vkStream->write((uint32_t*)&forMarshaling->dynamicStateCount, sizeof(uint32_t)); |
| vkStream->write((const VkDynamicState*)forMarshaling->pDynamicStates, forMarshaling->dynamicStateCount * sizeof(const VkDynamicState)); |
| } |
| |
| void unmarshal_VkPipelineDynamicStateCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkPipelineDynamicStateCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkPipelineDynamicStateCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineDynamicStateCreateFlags)); |
| vkStream->read((uint32_t*)&forUnmarshaling->dynamicStateCount, sizeof(uint32_t)); |
| vkStream->read((VkDynamicState*)forUnmarshaling->pDynamicStates, forUnmarshaling->dynamicStateCount * sizeof(const VkDynamicState)); |
| } |
| |
| void marshal_VkGraphicsPipelineCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkGraphicsPipelineCreateInfo* forMarshaling) |
| { |
| uint32_t hasRasterization = 1; |
| if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) |
| { |
| hasRasterization = (((0 == forMarshaling->pRasterizationState)) ? (0) : (!((*(forMarshaling->pRasterizationState)).rasterizerDiscardEnable))); |
| uint32_t cgen_var_70 = (uint32_t)hasRasterization; |
| vkStream->putBe32(cgen_var_70); |
| } |
| uint32_t hasTessellation = 1; |
| if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) |
| { |
| hasTessellation = arrayany(forMarshaling->pStages, 0, forMarshaling->stageCount, [](VkPipelineShaderStageCreateInfo s) { return ((s.stage == VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT) || (s.stage == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT)); }); |
| uint32_t cgen_var_71 = (uint32_t)hasTessellation; |
| vkStream->putBe32(cgen_var_71); |
| } |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkPipelineCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineCreateFlags)); |
| vkStream->write((uint32_t*)&forMarshaling->stageCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->stageCount; ++i) |
| { |
| marshal_VkPipelineShaderStageCreateInfo(vkStream, (const VkPipelineShaderStageCreateInfo*)(forMarshaling->pStages + i)); |
| } |
| // WARNING PTR CHECK |
| if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) |
| { |
| uint64_t cgen_var_72 = (uint64_t)(uintptr_t)forMarshaling->pVertexInputState; |
| vkStream->putBe64(cgen_var_72); |
| } |
| if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || forMarshaling->pVertexInputState)) |
| { |
| marshal_VkPipelineVertexInputStateCreateInfo(vkStream, (const VkPipelineVertexInputStateCreateInfo*)(forMarshaling->pVertexInputState)); |
| } |
| // WARNING PTR CHECK |
| if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) |
| { |
| uint64_t cgen_var_73 = (uint64_t)(uintptr_t)forMarshaling->pInputAssemblyState; |
| vkStream->putBe64(cgen_var_73); |
| } |
| if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || forMarshaling->pInputAssemblyState)) |
| { |
| marshal_VkPipelineInputAssemblyStateCreateInfo(vkStream, (const VkPipelineInputAssemblyStateCreateInfo*)(forMarshaling->pInputAssemblyState)); |
| } |
| // WARNING PTR CHECK |
| uint64_t cgen_var_74 = (uint64_t)(uintptr_t)forMarshaling->pTessellationState; |
| vkStream->putBe64(cgen_var_74); |
| if (forMarshaling->pTessellationState) |
| { |
| if (hasTessellation) |
| { |
| marshal_VkPipelineTessellationStateCreateInfo(vkStream, (const VkPipelineTessellationStateCreateInfo*)(forMarshaling->pTessellationState)); |
| } |
| } |
| // WARNING PTR CHECK |
| uint64_t cgen_var_75 = (uint64_t)(uintptr_t)forMarshaling->pViewportState; |
| vkStream->putBe64(cgen_var_75); |
| if (forMarshaling->pViewportState) |
| { |
| if (hasRasterization) |
| { |
| marshal_VkPipelineViewportStateCreateInfo(vkStream, (const VkPipelineViewportStateCreateInfo*)(forMarshaling->pViewportState)); |
| } |
| } |
| // WARNING PTR CHECK |
| if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) |
| { |
| uint64_t cgen_var_76 = (uint64_t)(uintptr_t)forMarshaling->pRasterizationState; |
| vkStream->putBe64(cgen_var_76); |
| } |
| if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || forMarshaling->pRasterizationState)) |
| { |
| marshal_VkPipelineRasterizationStateCreateInfo(vkStream, (const VkPipelineRasterizationStateCreateInfo*)(forMarshaling->pRasterizationState)); |
| } |
| // WARNING PTR CHECK |
| uint64_t cgen_var_77 = (uint64_t)(uintptr_t)forMarshaling->pMultisampleState; |
| vkStream->putBe64(cgen_var_77); |
| if (forMarshaling->pMultisampleState) |
| { |
| if (hasRasterization) |
| { |
| marshal_VkPipelineMultisampleStateCreateInfo(vkStream, (const VkPipelineMultisampleStateCreateInfo*)(forMarshaling->pMultisampleState)); |
| } |
| } |
| // WARNING PTR CHECK |
| uint64_t cgen_var_78 = (uint64_t)(uintptr_t)forMarshaling->pDepthStencilState; |
| vkStream->putBe64(cgen_var_78); |
| if (forMarshaling->pDepthStencilState) |
| { |
| if (hasRasterization) |
| { |
| marshal_VkPipelineDepthStencilStateCreateInfo(vkStream, (const VkPipelineDepthStencilStateCreateInfo*)(forMarshaling->pDepthStencilState)); |
| } |
| } |
| // WARNING PTR CHECK |
| uint64_t cgen_var_79 = (uint64_t)(uintptr_t)forMarshaling->pColorBlendState; |
| vkStream->putBe64(cgen_var_79); |
| if (forMarshaling->pColorBlendState) |
| { |
| if (hasRasterization) |
| { |
| marshal_VkPipelineColorBlendStateCreateInfo(vkStream, (const VkPipelineColorBlendStateCreateInfo*)(forMarshaling->pColorBlendState)); |
| } |
| } |
| // WARNING PTR CHECK |
| uint64_t cgen_var_80 = (uint64_t)(uintptr_t)forMarshaling->pDynamicState; |
| vkStream->putBe64(cgen_var_80); |
| if (forMarshaling->pDynamicState) |
| { |
| marshal_VkPipelineDynamicStateCreateInfo(vkStream, (const VkPipelineDynamicStateCreateInfo*)(forMarshaling->pDynamicState)); |
| } |
| uint64_t cgen_var_81; |
| vkStream->handleMapping()->mapHandles_VkPipelineLayout_u64(&forMarshaling->layout, &cgen_var_81, 1); |
| vkStream->write((uint64_t*)&cgen_var_81, 1 * 8); |
| uint64_t cgen_var_82; |
| vkStream->handleMapping()->mapHandles_VkRenderPass_u64(&forMarshaling->renderPass, &cgen_var_82, 1); |
| vkStream->write((uint64_t*)&cgen_var_82, 1 * 8); |
| vkStream->write((uint32_t*)&forMarshaling->subpass, sizeof(uint32_t)); |
| uint64_t cgen_var_83; |
| vkStream->handleMapping()->mapHandles_VkPipeline_u64(&forMarshaling->basePipelineHandle, &cgen_var_83, 1); |
| vkStream->write((uint64_t*)&cgen_var_83, 1 * 8); |
| vkStream->write((int32_t*)&forMarshaling->basePipelineIndex, sizeof(int32_t)); |
| } |
| |
| void unmarshal_VkGraphicsPipelineCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkGraphicsPipelineCreateInfo* forUnmarshaling) |
| { |
| uint32_t hasRasterization = 1; |
| if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) |
| { |
| hasRasterization = (const uint32_t)vkStream->getBe32(); |
| } |
| uint32_t hasTessellation = 1; |
| if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) |
| { |
| hasTessellation = (const uint32_t)vkStream->getBe32(); |
| } |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkPipelineCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineCreateFlags)); |
| vkStream->read((uint32_t*)&forUnmarshaling->stageCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->stageCount; ++i) |
| { |
| unmarshal_VkPipelineShaderStageCreateInfo(vkStream, (VkPipelineShaderStageCreateInfo*)(forUnmarshaling->pStages + i)); |
| } |
| // WARNING PTR CHECK |
| const VkPipelineVertexInputStateCreateInfo* check_pVertexInputState; |
| if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) |
| { |
| check_pVertexInputState = (const VkPipelineVertexInputStateCreateInfo*)(uintptr_t)vkStream->getBe64(); |
| } |
| if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || forUnmarshaling->pVertexInputState)) |
| { |
| unmarshal_VkPipelineVertexInputStateCreateInfo(vkStream, (VkPipelineVertexInputStateCreateInfo*)(forUnmarshaling->pVertexInputState)); |
| } |
| // WARNING PTR CHECK |
| const VkPipelineInputAssemblyStateCreateInfo* check_pInputAssemblyState; |
| if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) |
| { |
| check_pInputAssemblyState = (const VkPipelineInputAssemblyStateCreateInfo*)(uintptr_t)vkStream->getBe64(); |
| } |
| if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || forUnmarshaling->pInputAssemblyState)) |
| { |
| unmarshal_VkPipelineInputAssemblyStateCreateInfo(vkStream, (VkPipelineInputAssemblyStateCreateInfo*)(forUnmarshaling->pInputAssemblyState)); |
| } |
| // WARNING PTR CHECK |
| const VkPipelineTessellationStateCreateInfo* check_pTessellationState; |
| check_pTessellationState = (const VkPipelineTessellationStateCreateInfo*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pTessellationState) |
| { |
| if (!(check_pTessellationState)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pTessellationState inconsistent between guest and host\n"); |
| } |
| if (hasTessellation) |
| { |
| unmarshal_VkPipelineTessellationStateCreateInfo(vkStream, (VkPipelineTessellationStateCreateInfo*)(forUnmarshaling->pTessellationState)); |
| } |
| else |
| { |
| forUnmarshaling->pTessellationState = 0; |
| } |
| } |
| // WARNING PTR CHECK |
| const VkPipelineViewportStateCreateInfo* check_pViewportState; |
| check_pViewportState = (const VkPipelineViewportStateCreateInfo*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pViewportState) |
| { |
| if (!(check_pViewportState)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pViewportState inconsistent between guest and host\n"); |
| } |
| if (hasRasterization) |
| { |
| unmarshal_VkPipelineViewportStateCreateInfo(vkStream, (VkPipelineViewportStateCreateInfo*)(forUnmarshaling->pViewportState)); |
| } |
| else |
| { |
| forUnmarshaling->pViewportState = 0; |
| } |
| } |
| // WARNING PTR CHECK |
| const VkPipelineRasterizationStateCreateInfo* check_pRasterizationState; |
| if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) |
| { |
| check_pRasterizationState = (const VkPipelineRasterizationStateCreateInfo*)(uintptr_t)vkStream->getBe64(); |
| } |
| if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || forUnmarshaling->pRasterizationState)) |
| { |
| unmarshal_VkPipelineRasterizationStateCreateInfo(vkStream, (VkPipelineRasterizationStateCreateInfo*)(forUnmarshaling->pRasterizationState)); |
| } |
| // WARNING PTR CHECK |
| const VkPipelineMultisampleStateCreateInfo* check_pMultisampleState; |
| check_pMultisampleState = (const VkPipelineMultisampleStateCreateInfo*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pMultisampleState) |
| { |
| if (!(check_pMultisampleState)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pMultisampleState inconsistent between guest and host\n"); |
| } |
| if (hasRasterization) |
| { |
| unmarshal_VkPipelineMultisampleStateCreateInfo(vkStream, (VkPipelineMultisampleStateCreateInfo*)(forUnmarshaling->pMultisampleState)); |
| } |
| else |
| { |
| forUnmarshaling->pMultisampleState = 0; |
| } |
| } |
| // WARNING PTR CHECK |
| const VkPipelineDepthStencilStateCreateInfo* check_pDepthStencilState; |
| check_pDepthStencilState = (const VkPipelineDepthStencilStateCreateInfo*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pDepthStencilState) |
| { |
| if (!(check_pDepthStencilState)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pDepthStencilState inconsistent between guest and host\n"); |
| } |
| if (hasRasterization) |
| { |
| unmarshal_VkPipelineDepthStencilStateCreateInfo(vkStream, (VkPipelineDepthStencilStateCreateInfo*)(forUnmarshaling->pDepthStencilState)); |
| } |
| else |
| { |
| forUnmarshaling->pDepthStencilState = 0; |
| } |
| } |
| // WARNING PTR CHECK |
| const VkPipelineColorBlendStateCreateInfo* check_pColorBlendState; |
| check_pColorBlendState = (const VkPipelineColorBlendStateCreateInfo*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pColorBlendState) |
| { |
| if (!(check_pColorBlendState)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pColorBlendState inconsistent between guest and host\n"); |
| } |
| if (hasRasterization) |
| { |
| unmarshal_VkPipelineColorBlendStateCreateInfo(vkStream, (VkPipelineColorBlendStateCreateInfo*)(forUnmarshaling->pColorBlendState)); |
| } |
| else |
| { |
| forUnmarshaling->pColorBlendState = 0; |
| } |
| } |
| // WARNING PTR CHECK |
| const VkPipelineDynamicStateCreateInfo* check_pDynamicState; |
| check_pDynamicState = (const VkPipelineDynamicStateCreateInfo*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pDynamicState) |
| { |
| if (!(check_pDynamicState)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pDynamicState inconsistent between guest and host\n"); |
| } |
| unmarshal_VkPipelineDynamicStateCreateInfo(vkStream, (VkPipelineDynamicStateCreateInfo*)(forUnmarshaling->pDynamicState)); |
| } |
| uint64_t cgen_var_95; |
| vkStream->read((uint64_t*)&cgen_var_95, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkPipelineLayout(&cgen_var_95, (VkPipelineLayout*)&forUnmarshaling->layout, 1); |
| uint64_t cgen_var_96; |
| vkStream->read((uint64_t*)&cgen_var_96, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkRenderPass(&cgen_var_96, (VkRenderPass*)&forUnmarshaling->renderPass, 1); |
| vkStream->read((uint32_t*)&forUnmarshaling->subpass, sizeof(uint32_t)); |
| uint64_t cgen_var_97; |
| vkStream->read((uint64_t*)&cgen_var_97, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkPipeline(&cgen_var_97, (VkPipeline*)&forUnmarshaling->basePipelineHandle, 1); |
| vkStream->read((int32_t*)&forUnmarshaling->basePipelineIndex, sizeof(int32_t)); |
| } |
| |
| void marshal_VkComputePipelineCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkComputePipelineCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkPipelineCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineCreateFlags)); |
| marshal_VkPipelineShaderStageCreateInfo(vkStream, (VkPipelineShaderStageCreateInfo*)(&forMarshaling->stage)); |
| uint64_t cgen_var_98; |
| vkStream->handleMapping()->mapHandles_VkPipelineLayout_u64(&forMarshaling->layout, &cgen_var_98, 1); |
| vkStream->write((uint64_t*)&cgen_var_98, 1 * 8); |
| uint64_t cgen_var_99; |
| vkStream->handleMapping()->mapHandles_VkPipeline_u64(&forMarshaling->basePipelineHandle, &cgen_var_99, 1); |
| vkStream->write((uint64_t*)&cgen_var_99, 1 * 8); |
| vkStream->write((int32_t*)&forMarshaling->basePipelineIndex, sizeof(int32_t)); |
| } |
| |
| void unmarshal_VkComputePipelineCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkComputePipelineCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkPipelineCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineCreateFlags)); |
| unmarshal_VkPipelineShaderStageCreateInfo(vkStream, (VkPipelineShaderStageCreateInfo*)(&forUnmarshaling->stage)); |
| uint64_t cgen_var_100; |
| vkStream->read((uint64_t*)&cgen_var_100, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkPipelineLayout(&cgen_var_100, (VkPipelineLayout*)&forUnmarshaling->layout, 1); |
| uint64_t cgen_var_101; |
| vkStream->read((uint64_t*)&cgen_var_101, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkPipeline(&cgen_var_101, (VkPipeline*)&forUnmarshaling->basePipelineHandle, 1); |
| vkStream->read((int32_t*)&forUnmarshaling->basePipelineIndex, sizeof(int32_t)); |
| } |
| |
| void marshal_VkPushConstantRange( |
| VulkanStreamGuest* vkStream, |
| const VkPushConstantRange* forMarshaling) |
| { |
| vkStream->write((VkShaderStageFlags*)&forMarshaling->stageFlags, sizeof(VkShaderStageFlags)); |
| vkStream->write((uint32_t*)&forMarshaling->offset, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->size, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkPushConstantRange( |
| VulkanStreamGuest* vkStream, |
| VkPushConstantRange* forUnmarshaling) |
| { |
| vkStream->read((VkShaderStageFlags*)&forUnmarshaling->stageFlags, sizeof(VkShaderStageFlags)); |
| vkStream->read((uint32_t*)&forUnmarshaling->offset, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->size, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkPipelineLayoutCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkPipelineLayoutCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkPipelineLayoutCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineLayoutCreateFlags)); |
| vkStream->write((uint32_t*)&forMarshaling->setLayoutCount, sizeof(uint32_t)); |
| if (forMarshaling->setLayoutCount) |
| { |
| uint64_t* cgen_var_102; |
| vkStream->alloc((void**)&cgen_var_102, forMarshaling->setLayoutCount * 8); |
| vkStream->handleMapping()->mapHandles_VkDescriptorSetLayout_u64(forMarshaling->pSetLayouts, cgen_var_102, forMarshaling->setLayoutCount); |
| vkStream->write((uint64_t*)cgen_var_102, forMarshaling->setLayoutCount * 8); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->pushConstantRangeCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->pushConstantRangeCount; ++i) |
| { |
| marshal_VkPushConstantRange(vkStream, (const VkPushConstantRange*)(forMarshaling->pPushConstantRanges + i)); |
| } |
| } |
| |
| void unmarshal_VkPipelineLayoutCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkPipelineLayoutCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkPipelineLayoutCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineLayoutCreateFlags)); |
| vkStream->read((uint32_t*)&forUnmarshaling->setLayoutCount, sizeof(uint32_t)); |
| if (forUnmarshaling->setLayoutCount) |
| { |
| uint64_t* cgen_var_103; |
| vkStream->alloc((void**)&cgen_var_103, forUnmarshaling->setLayoutCount * 8); |
| vkStream->read((uint64_t*)cgen_var_103, forUnmarshaling->setLayoutCount * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkDescriptorSetLayout(cgen_var_103, (VkDescriptorSetLayout*)forUnmarshaling->pSetLayouts, forUnmarshaling->setLayoutCount); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->pushConstantRangeCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->pushConstantRangeCount; ++i) |
| { |
| unmarshal_VkPushConstantRange(vkStream, (VkPushConstantRange*)(forUnmarshaling->pPushConstantRanges + i)); |
| } |
| } |
| |
| void marshal_VkSamplerCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkSamplerCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkSamplerCreateFlags*)&forMarshaling->flags, sizeof(VkSamplerCreateFlags)); |
| vkStream->write((VkFilter*)&forMarshaling->magFilter, sizeof(VkFilter)); |
| vkStream->write((VkFilter*)&forMarshaling->minFilter, sizeof(VkFilter)); |
| vkStream->write((VkSamplerMipmapMode*)&forMarshaling->mipmapMode, sizeof(VkSamplerMipmapMode)); |
| vkStream->write((VkSamplerAddressMode*)&forMarshaling->addressModeU, sizeof(VkSamplerAddressMode)); |
| vkStream->write((VkSamplerAddressMode*)&forMarshaling->addressModeV, sizeof(VkSamplerAddressMode)); |
| vkStream->write((VkSamplerAddressMode*)&forMarshaling->addressModeW, sizeof(VkSamplerAddressMode)); |
| vkStream->write((float*)&forMarshaling->mipLodBias, sizeof(float)); |
| vkStream->write((VkBool32*)&forMarshaling->anisotropyEnable, sizeof(VkBool32)); |
| vkStream->write((float*)&forMarshaling->maxAnisotropy, sizeof(float)); |
| vkStream->write((VkBool32*)&forMarshaling->compareEnable, sizeof(VkBool32)); |
| vkStream->write((VkCompareOp*)&forMarshaling->compareOp, sizeof(VkCompareOp)); |
| vkStream->write((float*)&forMarshaling->minLod, sizeof(float)); |
| vkStream->write((float*)&forMarshaling->maxLod, sizeof(float)); |
| vkStream->write((VkBorderColor*)&forMarshaling->borderColor, sizeof(VkBorderColor)); |
| vkStream->write((VkBool32*)&forMarshaling->unnormalizedCoordinates, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkSamplerCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkSamplerCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkSamplerCreateFlags*)&forUnmarshaling->flags, sizeof(VkSamplerCreateFlags)); |
| vkStream->read((VkFilter*)&forUnmarshaling->magFilter, sizeof(VkFilter)); |
| vkStream->read((VkFilter*)&forUnmarshaling->minFilter, sizeof(VkFilter)); |
| vkStream->read((VkSamplerMipmapMode*)&forUnmarshaling->mipmapMode, sizeof(VkSamplerMipmapMode)); |
| vkStream->read((VkSamplerAddressMode*)&forUnmarshaling->addressModeU, sizeof(VkSamplerAddressMode)); |
| vkStream->read((VkSamplerAddressMode*)&forUnmarshaling->addressModeV, sizeof(VkSamplerAddressMode)); |
| vkStream->read((VkSamplerAddressMode*)&forUnmarshaling->addressModeW, sizeof(VkSamplerAddressMode)); |
| vkStream->read((float*)&forUnmarshaling->mipLodBias, sizeof(float)); |
| vkStream->read((VkBool32*)&forUnmarshaling->anisotropyEnable, sizeof(VkBool32)); |
| vkStream->read((float*)&forUnmarshaling->maxAnisotropy, sizeof(float)); |
| vkStream->read((VkBool32*)&forUnmarshaling->compareEnable, sizeof(VkBool32)); |
| vkStream->read((VkCompareOp*)&forUnmarshaling->compareOp, sizeof(VkCompareOp)); |
| vkStream->read((float*)&forUnmarshaling->minLod, sizeof(float)); |
| vkStream->read((float*)&forUnmarshaling->maxLod, sizeof(float)); |
| vkStream->read((VkBorderColor*)&forUnmarshaling->borderColor, sizeof(VkBorderColor)); |
| vkStream->read((VkBool32*)&forUnmarshaling->unnormalizedCoordinates, sizeof(VkBool32)); |
| } |
| |
| void marshal_VkDescriptorSetLayoutBinding( |
| VulkanStreamGuest* vkStream, |
| const VkDescriptorSetLayoutBinding* forMarshaling) |
| { |
| vkStream->write((uint32_t*)&forMarshaling->binding, sizeof(uint32_t)); |
| vkStream->write((VkDescriptorType*)&forMarshaling->descriptorType, sizeof(VkDescriptorType)); |
| vkStream->write((uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t)); |
| vkStream->write((VkShaderStageFlags*)&forMarshaling->stageFlags, sizeof(VkShaderStageFlags)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_104 = (uint64_t)(uintptr_t)forMarshaling->pImmutableSamplers; |
| vkStream->putBe64(cgen_var_104); |
| if (forMarshaling->pImmutableSamplers) |
| { |
| if (forMarshaling->descriptorCount) |
| { |
| uint64_t* cgen_var_105; |
| vkStream->alloc((void**)&cgen_var_105, forMarshaling->descriptorCount * 8); |
| vkStream->handleMapping()->mapHandles_VkSampler_u64(forMarshaling->pImmutableSamplers, cgen_var_105, forMarshaling->descriptorCount); |
| vkStream->write((uint64_t*)cgen_var_105, forMarshaling->descriptorCount * 8); |
| } |
| } |
| } |
| |
| void unmarshal_VkDescriptorSetLayoutBinding( |
| VulkanStreamGuest* vkStream, |
| VkDescriptorSetLayoutBinding* forUnmarshaling) |
| { |
| vkStream->read((uint32_t*)&forUnmarshaling->binding, sizeof(uint32_t)); |
| vkStream->read((VkDescriptorType*)&forUnmarshaling->descriptorType, sizeof(VkDescriptorType)); |
| vkStream->read((uint32_t*)&forUnmarshaling->descriptorCount, sizeof(uint32_t)); |
| vkStream->read((VkShaderStageFlags*)&forUnmarshaling->stageFlags, sizeof(VkShaderStageFlags)); |
| // WARNING PTR CHECK |
| const VkSampler* check_pImmutableSamplers; |
| check_pImmutableSamplers = (const VkSampler*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pImmutableSamplers) |
| { |
| if (!(check_pImmutableSamplers)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pImmutableSamplers inconsistent between guest and host\n"); |
| } |
| if (forUnmarshaling->descriptorCount) |
| { |
| uint64_t* cgen_var_107; |
| vkStream->alloc((void**)&cgen_var_107, forUnmarshaling->descriptorCount * 8); |
| vkStream->read((uint64_t*)cgen_var_107, forUnmarshaling->descriptorCount * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkSampler(cgen_var_107, (VkSampler*)forUnmarshaling->pImmutableSamplers, forUnmarshaling->descriptorCount); |
| } |
| } |
| } |
| |
| void marshal_VkDescriptorSetLayoutCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkDescriptorSetLayoutCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkDescriptorSetLayoutCreateFlags*)&forMarshaling->flags, sizeof(VkDescriptorSetLayoutCreateFlags)); |
| vkStream->write((uint32_t*)&forMarshaling->bindingCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->bindingCount; ++i) |
| { |
| marshal_VkDescriptorSetLayoutBinding(vkStream, (const VkDescriptorSetLayoutBinding*)(forMarshaling->pBindings + i)); |
| } |
| } |
| |
| void unmarshal_VkDescriptorSetLayoutCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkDescriptorSetLayoutCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkDescriptorSetLayoutCreateFlags*)&forUnmarshaling->flags, sizeof(VkDescriptorSetLayoutCreateFlags)); |
| vkStream->read((uint32_t*)&forUnmarshaling->bindingCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bindingCount; ++i) |
| { |
| unmarshal_VkDescriptorSetLayoutBinding(vkStream, (VkDescriptorSetLayoutBinding*)(forUnmarshaling->pBindings + i)); |
| } |
| } |
| |
| void marshal_VkDescriptorPoolSize( |
| VulkanStreamGuest* vkStream, |
| const VkDescriptorPoolSize* forMarshaling) |
| { |
| vkStream->write((VkDescriptorType*)&forMarshaling->type, sizeof(VkDescriptorType)); |
| vkStream->write((uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkDescriptorPoolSize( |
| VulkanStreamGuest* vkStream, |
| VkDescriptorPoolSize* forUnmarshaling) |
| { |
| vkStream->read((VkDescriptorType*)&forUnmarshaling->type, sizeof(VkDescriptorType)); |
| vkStream->read((uint32_t*)&forUnmarshaling->descriptorCount, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkDescriptorPoolCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkDescriptorPoolCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkDescriptorPoolCreateFlags*)&forMarshaling->flags, sizeof(VkDescriptorPoolCreateFlags)); |
| vkStream->write((uint32_t*)&forMarshaling->maxSets, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->poolSizeCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->poolSizeCount; ++i) |
| { |
| marshal_VkDescriptorPoolSize(vkStream, (const VkDescriptorPoolSize*)(forMarshaling->pPoolSizes + i)); |
| } |
| } |
| |
| void unmarshal_VkDescriptorPoolCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkDescriptorPoolCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkDescriptorPoolCreateFlags*)&forUnmarshaling->flags, sizeof(VkDescriptorPoolCreateFlags)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxSets, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->poolSizeCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->poolSizeCount; ++i) |
| { |
| unmarshal_VkDescriptorPoolSize(vkStream, (VkDescriptorPoolSize*)(forUnmarshaling->pPoolSizes + i)); |
| } |
| } |
| |
| void marshal_VkDescriptorSetAllocateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkDescriptorSetAllocateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_108; |
| vkStream->handleMapping()->mapHandles_VkDescriptorPool_u64(&forMarshaling->descriptorPool, &cgen_var_108, 1); |
| vkStream->write((uint64_t*)&cgen_var_108, 1 * 8); |
| vkStream->write((uint32_t*)&forMarshaling->descriptorSetCount, sizeof(uint32_t)); |
| if (forMarshaling->descriptorSetCount) |
| { |
| uint64_t* cgen_var_109; |
| vkStream->alloc((void**)&cgen_var_109, forMarshaling->descriptorSetCount * 8); |
| vkStream->handleMapping()->mapHandles_VkDescriptorSetLayout_u64(forMarshaling->pSetLayouts, cgen_var_109, forMarshaling->descriptorSetCount); |
| vkStream->write((uint64_t*)cgen_var_109, forMarshaling->descriptorSetCount * 8); |
| } |
| } |
| |
| void unmarshal_VkDescriptorSetAllocateInfo( |
| VulkanStreamGuest* vkStream, |
| VkDescriptorSetAllocateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_110; |
| vkStream->read((uint64_t*)&cgen_var_110, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkDescriptorPool(&cgen_var_110, (VkDescriptorPool*)&forUnmarshaling->descriptorPool, 1); |
| vkStream->read((uint32_t*)&forUnmarshaling->descriptorSetCount, sizeof(uint32_t)); |
| if (forUnmarshaling->descriptorSetCount) |
| { |
| uint64_t* cgen_var_111; |
| vkStream->alloc((void**)&cgen_var_111, forUnmarshaling->descriptorSetCount * 8); |
| vkStream->read((uint64_t*)cgen_var_111, forUnmarshaling->descriptorSetCount * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkDescriptorSetLayout(cgen_var_111, (VkDescriptorSetLayout*)forUnmarshaling->pSetLayouts, forUnmarshaling->descriptorSetCount); |
| } |
| } |
| |
| void marshal_VkDescriptorImageInfo( |
| VulkanStreamGuest* vkStream, |
| const VkDescriptorImageInfo* forMarshaling) |
| { |
| uint64_t cgen_var_112; |
| vkStream->handleMapping()->mapHandles_VkSampler_u64(&forMarshaling->sampler, &cgen_var_112, 1); |
| vkStream->write((uint64_t*)&cgen_var_112, 1 * 8); |
| uint64_t cgen_var_113; |
| vkStream->handleMapping()->mapHandles_VkImageView_u64(&forMarshaling->imageView, &cgen_var_113, 1); |
| vkStream->write((uint64_t*)&cgen_var_113, 1 * 8); |
| vkStream->write((VkImageLayout*)&forMarshaling->imageLayout, sizeof(VkImageLayout)); |
| } |
| |
| void unmarshal_VkDescriptorImageInfo( |
| VulkanStreamGuest* vkStream, |
| VkDescriptorImageInfo* forUnmarshaling) |
| { |
| uint64_t cgen_var_114; |
| vkStream->read((uint64_t*)&cgen_var_114, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkSampler(&cgen_var_114, (VkSampler*)&forUnmarshaling->sampler, 1); |
| uint64_t cgen_var_115; |
| vkStream->read((uint64_t*)&cgen_var_115, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkImageView(&cgen_var_115, (VkImageView*)&forUnmarshaling->imageView, 1); |
| vkStream->read((VkImageLayout*)&forUnmarshaling->imageLayout, sizeof(VkImageLayout)); |
| } |
| |
| void marshal_VkDescriptorBufferInfo( |
| VulkanStreamGuest* vkStream, |
| const VkDescriptorBufferInfo* forMarshaling) |
| { |
| uint64_t cgen_var_116; |
| vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_116, 1); |
| vkStream->write((uint64_t*)&cgen_var_116, 1 * 8); |
| vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize)); |
| vkStream->write((VkDeviceSize*)&forMarshaling->range, sizeof(VkDeviceSize)); |
| } |
| |
| void unmarshal_VkDescriptorBufferInfo( |
| VulkanStreamGuest* vkStream, |
| VkDescriptorBufferInfo* forUnmarshaling) |
| { |
| uint64_t cgen_var_117; |
| vkStream->read((uint64_t*)&cgen_var_117, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_117, (VkBuffer*)&forUnmarshaling->buffer, 1); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize)); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->range, sizeof(VkDeviceSize)); |
| } |
| |
| void marshal_VkWriteDescriptorSet( |
| VulkanStreamGuest* vkStream, |
| const VkWriteDescriptorSet* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_118; |
| vkStream->handleMapping()->mapHandles_VkDescriptorSet_u64(&forMarshaling->dstSet, &cgen_var_118, 1); |
| vkStream->write((uint64_t*)&cgen_var_118, 1 * 8); |
| vkStream->write((uint32_t*)&forMarshaling->dstBinding, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->dstArrayElement, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t)); |
| vkStream->write((VkDescriptorType*)&forMarshaling->descriptorType, sizeof(VkDescriptorType)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_119 = (uint64_t)(uintptr_t)forMarshaling->pImageInfo; |
| vkStream->putBe64(cgen_var_119); |
| if (forMarshaling->pImageInfo) |
| { |
| if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || ((VK_DESCRIPTOR_TYPE_SAMPLER == forMarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER == forMarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE == forMarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_STORAGE_IMAGE == forMarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT == forMarshaling->descriptorType)))) |
| { |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->descriptorCount; ++i) |
| { |
| marshal_VkDescriptorImageInfo(vkStream, (const VkDescriptorImageInfo*)(forMarshaling->pImageInfo + i)); |
| } |
| } |
| } |
| // WARNING PTR CHECK |
| uint64_t cgen_var_120 = (uint64_t)(uintptr_t)forMarshaling->pBufferInfo; |
| vkStream->putBe64(cgen_var_120); |
| if (forMarshaling->pBufferInfo) |
| { |
| if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || ((VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER == forMarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC == forMarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_STORAGE_BUFFER == forMarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC == forMarshaling->descriptorType)))) |
| { |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->descriptorCount; ++i) |
| { |
| marshal_VkDescriptorBufferInfo(vkStream, (const VkDescriptorBufferInfo*)(forMarshaling->pBufferInfo + i)); |
| } |
| } |
| } |
| // WARNING PTR CHECK |
| uint64_t cgen_var_121 = (uint64_t)(uintptr_t)forMarshaling->pTexelBufferView; |
| vkStream->putBe64(cgen_var_121); |
| if (forMarshaling->pTexelBufferView) |
| { |
| if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || ((VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER == forMarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER == forMarshaling->descriptorType)))) |
| { |
| if (forMarshaling->descriptorCount) |
| { |
| uint64_t* cgen_var_122; |
| vkStream->alloc((void**)&cgen_var_122, forMarshaling->descriptorCount * 8); |
| vkStream->handleMapping()->mapHandles_VkBufferView_u64(forMarshaling->pTexelBufferView, cgen_var_122, forMarshaling->descriptorCount); |
| vkStream->write((uint64_t*)cgen_var_122, forMarshaling->descriptorCount * 8); |
| } |
| } |
| } |
| } |
| |
| void unmarshal_VkWriteDescriptorSet( |
| VulkanStreamGuest* vkStream, |
| VkWriteDescriptorSet* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_123; |
| vkStream->read((uint64_t*)&cgen_var_123, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkDescriptorSet(&cgen_var_123, (VkDescriptorSet*)&forUnmarshaling->dstSet, 1); |
| vkStream->read((uint32_t*)&forUnmarshaling->dstBinding, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->dstArrayElement, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->descriptorCount, sizeof(uint32_t)); |
| vkStream->read((VkDescriptorType*)&forUnmarshaling->descriptorType, sizeof(VkDescriptorType)); |
| // WARNING PTR CHECK |
| const VkDescriptorImageInfo* check_pImageInfo; |
| check_pImageInfo = (const VkDescriptorImageInfo*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pImageInfo) |
| { |
| if (!(check_pImageInfo)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pImageInfo inconsistent between guest and host\n"); |
| } |
| if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || ((VK_DESCRIPTOR_TYPE_SAMPLER == forUnmarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER == forUnmarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE == forUnmarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_STORAGE_IMAGE == forUnmarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT == forUnmarshaling->descriptorType)))) |
| { |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->descriptorCount; ++i) |
| { |
| unmarshal_VkDescriptorImageInfo(vkStream, (VkDescriptorImageInfo*)(forUnmarshaling->pImageInfo + i)); |
| } |
| } |
| else |
| { |
| forUnmarshaling->pImageInfo = 0; |
| } |
| } |
| // WARNING PTR CHECK |
| const VkDescriptorBufferInfo* check_pBufferInfo; |
| check_pBufferInfo = (const VkDescriptorBufferInfo*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pBufferInfo) |
| { |
| if (!(check_pBufferInfo)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pBufferInfo inconsistent between guest and host\n"); |
| } |
| if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || ((VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER == forUnmarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC == forUnmarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_STORAGE_BUFFER == forUnmarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC == forUnmarshaling->descriptorType)))) |
| { |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->descriptorCount; ++i) |
| { |
| unmarshal_VkDescriptorBufferInfo(vkStream, (VkDescriptorBufferInfo*)(forUnmarshaling->pBufferInfo + i)); |
| } |
| } |
| else |
| { |
| forUnmarshaling->pBufferInfo = 0; |
| } |
| } |
| // WARNING PTR CHECK |
| const VkBufferView* check_pTexelBufferView; |
| check_pTexelBufferView = (const VkBufferView*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pTexelBufferView) |
| { |
| if (!(check_pTexelBufferView)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pTexelBufferView inconsistent between guest and host\n"); |
| } |
| if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || ((VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER == forUnmarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER == forUnmarshaling->descriptorType)))) |
| { |
| if (forUnmarshaling->descriptorCount) |
| { |
| uint64_t* cgen_var_127; |
| vkStream->alloc((void**)&cgen_var_127, forUnmarshaling->descriptorCount * 8); |
| vkStream->read((uint64_t*)cgen_var_127, forUnmarshaling->descriptorCount * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkBufferView(cgen_var_127, (VkBufferView*)forUnmarshaling->pTexelBufferView, forUnmarshaling->descriptorCount); |
| } |
| } |
| else |
| { |
| forUnmarshaling->pTexelBufferView = 0; |
| } |
| } |
| } |
| |
| void marshal_VkCopyDescriptorSet( |
| VulkanStreamGuest* vkStream, |
| const VkCopyDescriptorSet* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_128; |
| vkStream->handleMapping()->mapHandles_VkDescriptorSet_u64(&forMarshaling->srcSet, &cgen_var_128, 1); |
| vkStream->write((uint64_t*)&cgen_var_128, 1 * 8); |
| vkStream->write((uint32_t*)&forMarshaling->srcBinding, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->srcArrayElement, sizeof(uint32_t)); |
| uint64_t cgen_var_129; |
| vkStream->handleMapping()->mapHandles_VkDescriptorSet_u64(&forMarshaling->dstSet, &cgen_var_129, 1); |
| vkStream->write((uint64_t*)&cgen_var_129, 1 * 8); |
| vkStream->write((uint32_t*)&forMarshaling->dstBinding, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->dstArrayElement, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkCopyDescriptorSet( |
| VulkanStreamGuest* vkStream, |
| VkCopyDescriptorSet* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_130; |
| vkStream->read((uint64_t*)&cgen_var_130, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkDescriptorSet(&cgen_var_130, (VkDescriptorSet*)&forUnmarshaling->srcSet, 1); |
| vkStream->read((uint32_t*)&forUnmarshaling->srcBinding, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->srcArrayElement, sizeof(uint32_t)); |
| uint64_t cgen_var_131; |
| vkStream->read((uint64_t*)&cgen_var_131, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkDescriptorSet(&cgen_var_131, (VkDescriptorSet*)&forUnmarshaling->dstSet, 1); |
| vkStream->read((uint32_t*)&forUnmarshaling->dstBinding, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->dstArrayElement, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->descriptorCount, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkFramebufferCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkFramebufferCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkFramebufferCreateFlags*)&forMarshaling->flags, sizeof(VkFramebufferCreateFlags)); |
| uint64_t cgen_var_132; |
| vkStream->handleMapping()->mapHandles_VkRenderPass_u64(&forMarshaling->renderPass, &cgen_var_132, 1); |
| vkStream->write((uint64_t*)&cgen_var_132, 1 * 8); |
| vkStream->write((uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t)); |
| if (forMarshaling->attachmentCount) |
| { |
| uint64_t* cgen_var_133; |
| vkStream->alloc((void**)&cgen_var_133, forMarshaling->attachmentCount * 8); |
| vkStream->handleMapping()->mapHandles_VkImageView_u64(forMarshaling->pAttachments, cgen_var_133, forMarshaling->attachmentCount); |
| vkStream->write((uint64_t*)cgen_var_133, forMarshaling->attachmentCount * 8); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->width, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->height, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->layers, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkFramebufferCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkFramebufferCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkFramebufferCreateFlags*)&forUnmarshaling->flags, sizeof(VkFramebufferCreateFlags)); |
| uint64_t cgen_var_134; |
| vkStream->read((uint64_t*)&cgen_var_134, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkRenderPass(&cgen_var_134, (VkRenderPass*)&forUnmarshaling->renderPass, 1); |
| vkStream->read((uint32_t*)&forUnmarshaling->attachmentCount, sizeof(uint32_t)); |
| if (forUnmarshaling->attachmentCount) |
| { |
| uint64_t* cgen_var_135; |
| vkStream->alloc((void**)&cgen_var_135, forUnmarshaling->attachmentCount * 8); |
| vkStream->read((uint64_t*)cgen_var_135, forUnmarshaling->attachmentCount * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkImageView(cgen_var_135, (VkImageView*)forUnmarshaling->pAttachments, forUnmarshaling->attachmentCount); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->width, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->height, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->layers, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkAttachmentDescription( |
| VulkanStreamGuest* vkStream, |
| const VkAttachmentDescription* forMarshaling) |
| { |
| vkStream->write((VkAttachmentDescriptionFlags*)&forMarshaling->flags, sizeof(VkAttachmentDescriptionFlags)); |
| vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat)); |
| vkStream->write((VkSampleCountFlagBits*)&forMarshaling->samples, sizeof(VkSampleCountFlagBits)); |
| vkStream->write((VkAttachmentLoadOp*)&forMarshaling->loadOp, sizeof(VkAttachmentLoadOp)); |
| vkStream->write((VkAttachmentStoreOp*)&forMarshaling->storeOp, sizeof(VkAttachmentStoreOp)); |
| vkStream->write((VkAttachmentLoadOp*)&forMarshaling->stencilLoadOp, sizeof(VkAttachmentLoadOp)); |
| vkStream->write((VkAttachmentStoreOp*)&forMarshaling->stencilStoreOp, sizeof(VkAttachmentStoreOp)); |
| vkStream->write((VkImageLayout*)&forMarshaling->initialLayout, sizeof(VkImageLayout)); |
| vkStream->write((VkImageLayout*)&forMarshaling->finalLayout, sizeof(VkImageLayout)); |
| } |
| |
| void unmarshal_VkAttachmentDescription( |
| VulkanStreamGuest* vkStream, |
| VkAttachmentDescription* forUnmarshaling) |
| { |
| vkStream->read((VkAttachmentDescriptionFlags*)&forUnmarshaling->flags, sizeof(VkAttachmentDescriptionFlags)); |
| vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat)); |
| vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->samples, sizeof(VkSampleCountFlagBits)); |
| vkStream->read((VkAttachmentLoadOp*)&forUnmarshaling->loadOp, sizeof(VkAttachmentLoadOp)); |
| vkStream->read((VkAttachmentStoreOp*)&forUnmarshaling->storeOp, sizeof(VkAttachmentStoreOp)); |
| vkStream->read((VkAttachmentLoadOp*)&forUnmarshaling->stencilLoadOp, sizeof(VkAttachmentLoadOp)); |
| vkStream->read((VkAttachmentStoreOp*)&forUnmarshaling->stencilStoreOp, sizeof(VkAttachmentStoreOp)); |
| vkStream->read((VkImageLayout*)&forUnmarshaling->initialLayout, sizeof(VkImageLayout)); |
| vkStream->read((VkImageLayout*)&forUnmarshaling->finalLayout, sizeof(VkImageLayout)); |
| } |
| |
| void marshal_VkAttachmentReference( |
| VulkanStreamGuest* vkStream, |
| const VkAttachmentReference* forMarshaling) |
| { |
| vkStream->write((uint32_t*)&forMarshaling->attachment, sizeof(uint32_t)); |
| vkStream->write((VkImageLayout*)&forMarshaling->layout, sizeof(VkImageLayout)); |
| } |
| |
| void unmarshal_VkAttachmentReference( |
| VulkanStreamGuest* vkStream, |
| VkAttachmentReference* forUnmarshaling) |
| { |
| vkStream->read((uint32_t*)&forUnmarshaling->attachment, sizeof(uint32_t)); |
| vkStream->read((VkImageLayout*)&forUnmarshaling->layout, sizeof(VkImageLayout)); |
| } |
| |
| void marshal_VkSubpassDescription( |
| VulkanStreamGuest* vkStream, |
| const VkSubpassDescription* forMarshaling) |
| { |
| vkStream->write((VkSubpassDescriptionFlags*)&forMarshaling->flags, sizeof(VkSubpassDescriptionFlags)); |
| vkStream->write((VkPipelineBindPoint*)&forMarshaling->pipelineBindPoint, sizeof(VkPipelineBindPoint)); |
| vkStream->write((uint32_t*)&forMarshaling->inputAttachmentCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->inputAttachmentCount; ++i) |
| { |
| marshal_VkAttachmentReference(vkStream, (const VkAttachmentReference*)(forMarshaling->pInputAttachments + i)); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) |
| { |
| marshal_VkAttachmentReference(vkStream, (const VkAttachmentReference*)(forMarshaling->pColorAttachments + i)); |
| } |
| // WARNING PTR CHECK |
| uint64_t cgen_var_136 = (uint64_t)(uintptr_t)forMarshaling->pResolveAttachments; |
| vkStream->putBe64(cgen_var_136); |
| if (forMarshaling->pResolveAttachments) |
| { |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) |
| { |
| marshal_VkAttachmentReference(vkStream, (const VkAttachmentReference*)(forMarshaling->pResolveAttachments + i)); |
| } |
| } |
| // WARNING PTR CHECK |
| uint64_t cgen_var_137 = (uint64_t)(uintptr_t)forMarshaling->pDepthStencilAttachment; |
| vkStream->putBe64(cgen_var_137); |
| if (forMarshaling->pDepthStencilAttachment) |
| { |
| marshal_VkAttachmentReference(vkStream, (const VkAttachmentReference*)(forMarshaling->pDepthStencilAttachment)); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->preserveAttachmentCount, sizeof(uint32_t)); |
| vkStream->write((const uint32_t*)forMarshaling->pPreserveAttachments, forMarshaling->preserveAttachmentCount * sizeof(const uint32_t)); |
| } |
| |
| void unmarshal_VkSubpassDescription( |
| VulkanStreamGuest* vkStream, |
| VkSubpassDescription* forUnmarshaling) |
| { |
| vkStream->read((VkSubpassDescriptionFlags*)&forUnmarshaling->flags, sizeof(VkSubpassDescriptionFlags)); |
| vkStream->read((VkPipelineBindPoint*)&forUnmarshaling->pipelineBindPoint, sizeof(VkPipelineBindPoint)); |
| vkStream->read((uint32_t*)&forUnmarshaling->inputAttachmentCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->inputAttachmentCount; ++i) |
| { |
| unmarshal_VkAttachmentReference(vkStream, (VkAttachmentReference*)(forUnmarshaling->pInputAttachments + i)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->colorAttachmentCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorAttachmentCount; ++i) |
| { |
| unmarshal_VkAttachmentReference(vkStream, (VkAttachmentReference*)(forUnmarshaling->pColorAttachments + i)); |
| } |
| // WARNING PTR CHECK |
| const VkAttachmentReference* check_pResolveAttachments; |
| check_pResolveAttachments = (const VkAttachmentReference*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pResolveAttachments) |
| { |
| if (!(check_pResolveAttachments)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pResolveAttachments inconsistent between guest and host\n"); |
| } |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorAttachmentCount; ++i) |
| { |
| unmarshal_VkAttachmentReference(vkStream, (VkAttachmentReference*)(forUnmarshaling->pResolveAttachments + i)); |
| } |
| } |
| // WARNING PTR CHECK |
| const VkAttachmentReference* check_pDepthStencilAttachment; |
| check_pDepthStencilAttachment = (const VkAttachmentReference*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pDepthStencilAttachment) |
| { |
| if (!(check_pDepthStencilAttachment)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pDepthStencilAttachment inconsistent between guest and host\n"); |
| } |
| unmarshal_VkAttachmentReference(vkStream, (VkAttachmentReference*)(forUnmarshaling->pDepthStencilAttachment)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->preserveAttachmentCount, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)forUnmarshaling->pPreserveAttachments, forUnmarshaling->preserveAttachmentCount * sizeof(const uint32_t)); |
| } |
| |
| void marshal_VkSubpassDependency( |
| VulkanStreamGuest* vkStream, |
| const VkSubpassDependency* forMarshaling) |
| { |
| vkStream->write((uint32_t*)&forMarshaling->srcSubpass, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->dstSubpass, sizeof(uint32_t)); |
| vkStream->write((VkPipelineStageFlags*)&forMarshaling->srcStageMask, sizeof(VkPipelineStageFlags)); |
| vkStream->write((VkPipelineStageFlags*)&forMarshaling->dstStageMask, sizeof(VkPipelineStageFlags)); |
| vkStream->write((VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags)); |
| vkStream->write((VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags)); |
| vkStream->write((VkDependencyFlags*)&forMarshaling->dependencyFlags, sizeof(VkDependencyFlags)); |
| } |
| |
| void unmarshal_VkSubpassDependency( |
| VulkanStreamGuest* vkStream, |
| VkSubpassDependency* forUnmarshaling) |
| { |
| vkStream->read((uint32_t*)&forUnmarshaling->srcSubpass, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->dstSubpass, sizeof(uint32_t)); |
| vkStream->read((VkPipelineStageFlags*)&forUnmarshaling->srcStageMask, sizeof(VkPipelineStageFlags)); |
| vkStream->read((VkPipelineStageFlags*)&forUnmarshaling->dstStageMask, sizeof(VkPipelineStageFlags)); |
| vkStream->read((VkAccessFlags*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags)); |
| vkStream->read((VkAccessFlags*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags)); |
| vkStream->read((VkDependencyFlags*)&forUnmarshaling->dependencyFlags, sizeof(VkDependencyFlags)); |
| } |
| |
| void marshal_VkRenderPassCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkRenderPassCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkRenderPassCreateFlags*)&forMarshaling->flags, sizeof(VkRenderPassCreateFlags)); |
| vkStream->write((uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->attachmentCount; ++i) |
| { |
| marshal_VkAttachmentDescription(vkStream, (const VkAttachmentDescription*)(forMarshaling->pAttachments + i)); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->subpassCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->subpassCount; ++i) |
| { |
| marshal_VkSubpassDescription(vkStream, (const VkSubpassDescription*)(forMarshaling->pSubpasses + i)); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->dependencyCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->dependencyCount; ++i) |
| { |
| marshal_VkSubpassDependency(vkStream, (const VkSubpassDependency*)(forMarshaling->pDependencies + i)); |
| } |
| } |
| |
| void unmarshal_VkRenderPassCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkRenderPassCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkRenderPassCreateFlags*)&forUnmarshaling->flags, sizeof(VkRenderPassCreateFlags)); |
| vkStream->read((uint32_t*)&forUnmarshaling->attachmentCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->attachmentCount; ++i) |
| { |
| unmarshal_VkAttachmentDescription(vkStream, (VkAttachmentDescription*)(forUnmarshaling->pAttachments + i)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->subpassCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->subpassCount; ++i) |
| { |
| unmarshal_VkSubpassDescription(vkStream, (VkSubpassDescription*)(forUnmarshaling->pSubpasses + i)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->dependencyCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->dependencyCount; ++i) |
| { |
| unmarshal_VkSubpassDependency(vkStream, (VkSubpassDependency*)(forUnmarshaling->pDependencies + i)); |
| } |
| } |
| |
| void marshal_VkCommandPoolCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkCommandPoolCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkCommandPoolCreateFlags*)&forMarshaling->flags, sizeof(VkCommandPoolCreateFlags)); |
| vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndex, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkCommandPoolCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkCommandPoolCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkCommandPoolCreateFlags*)&forUnmarshaling->flags, sizeof(VkCommandPoolCreateFlags)); |
| vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndex, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkCommandBufferAllocateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkCommandBufferAllocateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_140; |
| vkStream->handleMapping()->mapHandles_VkCommandPool_u64(&forMarshaling->commandPool, &cgen_var_140, 1); |
| vkStream->write((uint64_t*)&cgen_var_140, 1 * 8); |
| vkStream->write((VkCommandBufferLevel*)&forMarshaling->level, sizeof(VkCommandBufferLevel)); |
| vkStream->write((uint32_t*)&forMarshaling->commandBufferCount, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkCommandBufferAllocateInfo( |
| VulkanStreamGuest* vkStream, |
| VkCommandBufferAllocateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_141; |
| vkStream->read((uint64_t*)&cgen_var_141, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkCommandPool(&cgen_var_141, (VkCommandPool*)&forUnmarshaling->commandPool, 1); |
| vkStream->read((VkCommandBufferLevel*)&forUnmarshaling->level, sizeof(VkCommandBufferLevel)); |
| vkStream->read((uint32_t*)&forUnmarshaling->commandBufferCount, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkCommandBufferInheritanceInfo( |
| VulkanStreamGuest* vkStream, |
| const VkCommandBufferInheritanceInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_142; |
| vkStream->handleMapping()->mapHandles_VkRenderPass_u64(&forMarshaling->renderPass, &cgen_var_142, 1); |
| vkStream->write((uint64_t*)&cgen_var_142, 1 * 8); |
| vkStream->write((uint32_t*)&forMarshaling->subpass, sizeof(uint32_t)); |
| uint64_t cgen_var_143; |
| vkStream->handleMapping()->mapHandles_VkFramebuffer_u64(&forMarshaling->framebuffer, &cgen_var_143, 1); |
| vkStream->write((uint64_t*)&cgen_var_143, 1 * 8); |
| vkStream->write((VkBool32*)&forMarshaling->occlusionQueryEnable, sizeof(VkBool32)); |
| vkStream->write((VkQueryControlFlags*)&forMarshaling->queryFlags, sizeof(VkQueryControlFlags)); |
| vkStream->write((VkQueryPipelineStatisticFlags*)&forMarshaling->pipelineStatistics, sizeof(VkQueryPipelineStatisticFlags)); |
| } |
| |
| void unmarshal_VkCommandBufferInheritanceInfo( |
| VulkanStreamGuest* vkStream, |
| VkCommandBufferInheritanceInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_144; |
| vkStream->read((uint64_t*)&cgen_var_144, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkRenderPass(&cgen_var_144, (VkRenderPass*)&forUnmarshaling->renderPass, 1); |
| vkStream->read((uint32_t*)&forUnmarshaling->subpass, sizeof(uint32_t)); |
| uint64_t cgen_var_145; |
| vkStream->read((uint64_t*)&cgen_var_145, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkFramebuffer(&cgen_var_145, (VkFramebuffer*)&forUnmarshaling->framebuffer, 1); |
| vkStream->read((VkBool32*)&forUnmarshaling->occlusionQueryEnable, sizeof(VkBool32)); |
| vkStream->read((VkQueryControlFlags*)&forUnmarshaling->queryFlags, sizeof(VkQueryControlFlags)); |
| vkStream->read((VkQueryPipelineStatisticFlags*)&forUnmarshaling->pipelineStatistics, sizeof(VkQueryPipelineStatisticFlags)); |
| } |
| |
| void marshal_VkCommandBufferBeginInfo( |
| VulkanStreamGuest* vkStream, |
| const VkCommandBufferBeginInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkCommandBufferUsageFlags*)&forMarshaling->flags, sizeof(VkCommandBufferUsageFlags)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_146 = (uint64_t)(uintptr_t)forMarshaling->pInheritanceInfo; |
| vkStream->putBe64(cgen_var_146); |
| if (forMarshaling->pInheritanceInfo) |
| { |
| marshal_VkCommandBufferInheritanceInfo(vkStream, (const VkCommandBufferInheritanceInfo*)(forMarshaling->pInheritanceInfo)); |
| } |
| } |
| |
| void unmarshal_VkCommandBufferBeginInfo( |
| VulkanStreamGuest* vkStream, |
| VkCommandBufferBeginInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkCommandBufferUsageFlags*)&forUnmarshaling->flags, sizeof(VkCommandBufferUsageFlags)); |
| // WARNING PTR CHECK |
| const VkCommandBufferInheritanceInfo* check_pInheritanceInfo; |
| check_pInheritanceInfo = (const VkCommandBufferInheritanceInfo*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pInheritanceInfo) |
| { |
| if (!(check_pInheritanceInfo)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pInheritanceInfo inconsistent between guest and host\n"); |
| } |
| unmarshal_VkCommandBufferInheritanceInfo(vkStream, (VkCommandBufferInheritanceInfo*)(forUnmarshaling->pInheritanceInfo)); |
| } |
| } |
| |
| void marshal_VkBufferCopy( |
| VulkanStreamGuest* vkStream, |
| const VkBufferCopy* forMarshaling) |
| { |
| vkStream->write((VkDeviceSize*)&forMarshaling->srcOffset, sizeof(VkDeviceSize)); |
| vkStream->write((VkDeviceSize*)&forMarshaling->dstOffset, sizeof(VkDeviceSize)); |
| vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize)); |
| } |
| |
| void unmarshal_VkBufferCopy( |
| VulkanStreamGuest* vkStream, |
| VkBufferCopy* forUnmarshaling) |
| { |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->srcOffset, sizeof(VkDeviceSize)); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->dstOffset, sizeof(VkDeviceSize)); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize)); |
| } |
| |
| void marshal_VkImageSubresourceLayers( |
| VulkanStreamGuest* vkStream, |
| const VkImageSubresourceLayers* forMarshaling) |
| { |
| vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags)); |
| vkStream->write((uint32_t*)&forMarshaling->mipLevel, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->baseArrayLayer, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkImageSubresourceLayers( |
| VulkanStreamGuest* vkStream, |
| VkImageSubresourceLayers* forUnmarshaling) |
| { |
| vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags)); |
| vkStream->read((uint32_t*)&forUnmarshaling->mipLevel, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->baseArrayLayer, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->layerCount, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkImageCopy( |
| VulkanStreamGuest* vkStream, |
| const VkImageCopy* forMarshaling) |
| { |
| marshal_VkImageSubresourceLayers(vkStream, (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource)); |
| marshal_VkOffset3D(vkStream, (VkOffset3D*)(&forMarshaling->srcOffset)); |
| marshal_VkImageSubresourceLayers(vkStream, (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource)); |
| marshal_VkOffset3D(vkStream, (VkOffset3D*)(&forMarshaling->dstOffset)); |
| marshal_VkExtent3D(vkStream, (VkExtent3D*)(&forMarshaling->extent)); |
| } |
| |
| void unmarshal_VkImageCopy( |
| VulkanStreamGuest* vkStream, |
| VkImageCopy* forUnmarshaling) |
| { |
| unmarshal_VkImageSubresourceLayers(vkStream, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource)); |
| unmarshal_VkOffset3D(vkStream, (VkOffset3D*)(&forUnmarshaling->srcOffset)); |
| unmarshal_VkImageSubresourceLayers(vkStream, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource)); |
| unmarshal_VkOffset3D(vkStream, (VkOffset3D*)(&forUnmarshaling->dstOffset)); |
| unmarshal_VkExtent3D(vkStream, (VkExtent3D*)(&forUnmarshaling->extent)); |
| } |
| |
| void marshal_VkImageBlit( |
| VulkanStreamGuest* vkStream, |
| const VkImageBlit* forMarshaling) |
| { |
| marshal_VkImageSubresourceLayers(vkStream, (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource)); |
| for (uint32_t i = 0; i < (uint32_t)2; ++i) |
| { |
| marshal_VkOffset3D(vkStream, (VkOffset3D*)(forMarshaling->srcOffsets + i)); |
| } |
| marshal_VkImageSubresourceLayers(vkStream, (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource)); |
| for (uint32_t i = 0; i < (uint32_t)2; ++i) |
| { |
| marshal_VkOffset3D(vkStream, (VkOffset3D*)(forMarshaling->dstOffsets + i)); |
| } |
| } |
| |
| void unmarshal_VkImageBlit( |
| VulkanStreamGuest* vkStream, |
| VkImageBlit* forUnmarshaling) |
| { |
| unmarshal_VkImageSubresourceLayers(vkStream, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource)); |
| for (uint32_t i = 0; i < (uint32_t)2; ++i) |
| { |
| unmarshal_VkOffset3D(vkStream, (VkOffset3D*)(forUnmarshaling->srcOffsets + i)); |
| } |
| unmarshal_VkImageSubresourceLayers(vkStream, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource)); |
| for (uint32_t i = 0; i < (uint32_t)2; ++i) |
| { |
| unmarshal_VkOffset3D(vkStream, (VkOffset3D*)(forUnmarshaling->dstOffsets + i)); |
| } |
| } |
| |
| void marshal_VkBufferImageCopy( |
| VulkanStreamGuest* vkStream, |
| const VkBufferImageCopy* forMarshaling) |
| { |
| vkStream->write((VkDeviceSize*)&forMarshaling->bufferOffset, sizeof(VkDeviceSize)); |
| vkStream->write((uint32_t*)&forMarshaling->bufferRowLength, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->bufferImageHeight, sizeof(uint32_t)); |
| marshal_VkImageSubresourceLayers(vkStream, (VkImageSubresourceLayers*)(&forMarshaling->imageSubresource)); |
| marshal_VkOffset3D(vkStream, (VkOffset3D*)(&forMarshaling->imageOffset)); |
| marshal_VkExtent3D(vkStream, (VkExtent3D*)(&forMarshaling->imageExtent)); |
| } |
| |
| void unmarshal_VkBufferImageCopy( |
| VulkanStreamGuest* vkStream, |
| VkBufferImageCopy* forUnmarshaling) |
| { |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->bufferOffset, sizeof(VkDeviceSize)); |
| vkStream->read((uint32_t*)&forUnmarshaling->bufferRowLength, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->bufferImageHeight, sizeof(uint32_t)); |
| unmarshal_VkImageSubresourceLayers(vkStream, (VkImageSubresourceLayers*)(&forUnmarshaling->imageSubresource)); |
| unmarshal_VkOffset3D(vkStream, (VkOffset3D*)(&forUnmarshaling->imageOffset)); |
| unmarshal_VkExtent3D(vkStream, (VkExtent3D*)(&forUnmarshaling->imageExtent)); |
| } |
| |
| void marshal_VkClearColorValue( |
| VulkanStreamGuest* vkStream, |
| const VkClearColorValue* forMarshaling) |
| { |
| vkStream->write((float*)forMarshaling->float32, 4 * sizeof(float)); |
| } |
| |
| void unmarshal_VkClearColorValue( |
| VulkanStreamGuest* vkStream, |
| VkClearColorValue* forUnmarshaling) |
| { |
| vkStream->read((float*)forUnmarshaling->float32, 4 * sizeof(float)); |
| } |
| |
| void marshal_VkClearDepthStencilValue( |
| VulkanStreamGuest* vkStream, |
| const VkClearDepthStencilValue* forMarshaling) |
| { |
| vkStream->write((float*)&forMarshaling->depth, sizeof(float)); |
| vkStream->write((uint32_t*)&forMarshaling->stencil, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkClearDepthStencilValue( |
| VulkanStreamGuest* vkStream, |
| VkClearDepthStencilValue* forUnmarshaling) |
| { |
| vkStream->read((float*)&forUnmarshaling->depth, sizeof(float)); |
| vkStream->read((uint32_t*)&forUnmarshaling->stencil, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkClearValue( |
| VulkanStreamGuest* vkStream, |
| const VkClearValue* forMarshaling) |
| { |
| marshal_VkClearColorValue(vkStream, (VkClearColorValue*)(&forMarshaling->color)); |
| } |
| |
| void unmarshal_VkClearValue( |
| VulkanStreamGuest* vkStream, |
| VkClearValue* forUnmarshaling) |
| { |
| unmarshal_VkClearColorValue(vkStream, (VkClearColorValue*)(&forUnmarshaling->color)); |
| } |
| |
| void marshal_VkClearAttachment( |
| VulkanStreamGuest* vkStream, |
| const VkClearAttachment* forMarshaling) |
| { |
| vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags)); |
| vkStream->write((uint32_t*)&forMarshaling->colorAttachment, sizeof(uint32_t)); |
| marshal_VkClearValue(vkStream, (VkClearValue*)(&forMarshaling->clearValue)); |
| } |
| |
| void unmarshal_VkClearAttachment( |
| VulkanStreamGuest* vkStream, |
| VkClearAttachment* forUnmarshaling) |
| { |
| vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags)); |
| vkStream->read((uint32_t*)&forUnmarshaling->colorAttachment, sizeof(uint32_t)); |
| unmarshal_VkClearValue(vkStream, (VkClearValue*)(&forUnmarshaling->clearValue)); |
| } |
| |
| void marshal_VkClearRect( |
| VulkanStreamGuest* vkStream, |
| const VkClearRect* forMarshaling) |
| { |
| marshal_VkRect2D(vkStream, (VkRect2D*)(&forMarshaling->rect)); |
| vkStream->write((uint32_t*)&forMarshaling->baseArrayLayer, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkClearRect( |
| VulkanStreamGuest* vkStream, |
| VkClearRect* forUnmarshaling) |
| { |
| unmarshal_VkRect2D(vkStream, (VkRect2D*)(&forUnmarshaling->rect)); |
| vkStream->read((uint32_t*)&forUnmarshaling->baseArrayLayer, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->layerCount, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkImageResolve( |
| VulkanStreamGuest* vkStream, |
| const VkImageResolve* forMarshaling) |
| { |
| marshal_VkImageSubresourceLayers(vkStream, (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource)); |
| marshal_VkOffset3D(vkStream, (VkOffset3D*)(&forMarshaling->srcOffset)); |
| marshal_VkImageSubresourceLayers(vkStream, (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource)); |
| marshal_VkOffset3D(vkStream, (VkOffset3D*)(&forMarshaling->dstOffset)); |
| marshal_VkExtent3D(vkStream, (VkExtent3D*)(&forMarshaling->extent)); |
| } |
| |
| void unmarshal_VkImageResolve( |
| VulkanStreamGuest* vkStream, |
| VkImageResolve* forUnmarshaling) |
| { |
| unmarshal_VkImageSubresourceLayers(vkStream, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource)); |
| unmarshal_VkOffset3D(vkStream, (VkOffset3D*)(&forUnmarshaling->srcOffset)); |
| unmarshal_VkImageSubresourceLayers(vkStream, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource)); |
| unmarshal_VkOffset3D(vkStream, (VkOffset3D*)(&forUnmarshaling->dstOffset)); |
| unmarshal_VkExtent3D(vkStream, (VkExtent3D*)(&forUnmarshaling->extent)); |
| } |
| |
| void marshal_VkMemoryBarrier( |
| VulkanStreamGuest* vkStream, |
| const VkMemoryBarrier* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags)); |
| vkStream->write((VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags)); |
| } |
| |
| void unmarshal_VkMemoryBarrier( |
| VulkanStreamGuest* vkStream, |
| VkMemoryBarrier* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkAccessFlags*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags)); |
| vkStream->read((VkAccessFlags*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags)); |
| } |
| |
| void marshal_VkBufferMemoryBarrier( |
| VulkanStreamGuest* vkStream, |
| const VkBufferMemoryBarrier* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags)); |
| vkStream->write((VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags)); |
| vkStream->write((uint32_t*)&forMarshaling->srcQueueFamilyIndex, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->dstQueueFamilyIndex, sizeof(uint32_t)); |
| uint64_t cgen_var_148; |
| vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_148, 1); |
| vkStream->write((uint64_t*)&cgen_var_148, 1 * 8); |
| vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize)); |
| vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize)); |
| } |
| |
| void unmarshal_VkBufferMemoryBarrier( |
| VulkanStreamGuest* vkStream, |
| VkBufferMemoryBarrier* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkAccessFlags*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags)); |
| vkStream->read((VkAccessFlags*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags)); |
| vkStream->read((uint32_t*)&forUnmarshaling->srcQueueFamilyIndex, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->dstQueueFamilyIndex, sizeof(uint32_t)); |
| uint64_t cgen_var_149; |
| vkStream->read((uint64_t*)&cgen_var_149, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_149, (VkBuffer*)&forUnmarshaling->buffer, 1); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize)); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize)); |
| } |
| |
| void marshal_VkImageMemoryBarrier( |
| VulkanStreamGuest* vkStream, |
| const VkImageMemoryBarrier* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags)); |
| vkStream->write((VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags)); |
| vkStream->write((VkImageLayout*)&forMarshaling->oldLayout, sizeof(VkImageLayout)); |
| vkStream->write((VkImageLayout*)&forMarshaling->newLayout, sizeof(VkImageLayout)); |
| vkStream->write((uint32_t*)&forMarshaling->srcQueueFamilyIndex, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->dstQueueFamilyIndex, sizeof(uint32_t)); |
| uint64_t cgen_var_150; |
| vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_150, 1); |
| vkStream->write((uint64_t*)&cgen_var_150, 1 * 8); |
| marshal_VkImageSubresourceRange(vkStream, (VkImageSubresourceRange*)(&forMarshaling->subresourceRange)); |
| } |
| |
| void unmarshal_VkImageMemoryBarrier( |
| VulkanStreamGuest* vkStream, |
| VkImageMemoryBarrier* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkAccessFlags*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags)); |
| vkStream->read((VkAccessFlags*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags)); |
| vkStream->read((VkImageLayout*)&forUnmarshaling->oldLayout, sizeof(VkImageLayout)); |
| vkStream->read((VkImageLayout*)&forUnmarshaling->newLayout, sizeof(VkImageLayout)); |
| vkStream->read((uint32_t*)&forUnmarshaling->srcQueueFamilyIndex, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->dstQueueFamilyIndex, sizeof(uint32_t)); |
| uint64_t cgen_var_151; |
| vkStream->read((uint64_t*)&cgen_var_151, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_151, (VkImage*)&forUnmarshaling->image, 1); |
| unmarshal_VkImageSubresourceRange(vkStream, (VkImageSubresourceRange*)(&forUnmarshaling->subresourceRange)); |
| } |
| |
| void marshal_VkRenderPassBeginInfo( |
| VulkanStreamGuest* vkStream, |
| const VkRenderPassBeginInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_152; |
| vkStream->handleMapping()->mapHandles_VkRenderPass_u64(&forMarshaling->renderPass, &cgen_var_152, 1); |
| vkStream->write((uint64_t*)&cgen_var_152, 1 * 8); |
| uint64_t cgen_var_153; |
| vkStream->handleMapping()->mapHandles_VkFramebuffer_u64(&forMarshaling->framebuffer, &cgen_var_153, 1); |
| vkStream->write((uint64_t*)&cgen_var_153, 1 * 8); |
| marshal_VkRect2D(vkStream, (VkRect2D*)(&forMarshaling->renderArea)); |
| vkStream->write((uint32_t*)&forMarshaling->clearValueCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_154 = (uint64_t)(uintptr_t)forMarshaling->pClearValues; |
| vkStream->putBe64(cgen_var_154); |
| if (forMarshaling->pClearValues) |
| { |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->clearValueCount; ++i) |
| { |
| marshal_VkClearValue(vkStream, (const VkClearValue*)(forMarshaling->pClearValues + i)); |
| } |
| } |
| } |
| |
| void unmarshal_VkRenderPassBeginInfo( |
| VulkanStreamGuest* vkStream, |
| VkRenderPassBeginInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_155; |
| vkStream->read((uint64_t*)&cgen_var_155, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkRenderPass(&cgen_var_155, (VkRenderPass*)&forUnmarshaling->renderPass, 1); |
| uint64_t cgen_var_156; |
| vkStream->read((uint64_t*)&cgen_var_156, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkFramebuffer(&cgen_var_156, (VkFramebuffer*)&forUnmarshaling->framebuffer, 1); |
| unmarshal_VkRect2D(vkStream, (VkRect2D*)(&forUnmarshaling->renderArea)); |
| vkStream->read((uint32_t*)&forUnmarshaling->clearValueCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| const VkClearValue* check_pClearValues; |
| check_pClearValues = (const VkClearValue*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pClearValues) |
| { |
| if (!(check_pClearValues)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pClearValues inconsistent between guest and host\n"); |
| } |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->clearValueCount; ++i) |
| { |
| unmarshal_VkClearValue(vkStream, (VkClearValue*)(forUnmarshaling->pClearValues + i)); |
| } |
| } |
| } |
| |
| void marshal_VkDispatchIndirectCommand( |
| VulkanStreamGuest* vkStream, |
| const VkDispatchIndirectCommand* forMarshaling) |
| { |
| vkStream->write((uint32_t*)&forMarshaling->x, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->y, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->z, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkDispatchIndirectCommand( |
| VulkanStreamGuest* vkStream, |
| VkDispatchIndirectCommand* forUnmarshaling) |
| { |
| vkStream->read((uint32_t*)&forUnmarshaling->x, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->y, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->z, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkDrawIndexedIndirectCommand( |
| VulkanStreamGuest* vkStream, |
| const VkDrawIndexedIndirectCommand* forMarshaling) |
| { |
| vkStream->write((uint32_t*)&forMarshaling->indexCount, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->instanceCount, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->firstIndex, sizeof(uint32_t)); |
| vkStream->write((int32_t*)&forMarshaling->vertexOffset, sizeof(int32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->firstInstance, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkDrawIndexedIndirectCommand( |
| VulkanStreamGuest* vkStream, |
| VkDrawIndexedIndirectCommand* forUnmarshaling) |
| { |
| vkStream->read((uint32_t*)&forUnmarshaling->indexCount, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->instanceCount, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->firstIndex, sizeof(uint32_t)); |
| vkStream->read((int32_t*)&forUnmarshaling->vertexOffset, sizeof(int32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->firstInstance, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkDrawIndirectCommand( |
| VulkanStreamGuest* vkStream, |
| const VkDrawIndirectCommand* forMarshaling) |
| { |
| vkStream->write((uint32_t*)&forMarshaling->vertexCount, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->instanceCount, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->firstVertex, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->firstInstance, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkDrawIndirectCommand( |
| VulkanStreamGuest* vkStream, |
| VkDrawIndirectCommand* forUnmarshaling) |
| { |
| vkStream->read((uint32_t*)&forUnmarshaling->vertexCount, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->instanceCount, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->firstVertex, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->firstInstance, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkBaseOutStructure( |
| VulkanStreamGuest* vkStream, |
| const VkBaseOutStructure* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((VkBaseOutStructure*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| } |
| |
| void unmarshal_VkBaseOutStructure( |
| VulkanStreamGuest* vkStream, |
| VkBaseOutStructure* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((VkBaseOutStructure*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| } |
| |
| void marshal_VkBaseInStructure( |
| VulkanStreamGuest* vkStream, |
| const VkBaseInStructure* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const VkBaseInStructure*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| } |
| |
| void unmarshal_VkBaseInStructure( |
| VulkanStreamGuest* vkStream, |
| VkBaseInStructure* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((VkBaseInStructure*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| } |
| |
| #endif |
| #ifdef VK_VERSION_1_1 |
| void marshal_VkPhysicalDeviceSubgroupProperties( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceSubgroupProperties* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->subgroupSize, sizeof(uint32_t)); |
| vkStream->write((VkShaderStageFlags*)&forMarshaling->supportedStages, sizeof(VkShaderStageFlags)); |
| vkStream->write((VkSubgroupFeatureFlags*)&forMarshaling->supportedOperations, sizeof(VkSubgroupFeatureFlags)); |
| vkStream->write((VkBool32*)&forMarshaling->quadOperationsInAllStages, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceSubgroupProperties( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceSubgroupProperties* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->subgroupSize, sizeof(uint32_t)); |
| vkStream->read((VkShaderStageFlags*)&forUnmarshaling->supportedStages, sizeof(VkShaderStageFlags)); |
| vkStream->read((VkSubgroupFeatureFlags*)&forUnmarshaling->supportedOperations, sizeof(VkSubgroupFeatureFlags)); |
| vkStream->read((VkBool32*)&forUnmarshaling->quadOperationsInAllStages, sizeof(VkBool32)); |
| } |
| |
| void marshal_VkBindBufferMemoryInfo( |
| VulkanStreamGuest* vkStream, |
| const VkBindBufferMemoryInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_158; |
| vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_158, 1); |
| vkStream->write((uint64_t*)&cgen_var_158, 1 * 8); |
| uint64_t cgen_var_159; |
| vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_159, 1); |
| vkStream->write((uint64_t*)&cgen_var_159, 1 * 8); |
| vkStream->write((VkDeviceSize*)&forMarshaling->memoryOffset, sizeof(VkDeviceSize)); |
| } |
| |
| void unmarshal_VkBindBufferMemoryInfo( |
| VulkanStreamGuest* vkStream, |
| VkBindBufferMemoryInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_160; |
| vkStream->read((uint64_t*)&cgen_var_160, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_160, (VkBuffer*)&forUnmarshaling->buffer, 1); |
| uint64_t cgen_var_161; |
| vkStream->read((uint64_t*)&cgen_var_161, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(&cgen_var_161, (VkDeviceMemory*)&forUnmarshaling->memory, 1); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->memoryOffset, sizeof(VkDeviceSize)); |
| } |
| |
| void marshal_VkBindImageMemoryInfo( |
| VulkanStreamGuest* vkStream, |
| const VkBindImageMemoryInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_162; |
| vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_162, 1); |
| vkStream->write((uint64_t*)&cgen_var_162, 1 * 8); |
| uint64_t cgen_var_163; |
| vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_163, 1); |
| vkStream->write((uint64_t*)&cgen_var_163, 1 * 8); |
| vkStream->write((VkDeviceSize*)&forMarshaling->memoryOffset, sizeof(VkDeviceSize)); |
| } |
| |
| void unmarshal_VkBindImageMemoryInfo( |
| VulkanStreamGuest* vkStream, |
| VkBindImageMemoryInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_164; |
| vkStream->read((uint64_t*)&cgen_var_164, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_164, (VkImage*)&forUnmarshaling->image, 1); |
| uint64_t cgen_var_165; |
| vkStream->read((uint64_t*)&cgen_var_165, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(&cgen_var_165, (VkDeviceMemory*)&forUnmarshaling->memory, 1); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->memoryOffset, sizeof(VkDeviceSize)); |
| } |
| |
| void marshal_VkPhysicalDevice16BitStorageFeatures( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDevice16BitStorageFeatures* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkBool32*)&forMarshaling->storageBuffer16BitAccess, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->uniformAndStorageBuffer16BitAccess, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->storagePushConstant16, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->storageInputOutput16, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkPhysicalDevice16BitStorageFeatures( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDevice16BitStorageFeatures* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkBool32*)&forUnmarshaling->storageBuffer16BitAccess, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->uniformAndStorageBuffer16BitAccess, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->storagePushConstant16, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->storageInputOutput16, sizeof(VkBool32)); |
| } |
| |
| void marshal_VkMemoryDedicatedRequirements( |
| VulkanStreamGuest* vkStream, |
| const VkMemoryDedicatedRequirements* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkBool32*)&forMarshaling->prefersDedicatedAllocation, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->requiresDedicatedAllocation, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkMemoryDedicatedRequirements( |
| VulkanStreamGuest* vkStream, |
| VkMemoryDedicatedRequirements* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkBool32*)&forUnmarshaling->prefersDedicatedAllocation, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->requiresDedicatedAllocation, sizeof(VkBool32)); |
| } |
| |
| void marshal_VkMemoryDedicatedAllocateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkMemoryDedicatedAllocateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_166; |
| vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_166, 1); |
| vkStream->write((uint64_t*)&cgen_var_166, 1 * 8); |
| uint64_t cgen_var_167; |
| vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_167, 1); |
| vkStream->write((uint64_t*)&cgen_var_167, 1 * 8); |
| } |
| |
| void unmarshal_VkMemoryDedicatedAllocateInfo( |
| VulkanStreamGuest* vkStream, |
| VkMemoryDedicatedAllocateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_168; |
| vkStream->read((uint64_t*)&cgen_var_168, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_168, (VkImage*)&forUnmarshaling->image, 1); |
| uint64_t cgen_var_169; |
| vkStream->read((uint64_t*)&cgen_var_169, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_169, (VkBuffer*)&forUnmarshaling->buffer, 1); |
| } |
| |
| void marshal_VkMemoryAllocateFlagsInfo( |
| VulkanStreamGuest* vkStream, |
| const VkMemoryAllocateFlagsInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkMemoryAllocateFlags*)&forMarshaling->flags, sizeof(VkMemoryAllocateFlags)); |
| vkStream->write((uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkMemoryAllocateFlagsInfo( |
| VulkanStreamGuest* vkStream, |
| VkMemoryAllocateFlagsInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkMemoryAllocateFlags*)&forUnmarshaling->flags, sizeof(VkMemoryAllocateFlags)); |
| vkStream->read((uint32_t*)&forUnmarshaling->deviceMask, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkDeviceGroupRenderPassBeginInfo( |
| VulkanStreamGuest* vkStream, |
| const VkDeviceGroupRenderPassBeginInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->deviceRenderAreaCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->deviceRenderAreaCount; ++i) |
| { |
| marshal_VkRect2D(vkStream, (const VkRect2D*)(forMarshaling->pDeviceRenderAreas + i)); |
| } |
| } |
| |
| void unmarshal_VkDeviceGroupRenderPassBeginInfo( |
| VulkanStreamGuest* vkStream, |
| VkDeviceGroupRenderPassBeginInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->deviceMask, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->deviceRenderAreaCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->deviceRenderAreaCount; ++i) |
| { |
| unmarshal_VkRect2D(vkStream, (VkRect2D*)(forUnmarshaling->pDeviceRenderAreas + i)); |
| } |
| } |
| |
| void marshal_VkDeviceGroupCommandBufferBeginInfo( |
| VulkanStreamGuest* vkStream, |
| const VkDeviceGroupCommandBufferBeginInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkDeviceGroupCommandBufferBeginInfo( |
| VulkanStreamGuest* vkStream, |
| VkDeviceGroupCommandBufferBeginInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->deviceMask, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkDeviceGroupSubmitInfo( |
| VulkanStreamGuest* vkStream, |
| const VkDeviceGroupSubmitInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->waitSemaphoreCount, sizeof(uint32_t)); |
| vkStream->write((const uint32_t*)forMarshaling->pWaitSemaphoreDeviceIndices, forMarshaling->waitSemaphoreCount * sizeof(const uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->commandBufferCount, sizeof(uint32_t)); |
| vkStream->write((const uint32_t*)forMarshaling->pCommandBufferDeviceMasks, forMarshaling->commandBufferCount * sizeof(const uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->signalSemaphoreCount, sizeof(uint32_t)); |
| vkStream->write((const uint32_t*)forMarshaling->pSignalSemaphoreDeviceIndices, forMarshaling->signalSemaphoreCount * sizeof(const uint32_t)); |
| } |
| |
| void unmarshal_VkDeviceGroupSubmitInfo( |
| VulkanStreamGuest* vkStream, |
| VkDeviceGroupSubmitInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->waitSemaphoreCount, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)forUnmarshaling->pWaitSemaphoreDeviceIndices, forUnmarshaling->waitSemaphoreCount * sizeof(const uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->commandBufferCount, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)forUnmarshaling->pCommandBufferDeviceMasks, forUnmarshaling->commandBufferCount * sizeof(const uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->signalSemaphoreCount, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)forUnmarshaling->pSignalSemaphoreDeviceIndices, forUnmarshaling->signalSemaphoreCount * sizeof(const uint32_t)); |
| } |
| |
| void marshal_VkDeviceGroupBindSparseInfo( |
| VulkanStreamGuest* vkStream, |
| const VkDeviceGroupBindSparseInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->resourceDeviceIndex, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->memoryDeviceIndex, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkDeviceGroupBindSparseInfo( |
| VulkanStreamGuest* vkStream, |
| VkDeviceGroupBindSparseInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->resourceDeviceIndex, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->memoryDeviceIndex, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkBindBufferMemoryDeviceGroupInfo( |
| VulkanStreamGuest* vkStream, |
| const VkBindBufferMemoryDeviceGroupInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->deviceIndexCount, sizeof(uint32_t)); |
| vkStream->write((const uint32_t*)forMarshaling->pDeviceIndices, forMarshaling->deviceIndexCount * sizeof(const uint32_t)); |
| } |
| |
| void unmarshal_VkBindBufferMemoryDeviceGroupInfo( |
| VulkanStreamGuest* vkStream, |
| VkBindBufferMemoryDeviceGroupInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->deviceIndexCount, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)forUnmarshaling->pDeviceIndices, forUnmarshaling->deviceIndexCount * sizeof(const uint32_t)); |
| } |
| |
| void marshal_VkBindImageMemoryDeviceGroupInfo( |
| VulkanStreamGuest* vkStream, |
| const VkBindImageMemoryDeviceGroupInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->deviceIndexCount, sizeof(uint32_t)); |
| vkStream->write((const uint32_t*)forMarshaling->pDeviceIndices, forMarshaling->deviceIndexCount * sizeof(const uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->splitInstanceBindRegionCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->splitInstanceBindRegionCount; ++i) |
| { |
| marshal_VkRect2D(vkStream, (const VkRect2D*)(forMarshaling->pSplitInstanceBindRegions + i)); |
| } |
| } |
| |
| void unmarshal_VkBindImageMemoryDeviceGroupInfo( |
| VulkanStreamGuest* vkStream, |
| VkBindImageMemoryDeviceGroupInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->deviceIndexCount, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)forUnmarshaling->pDeviceIndices, forUnmarshaling->deviceIndexCount * sizeof(const uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->splitInstanceBindRegionCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->splitInstanceBindRegionCount; ++i) |
| { |
| unmarshal_VkRect2D(vkStream, (VkRect2D*)(forUnmarshaling->pSplitInstanceBindRegions + i)); |
| } |
| } |
| |
| void marshal_VkPhysicalDeviceGroupProperties( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceGroupProperties* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->physicalDeviceCount, sizeof(uint32_t)); |
| vkStream->write((VkPhysicalDevice*)forMarshaling->physicalDevices, VK_MAX_DEVICE_GROUP_SIZE * sizeof(VkPhysicalDevice)); |
| vkStream->write((VkBool32*)&forMarshaling->subsetAllocation, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceGroupProperties( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceGroupProperties* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->physicalDeviceCount, sizeof(uint32_t)); |
| vkStream->read((VkPhysicalDevice*)forUnmarshaling->physicalDevices, VK_MAX_DEVICE_GROUP_SIZE * sizeof(VkPhysicalDevice)); |
| vkStream->read((VkBool32*)&forUnmarshaling->subsetAllocation, sizeof(VkBool32)); |
| } |
| |
| void marshal_VkDeviceGroupDeviceCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkDeviceGroupDeviceCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->physicalDeviceCount, sizeof(uint32_t)); |
| if (forMarshaling->physicalDeviceCount) |
| { |
| uint64_t* cgen_var_170; |
| vkStream->alloc((void**)&cgen_var_170, forMarshaling->physicalDeviceCount * 8); |
| vkStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(forMarshaling->pPhysicalDevices, cgen_var_170, forMarshaling->physicalDeviceCount); |
| vkStream->write((uint64_t*)cgen_var_170, forMarshaling->physicalDeviceCount * 8); |
| } |
| } |
| |
| void unmarshal_VkDeviceGroupDeviceCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkDeviceGroupDeviceCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->physicalDeviceCount, sizeof(uint32_t)); |
| if (forUnmarshaling->physicalDeviceCount) |
| { |
| uint64_t* cgen_var_171; |
| vkStream->alloc((void**)&cgen_var_171, forUnmarshaling->physicalDeviceCount * 8); |
| vkStream->read((uint64_t*)cgen_var_171, forUnmarshaling->physicalDeviceCount * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkPhysicalDevice(cgen_var_171, (VkPhysicalDevice*)forUnmarshaling->pPhysicalDevices, forUnmarshaling->physicalDeviceCount); |
| } |
| } |
| |
| void marshal_VkBufferMemoryRequirementsInfo2( |
| VulkanStreamGuest* vkStream, |
| const VkBufferMemoryRequirementsInfo2* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_172; |
| vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_172, 1); |
| vkStream->write((uint64_t*)&cgen_var_172, 1 * 8); |
| } |
| |
| void unmarshal_VkBufferMemoryRequirementsInfo2( |
| VulkanStreamGuest* vkStream, |
| VkBufferMemoryRequirementsInfo2* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_173; |
| vkStream->read((uint64_t*)&cgen_var_173, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_173, (VkBuffer*)&forUnmarshaling->buffer, 1); |
| } |
| |
| void marshal_VkImageMemoryRequirementsInfo2( |
| VulkanStreamGuest* vkStream, |
| const VkImageMemoryRequirementsInfo2* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_174; |
| vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_174, 1); |
| vkStream->write((uint64_t*)&cgen_var_174, 1 * 8); |
| } |
| |
| void unmarshal_VkImageMemoryRequirementsInfo2( |
| VulkanStreamGuest* vkStream, |
| VkImageMemoryRequirementsInfo2* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_175; |
| vkStream->read((uint64_t*)&cgen_var_175, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_175, (VkImage*)&forUnmarshaling->image, 1); |
| } |
| |
| void marshal_VkImageSparseMemoryRequirementsInfo2( |
| VulkanStreamGuest* vkStream, |
| const VkImageSparseMemoryRequirementsInfo2* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_176; |
| vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_176, 1); |
| vkStream->write((uint64_t*)&cgen_var_176, 1 * 8); |
| } |
| |
| void unmarshal_VkImageSparseMemoryRequirementsInfo2( |
| VulkanStreamGuest* vkStream, |
| VkImageSparseMemoryRequirementsInfo2* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_177; |
| vkStream->read((uint64_t*)&cgen_var_177, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_177, (VkImage*)&forUnmarshaling->image, 1); |
| } |
| |
| void marshal_VkMemoryRequirements2( |
| VulkanStreamGuest* vkStream, |
| const VkMemoryRequirements2* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| marshal_VkMemoryRequirements(vkStream, (VkMemoryRequirements*)(&forMarshaling->memoryRequirements)); |
| } |
| |
| void unmarshal_VkMemoryRequirements2( |
| VulkanStreamGuest* vkStream, |
| VkMemoryRequirements2* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| unmarshal_VkMemoryRequirements(vkStream, (VkMemoryRequirements*)(&forUnmarshaling->memoryRequirements)); |
| } |
| |
| void marshal_VkSparseImageMemoryRequirements2( |
| VulkanStreamGuest* vkStream, |
| const VkSparseImageMemoryRequirements2* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| marshal_VkSparseImageMemoryRequirements(vkStream, (VkSparseImageMemoryRequirements*)(&forMarshaling->memoryRequirements)); |
| } |
| |
| void unmarshal_VkSparseImageMemoryRequirements2( |
| VulkanStreamGuest* vkStream, |
| VkSparseImageMemoryRequirements2* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| unmarshal_VkSparseImageMemoryRequirements(vkStream, (VkSparseImageMemoryRequirements*)(&forUnmarshaling->memoryRequirements)); |
| } |
| |
| void marshal_VkPhysicalDeviceFeatures2( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceFeatures2* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| marshal_VkPhysicalDeviceFeatures(vkStream, (VkPhysicalDeviceFeatures*)(&forMarshaling->features)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceFeatures2( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceFeatures2* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| unmarshal_VkPhysicalDeviceFeatures(vkStream, (VkPhysicalDeviceFeatures*)(&forUnmarshaling->features)); |
| } |
| |
| void marshal_VkPhysicalDeviceProperties2( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceProperties2* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| marshal_VkPhysicalDeviceProperties(vkStream, (VkPhysicalDeviceProperties*)(&forMarshaling->properties)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceProperties2( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceProperties2* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| unmarshal_VkPhysicalDeviceProperties(vkStream, (VkPhysicalDeviceProperties*)(&forUnmarshaling->properties)); |
| } |
| |
| void marshal_VkFormatProperties2( |
| VulkanStreamGuest* vkStream, |
| const VkFormatProperties2* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| marshal_VkFormatProperties(vkStream, (VkFormatProperties*)(&forMarshaling->formatProperties)); |
| } |
| |
| void unmarshal_VkFormatProperties2( |
| VulkanStreamGuest* vkStream, |
| VkFormatProperties2* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| unmarshal_VkFormatProperties(vkStream, (VkFormatProperties*)(&forUnmarshaling->formatProperties)); |
| } |
| |
| void marshal_VkImageFormatProperties2( |
| VulkanStreamGuest* vkStream, |
| const VkImageFormatProperties2* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| marshal_VkImageFormatProperties(vkStream, (VkImageFormatProperties*)(&forMarshaling->imageFormatProperties)); |
| } |
| |
| void unmarshal_VkImageFormatProperties2( |
| VulkanStreamGuest* vkStream, |
| VkImageFormatProperties2* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| unmarshal_VkImageFormatProperties(vkStream, (VkImageFormatProperties*)(&forUnmarshaling->imageFormatProperties)); |
| } |
| |
| void marshal_VkPhysicalDeviceImageFormatInfo2( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceImageFormatInfo2* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat)); |
| vkStream->write((VkImageType*)&forMarshaling->type, sizeof(VkImageType)); |
| vkStream->write((VkImageTiling*)&forMarshaling->tiling, sizeof(VkImageTiling)); |
| vkStream->write((VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags)); |
| vkStream->write((VkImageCreateFlags*)&forMarshaling->flags, sizeof(VkImageCreateFlags)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceImageFormatInfo2( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceImageFormatInfo2* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat)); |
| vkStream->read((VkImageType*)&forUnmarshaling->type, sizeof(VkImageType)); |
| vkStream->read((VkImageTiling*)&forUnmarshaling->tiling, sizeof(VkImageTiling)); |
| vkStream->read((VkImageUsageFlags*)&forUnmarshaling->usage, sizeof(VkImageUsageFlags)); |
| vkStream->read((VkImageCreateFlags*)&forUnmarshaling->flags, sizeof(VkImageCreateFlags)); |
| } |
| |
| void marshal_VkQueueFamilyProperties2( |
| VulkanStreamGuest* vkStream, |
| const VkQueueFamilyProperties2* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| marshal_VkQueueFamilyProperties(vkStream, (VkQueueFamilyProperties*)(&forMarshaling->queueFamilyProperties)); |
| } |
| |
| void unmarshal_VkQueueFamilyProperties2( |
| VulkanStreamGuest* vkStream, |
| VkQueueFamilyProperties2* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| unmarshal_VkQueueFamilyProperties(vkStream, (VkQueueFamilyProperties*)(&forUnmarshaling->queueFamilyProperties)); |
| } |
| |
| void marshal_VkPhysicalDeviceMemoryProperties2( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceMemoryProperties2* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| marshal_VkPhysicalDeviceMemoryProperties(vkStream, (VkPhysicalDeviceMemoryProperties*)(&forMarshaling->memoryProperties)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceMemoryProperties2( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceMemoryProperties2* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| unmarshal_VkPhysicalDeviceMemoryProperties(vkStream, (VkPhysicalDeviceMemoryProperties*)(&forUnmarshaling->memoryProperties)); |
| } |
| |
| void marshal_VkSparseImageFormatProperties2( |
| VulkanStreamGuest* vkStream, |
| const VkSparseImageFormatProperties2* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| marshal_VkSparseImageFormatProperties(vkStream, (VkSparseImageFormatProperties*)(&forMarshaling->properties)); |
| } |
| |
| void unmarshal_VkSparseImageFormatProperties2( |
| VulkanStreamGuest* vkStream, |
| VkSparseImageFormatProperties2* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| unmarshal_VkSparseImageFormatProperties(vkStream, (VkSparseImageFormatProperties*)(&forUnmarshaling->properties)); |
| } |
| |
| void marshal_VkPhysicalDeviceSparseImageFormatInfo2( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceSparseImageFormatInfo2* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat)); |
| vkStream->write((VkImageType*)&forMarshaling->type, sizeof(VkImageType)); |
| vkStream->write((VkSampleCountFlagBits*)&forMarshaling->samples, sizeof(VkSampleCountFlagBits)); |
| vkStream->write((VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags)); |
| vkStream->write((VkImageTiling*)&forMarshaling->tiling, sizeof(VkImageTiling)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceSparseImageFormatInfo2( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceSparseImageFormatInfo2* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat)); |
| vkStream->read((VkImageType*)&forUnmarshaling->type, sizeof(VkImageType)); |
| vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->samples, sizeof(VkSampleCountFlagBits)); |
| vkStream->read((VkImageUsageFlags*)&forUnmarshaling->usage, sizeof(VkImageUsageFlags)); |
| vkStream->read((VkImageTiling*)&forUnmarshaling->tiling, sizeof(VkImageTiling)); |
| } |
| |
| void marshal_VkPhysicalDevicePointClippingProperties( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDevicePointClippingProperties* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkPointClippingBehavior*)&forMarshaling->pointClippingBehavior, sizeof(VkPointClippingBehavior)); |
| } |
| |
| void unmarshal_VkPhysicalDevicePointClippingProperties( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDevicePointClippingProperties* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkPointClippingBehavior*)&forUnmarshaling->pointClippingBehavior, sizeof(VkPointClippingBehavior)); |
| } |
| |
| void marshal_VkInputAttachmentAspectReference( |
| VulkanStreamGuest* vkStream, |
| const VkInputAttachmentAspectReference* forMarshaling) |
| { |
| vkStream->write((uint32_t*)&forMarshaling->subpass, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->inputAttachmentIndex, sizeof(uint32_t)); |
| vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags)); |
| } |
| |
| void unmarshal_VkInputAttachmentAspectReference( |
| VulkanStreamGuest* vkStream, |
| VkInputAttachmentAspectReference* forUnmarshaling) |
| { |
| vkStream->read((uint32_t*)&forUnmarshaling->subpass, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->inputAttachmentIndex, sizeof(uint32_t)); |
| vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags)); |
| } |
| |
| void marshal_VkRenderPassInputAttachmentAspectCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkRenderPassInputAttachmentAspectCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->aspectReferenceCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->aspectReferenceCount; ++i) |
| { |
| marshal_VkInputAttachmentAspectReference(vkStream, (const VkInputAttachmentAspectReference*)(forMarshaling->pAspectReferences + i)); |
| } |
| } |
| |
| void unmarshal_VkRenderPassInputAttachmentAspectCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkRenderPassInputAttachmentAspectCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->aspectReferenceCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->aspectReferenceCount; ++i) |
| { |
| unmarshal_VkInputAttachmentAspectReference(vkStream, (VkInputAttachmentAspectReference*)(forUnmarshaling->pAspectReferences + i)); |
| } |
| } |
| |
| void marshal_VkImageViewUsageCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkImageViewUsageCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags)); |
| } |
| |
| void unmarshal_VkImageViewUsageCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkImageViewUsageCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkImageUsageFlags*)&forUnmarshaling->usage, sizeof(VkImageUsageFlags)); |
| } |
| |
| void marshal_VkPipelineTessellationDomainOriginStateCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkPipelineTessellationDomainOriginStateCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkTessellationDomainOrigin*)&forMarshaling->domainOrigin, sizeof(VkTessellationDomainOrigin)); |
| } |
| |
| void unmarshal_VkPipelineTessellationDomainOriginStateCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkPipelineTessellationDomainOriginStateCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkTessellationDomainOrigin*)&forUnmarshaling->domainOrigin, sizeof(VkTessellationDomainOrigin)); |
| } |
| |
| void marshal_VkRenderPassMultiviewCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkRenderPassMultiviewCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->subpassCount, sizeof(uint32_t)); |
| vkStream->write((const uint32_t*)forMarshaling->pViewMasks, forMarshaling->subpassCount * sizeof(const uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->dependencyCount, sizeof(uint32_t)); |
| vkStream->write((const int32_t*)forMarshaling->pViewOffsets, forMarshaling->dependencyCount * sizeof(const int32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->correlationMaskCount, sizeof(uint32_t)); |
| vkStream->write((const uint32_t*)forMarshaling->pCorrelationMasks, forMarshaling->correlationMaskCount * sizeof(const uint32_t)); |
| } |
| |
| void unmarshal_VkRenderPassMultiviewCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkRenderPassMultiviewCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->subpassCount, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)forUnmarshaling->pViewMasks, forUnmarshaling->subpassCount * sizeof(const uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->dependencyCount, sizeof(uint32_t)); |
| vkStream->read((int32_t*)forUnmarshaling->pViewOffsets, forUnmarshaling->dependencyCount * sizeof(const int32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->correlationMaskCount, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)forUnmarshaling->pCorrelationMasks, forUnmarshaling->correlationMaskCount * sizeof(const uint32_t)); |
| } |
| |
| void marshal_VkPhysicalDeviceMultiviewFeatures( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceMultiviewFeatures* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkBool32*)&forMarshaling->multiview, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->multiviewGeometryShader, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->multiviewTessellationShader, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceMultiviewFeatures( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceMultiviewFeatures* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkBool32*)&forUnmarshaling->multiview, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->multiviewGeometryShader, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->multiviewTessellationShader, sizeof(VkBool32)); |
| } |
| |
| void marshal_VkPhysicalDeviceMultiviewProperties( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceMultiviewProperties* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->maxMultiviewViewCount, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxMultiviewInstanceIndex, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceMultiviewProperties( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceMultiviewProperties* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->maxMultiviewViewCount, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxMultiviewInstanceIndex, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkPhysicalDeviceVariablePointerFeatures( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceVariablePointerFeatures* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkBool32*)&forMarshaling->variablePointersStorageBuffer, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->variablePointers, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceVariablePointerFeatures( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceVariablePointerFeatures* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkBool32*)&forUnmarshaling->variablePointersStorageBuffer, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->variablePointers, sizeof(VkBool32)); |
| } |
| |
| void marshal_VkPhysicalDeviceProtectedMemoryFeatures( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceProtectedMemoryFeatures* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkBool32*)&forMarshaling->protectedMemory, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceProtectedMemoryFeatures( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceProtectedMemoryFeatures* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkBool32*)&forUnmarshaling->protectedMemory, sizeof(VkBool32)); |
| } |
| |
| void marshal_VkPhysicalDeviceProtectedMemoryProperties( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceProtectedMemoryProperties* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkBool32*)&forMarshaling->protectedNoFault, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceProtectedMemoryProperties( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceProtectedMemoryProperties* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkBool32*)&forUnmarshaling->protectedNoFault, sizeof(VkBool32)); |
| } |
| |
| void marshal_VkDeviceQueueInfo2( |
| VulkanStreamGuest* vkStream, |
| const VkDeviceQueueInfo2* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkDeviceQueueCreateFlags*)&forMarshaling->flags, sizeof(VkDeviceQueueCreateFlags)); |
| vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndex, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->queueIndex, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkDeviceQueueInfo2( |
| VulkanStreamGuest* vkStream, |
| VkDeviceQueueInfo2* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkDeviceQueueCreateFlags*)&forUnmarshaling->flags, sizeof(VkDeviceQueueCreateFlags)); |
| vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndex, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->queueIndex, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkProtectedSubmitInfo( |
| VulkanStreamGuest* vkStream, |
| const VkProtectedSubmitInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkBool32*)&forMarshaling->protectedSubmit, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkProtectedSubmitInfo( |
| VulkanStreamGuest* vkStream, |
| VkProtectedSubmitInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkBool32*)&forUnmarshaling->protectedSubmit, sizeof(VkBool32)); |
| } |
| |
| void marshal_VkSamplerYcbcrConversionCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkSamplerYcbcrConversionCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat)); |
| vkStream->write((VkSamplerYcbcrModelConversion*)&forMarshaling->ycbcrModel, sizeof(VkSamplerYcbcrModelConversion)); |
| vkStream->write((VkSamplerYcbcrRange*)&forMarshaling->ycbcrRange, sizeof(VkSamplerYcbcrRange)); |
| marshal_VkComponentMapping(vkStream, (VkComponentMapping*)(&forMarshaling->components)); |
| vkStream->write((VkChromaLocation*)&forMarshaling->xChromaOffset, sizeof(VkChromaLocation)); |
| vkStream->write((VkChromaLocation*)&forMarshaling->yChromaOffset, sizeof(VkChromaLocation)); |
| vkStream->write((VkFilter*)&forMarshaling->chromaFilter, sizeof(VkFilter)); |
| vkStream->write((VkBool32*)&forMarshaling->forceExplicitReconstruction, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkSamplerYcbcrConversionCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkSamplerYcbcrConversionCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat)); |
| vkStream->read((VkSamplerYcbcrModelConversion*)&forUnmarshaling->ycbcrModel, sizeof(VkSamplerYcbcrModelConversion)); |
| vkStream->read((VkSamplerYcbcrRange*)&forUnmarshaling->ycbcrRange, sizeof(VkSamplerYcbcrRange)); |
| unmarshal_VkComponentMapping(vkStream, (VkComponentMapping*)(&forUnmarshaling->components)); |
| vkStream->read((VkChromaLocation*)&forUnmarshaling->xChromaOffset, sizeof(VkChromaLocation)); |
| vkStream->read((VkChromaLocation*)&forUnmarshaling->yChromaOffset, sizeof(VkChromaLocation)); |
| vkStream->read((VkFilter*)&forUnmarshaling->chromaFilter, sizeof(VkFilter)); |
| vkStream->read((VkBool32*)&forUnmarshaling->forceExplicitReconstruction, sizeof(VkBool32)); |
| } |
| |
| void marshal_VkSamplerYcbcrConversionInfo( |
| VulkanStreamGuest* vkStream, |
| const VkSamplerYcbcrConversionInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_178; |
| vkStream->handleMapping()->mapHandles_VkSamplerYcbcrConversion_u64(&forMarshaling->conversion, &cgen_var_178, 1); |
| vkStream->write((uint64_t*)&cgen_var_178, 1 * 8); |
| } |
| |
| void unmarshal_VkSamplerYcbcrConversionInfo( |
| VulkanStreamGuest* vkStream, |
| VkSamplerYcbcrConversionInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_179; |
| vkStream->read((uint64_t*)&cgen_var_179, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkSamplerYcbcrConversion(&cgen_var_179, (VkSamplerYcbcrConversion*)&forUnmarshaling->conversion, 1); |
| } |
| |
| void marshal_VkBindImagePlaneMemoryInfo( |
| VulkanStreamGuest* vkStream, |
| const VkBindImagePlaneMemoryInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkImageAspectFlagBits*)&forMarshaling->planeAspect, sizeof(VkImageAspectFlagBits)); |
| } |
| |
| void unmarshal_VkBindImagePlaneMemoryInfo( |
| VulkanStreamGuest* vkStream, |
| VkBindImagePlaneMemoryInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkImageAspectFlagBits*)&forUnmarshaling->planeAspect, sizeof(VkImageAspectFlagBits)); |
| } |
| |
| void marshal_VkImagePlaneMemoryRequirementsInfo( |
| VulkanStreamGuest* vkStream, |
| const VkImagePlaneMemoryRequirementsInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkImageAspectFlagBits*)&forMarshaling->planeAspect, sizeof(VkImageAspectFlagBits)); |
| } |
| |
| void unmarshal_VkImagePlaneMemoryRequirementsInfo( |
| VulkanStreamGuest* vkStream, |
| VkImagePlaneMemoryRequirementsInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkImageAspectFlagBits*)&forUnmarshaling->planeAspect, sizeof(VkImageAspectFlagBits)); |
| } |
| |
| void marshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceSamplerYcbcrConversionFeatures* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkBool32*)&forMarshaling->samplerYcbcrConversion, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceSamplerYcbcrConversionFeatures* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkBool32*)&forUnmarshaling->samplerYcbcrConversion, sizeof(VkBool32)); |
| } |
| |
| void marshal_VkSamplerYcbcrConversionImageFormatProperties( |
| VulkanStreamGuest* vkStream, |
| const VkSamplerYcbcrConversionImageFormatProperties* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->combinedImageSamplerDescriptorCount, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkSamplerYcbcrConversionImageFormatProperties( |
| VulkanStreamGuest* vkStream, |
| VkSamplerYcbcrConversionImageFormatProperties* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->combinedImageSamplerDescriptorCount, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkDescriptorUpdateTemplateEntry( |
| VulkanStreamGuest* vkStream, |
| const VkDescriptorUpdateTemplateEntry* forMarshaling) |
| { |
| vkStream->write((uint32_t*)&forMarshaling->dstBinding, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->dstArrayElement, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t)); |
| vkStream->write((VkDescriptorType*)&forMarshaling->descriptorType, sizeof(VkDescriptorType)); |
| uint64_t cgen_var_180 = (uint64_t)forMarshaling->offset; |
| vkStream->putBe64(cgen_var_180); |
| uint64_t cgen_var_181 = (uint64_t)forMarshaling->stride; |
| vkStream->putBe64(cgen_var_181); |
| } |
| |
| void unmarshal_VkDescriptorUpdateTemplateEntry( |
| VulkanStreamGuest* vkStream, |
| VkDescriptorUpdateTemplateEntry* forUnmarshaling) |
| { |
| vkStream->read((uint32_t*)&forUnmarshaling->dstBinding, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->dstArrayElement, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->descriptorCount, sizeof(uint32_t)); |
| vkStream->read((VkDescriptorType*)&forUnmarshaling->descriptorType, sizeof(VkDescriptorType)); |
| forUnmarshaling->offset = (size_t)vkStream->getBe64(); |
| forUnmarshaling->stride = (size_t)vkStream->getBe64(); |
| } |
| |
| void marshal_VkDescriptorUpdateTemplateCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkDescriptorUpdateTemplateCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkDescriptorUpdateTemplateCreateFlags*)&forMarshaling->flags, sizeof(VkDescriptorUpdateTemplateCreateFlags)); |
| vkStream->write((uint32_t*)&forMarshaling->descriptorUpdateEntryCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->descriptorUpdateEntryCount; ++i) |
| { |
| marshal_VkDescriptorUpdateTemplateEntry(vkStream, (const VkDescriptorUpdateTemplateEntry*)(forMarshaling->pDescriptorUpdateEntries + i)); |
| } |
| vkStream->write((VkDescriptorUpdateTemplateType*)&forMarshaling->templateType, sizeof(VkDescriptorUpdateTemplateType)); |
| uint64_t cgen_var_184; |
| vkStream->handleMapping()->mapHandles_VkDescriptorSetLayout_u64(&forMarshaling->descriptorSetLayout, &cgen_var_184, 1); |
| vkStream->write((uint64_t*)&cgen_var_184, 1 * 8); |
| vkStream->write((VkPipelineBindPoint*)&forMarshaling->pipelineBindPoint, sizeof(VkPipelineBindPoint)); |
| uint64_t cgen_var_185; |
| vkStream->handleMapping()->mapHandles_VkPipelineLayout_u64(&forMarshaling->pipelineLayout, &cgen_var_185, 1); |
| vkStream->write((uint64_t*)&cgen_var_185, 1 * 8); |
| vkStream->write((uint32_t*)&forMarshaling->set, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkDescriptorUpdateTemplateCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkDescriptorUpdateTemplateCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkDescriptorUpdateTemplateCreateFlags*)&forUnmarshaling->flags, sizeof(VkDescriptorUpdateTemplateCreateFlags)); |
| vkStream->read((uint32_t*)&forUnmarshaling->descriptorUpdateEntryCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->descriptorUpdateEntryCount; ++i) |
| { |
| unmarshal_VkDescriptorUpdateTemplateEntry(vkStream, (VkDescriptorUpdateTemplateEntry*)(forUnmarshaling->pDescriptorUpdateEntries + i)); |
| } |
| vkStream->read((VkDescriptorUpdateTemplateType*)&forUnmarshaling->templateType, sizeof(VkDescriptorUpdateTemplateType)); |
| uint64_t cgen_var_186; |
| vkStream->read((uint64_t*)&cgen_var_186, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkDescriptorSetLayout(&cgen_var_186, (VkDescriptorSetLayout*)&forUnmarshaling->descriptorSetLayout, 1); |
| vkStream->read((VkPipelineBindPoint*)&forUnmarshaling->pipelineBindPoint, sizeof(VkPipelineBindPoint)); |
| uint64_t cgen_var_187; |
| vkStream->read((uint64_t*)&cgen_var_187, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkPipelineLayout(&cgen_var_187, (VkPipelineLayout*)&forUnmarshaling->pipelineLayout, 1); |
| vkStream->read((uint32_t*)&forUnmarshaling->set, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkExternalMemoryProperties( |
| VulkanStreamGuest* vkStream, |
| const VkExternalMemoryProperties* forMarshaling) |
| { |
| vkStream->write((VkExternalMemoryFeatureFlags*)&forMarshaling->externalMemoryFeatures, sizeof(VkExternalMemoryFeatureFlags)); |
| vkStream->write((VkExternalMemoryHandleTypeFlags*)&forMarshaling->exportFromImportedHandleTypes, sizeof(VkExternalMemoryHandleTypeFlags)); |
| vkStream->write((VkExternalMemoryHandleTypeFlags*)&forMarshaling->compatibleHandleTypes, sizeof(VkExternalMemoryHandleTypeFlags)); |
| } |
| |
| void unmarshal_VkExternalMemoryProperties( |
| VulkanStreamGuest* vkStream, |
| VkExternalMemoryProperties* forUnmarshaling) |
| { |
| vkStream->read((VkExternalMemoryFeatureFlags*)&forUnmarshaling->externalMemoryFeatures, sizeof(VkExternalMemoryFeatureFlags)); |
| vkStream->read((VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->exportFromImportedHandleTypes, sizeof(VkExternalMemoryHandleTypeFlags)); |
| vkStream->read((VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->compatibleHandleTypes, sizeof(VkExternalMemoryHandleTypeFlags)); |
| } |
| |
| void marshal_VkPhysicalDeviceExternalImageFormatInfo( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceExternalImageFormatInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagBits)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceExternalImageFormatInfo( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceExternalImageFormatInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkExternalMemoryHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagBits)); |
| } |
| |
| void marshal_VkExternalImageFormatProperties( |
| VulkanStreamGuest* vkStream, |
| const VkExternalImageFormatProperties* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| marshal_VkExternalMemoryProperties(vkStream, (VkExternalMemoryProperties*)(&forMarshaling->externalMemoryProperties)); |
| } |
| |
| void unmarshal_VkExternalImageFormatProperties( |
| VulkanStreamGuest* vkStream, |
| VkExternalImageFormatProperties* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| unmarshal_VkExternalMemoryProperties(vkStream, (VkExternalMemoryProperties*)(&forUnmarshaling->externalMemoryProperties)); |
| } |
| |
| void marshal_VkPhysicalDeviceExternalBufferInfo( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceExternalBufferInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkBufferCreateFlags*)&forMarshaling->flags, sizeof(VkBufferCreateFlags)); |
| vkStream->write((VkBufferUsageFlags*)&forMarshaling->usage, sizeof(VkBufferUsageFlags)); |
| vkStream->write((VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagBits)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceExternalBufferInfo( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceExternalBufferInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkBufferCreateFlags*)&forUnmarshaling->flags, sizeof(VkBufferCreateFlags)); |
| vkStream->read((VkBufferUsageFlags*)&forUnmarshaling->usage, sizeof(VkBufferUsageFlags)); |
| vkStream->read((VkExternalMemoryHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagBits)); |
| } |
| |
| void marshal_VkExternalBufferProperties( |
| VulkanStreamGuest* vkStream, |
| const VkExternalBufferProperties* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| marshal_VkExternalMemoryProperties(vkStream, (VkExternalMemoryProperties*)(&forMarshaling->externalMemoryProperties)); |
| } |
| |
| void unmarshal_VkExternalBufferProperties( |
| VulkanStreamGuest* vkStream, |
| VkExternalBufferProperties* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| unmarshal_VkExternalMemoryProperties(vkStream, (VkExternalMemoryProperties*)(&forUnmarshaling->externalMemoryProperties)); |
| } |
| |
| void marshal_VkPhysicalDeviceIDProperties( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceIDProperties* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint8_t*)forMarshaling->deviceUUID, VK_UUID_SIZE * sizeof(uint8_t)); |
| vkStream->write((uint8_t*)forMarshaling->driverUUID, VK_UUID_SIZE * sizeof(uint8_t)); |
| vkStream->write((uint8_t*)forMarshaling->deviceLUID, VK_LUID_SIZE * sizeof(uint8_t)); |
| vkStream->write((uint32_t*)&forMarshaling->deviceNodeMask, sizeof(uint32_t)); |
| vkStream->write((VkBool32*)&forMarshaling->deviceLUIDValid, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceIDProperties( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceIDProperties* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint8_t*)forUnmarshaling->deviceUUID, VK_UUID_SIZE * sizeof(uint8_t)); |
| vkStream->read((uint8_t*)forUnmarshaling->driverUUID, VK_UUID_SIZE * sizeof(uint8_t)); |
| vkStream->read((uint8_t*)forUnmarshaling->deviceLUID, VK_LUID_SIZE * sizeof(uint8_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->deviceNodeMask, sizeof(uint32_t)); |
| vkStream->read((VkBool32*)&forUnmarshaling->deviceLUIDValid, sizeof(VkBool32)); |
| } |
| |
| void marshal_VkExternalMemoryImageCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkExternalMemoryImageCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkExternalMemoryHandleTypeFlags*)&forMarshaling->handleTypes, sizeof(VkExternalMemoryHandleTypeFlags)); |
| } |
| |
| void unmarshal_VkExternalMemoryImageCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkExternalMemoryImageCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->handleTypes, sizeof(VkExternalMemoryHandleTypeFlags)); |
| } |
| |
| void marshal_VkExternalMemoryBufferCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkExternalMemoryBufferCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkExternalMemoryHandleTypeFlags*)&forMarshaling->handleTypes, sizeof(VkExternalMemoryHandleTypeFlags)); |
| } |
| |
| void unmarshal_VkExternalMemoryBufferCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkExternalMemoryBufferCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->handleTypes, sizeof(VkExternalMemoryHandleTypeFlags)); |
| } |
| |
| void marshal_VkExportMemoryAllocateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkExportMemoryAllocateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkExternalMemoryHandleTypeFlags*)&forMarshaling->handleTypes, sizeof(VkExternalMemoryHandleTypeFlags)); |
| } |
| |
| void unmarshal_VkExportMemoryAllocateInfo( |
| VulkanStreamGuest* vkStream, |
| VkExportMemoryAllocateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->handleTypes, sizeof(VkExternalMemoryHandleTypeFlags)); |
| } |
| |
| void marshal_VkPhysicalDeviceExternalFenceInfo( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceExternalFenceInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkExternalFenceHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalFenceHandleTypeFlagBits)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceExternalFenceInfo( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceExternalFenceInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkExternalFenceHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalFenceHandleTypeFlagBits)); |
| } |
| |
| void marshal_VkExternalFenceProperties( |
| VulkanStreamGuest* vkStream, |
| const VkExternalFenceProperties* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkExternalFenceHandleTypeFlags*)&forMarshaling->exportFromImportedHandleTypes, sizeof(VkExternalFenceHandleTypeFlags)); |
| vkStream->write((VkExternalFenceHandleTypeFlags*)&forMarshaling->compatibleHandleTypes, sizeof(VkExternalFenceHandleTypeFlags)); |
| vkStream->write((VkExternalFenceFeatureFlags*)&forMarshaling->externalFenceFeatures, sizeof(VkExternalFenceFeatureFlags)); |
| } |
| |
| void unmarshal_VkExternalFenceProperties( |
| VulkanStreamGuest* vkStream, |
| VkExternalFenceProperties* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkExternalFenceHandleTypeFlags*)&forUnmarshaling->exportFromImportedHandleTypes, sizeof(VkExternalFenceHandleTypeFlags)); |
| vkStream->read((VkExternalFenceHandleTypeFlags*)&forUnmarshaling->compatibleHandleTypes, sizeof(VkExternalFenceHandleTypeFlags)); |
| vkStream->read((VkExternalFenceFeatureFlags*)&forUnmarshaling->externalFenceFeatures, sizeof(VkExternalFenceFeatureFlags)); |
| } |
| |
| void marshal_VkExportFenceCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkExportFenceCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkExternalFenceHandleTypeFlags*)&forMarshaling->handleTypes, sizeof(VkExternalFenceHandleTypeFlags)); |
| } |
| |
| void unmarshal_VkExportFenceCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkExportFenceCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkExternalFenceHandleTypeFlags*)&forUnmarshaling->handleTypes, sizeof(VkExternalFenceHandleTypeFlags)); |
| } |
| |
| void marshal_VkExportSemaphoreCreateInfo( |
| VulkanStreamGuest* vkStream, |
| const VkExportSemaphoreCreateInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkExternalSemaphoreHandleTypeFlags*)&forMarshaling->handleTypes, sizeof(VkExternalSemaphoreHandleTypeFlags)); |
| } |
| |
| void unmarshal_VkExportSemaphoreCreateInfo( |
| VulkanStreamGuest* vkStream, |
| VkExportSemaphoreCreateInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkExternalSemaphoreHandleTypeFlags*)&forUnmarshaling->handleTypes, sizeof(VkExternalSemaphoreHandleTypeFlags)); |
| } |
| |
| void marshal_VkPhysicalDeviceExternalSemaphoreInfo( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceExternalSemaphoreInfo* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalSemaphoreHandleTypeFlagBits)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceExternalSemaphoreInfo( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceExternalSemaphoreInfo* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkExternalSemaphoreHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalSemaphoreHandleTypeFlagBits)); |
| } |
| |
| void marshal_VkExternalSemaphoreProperties( |
| VulkanStreamGuest* vkStream, |
| const VkExternalSemaphoreProperties* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkExternalSemaphoreHandleTypeFlags*)&forMarshaling->exportFromImportedHandleTypes, sizeof(VkExternalSemaphoreHandleTypeFlags)); |
| vkStream->write((VkExternalSemaphoreHandleTypeFlags*)&forMarshaling->compatibleHandleTypes, sizeof(VkExternalSemaphoreHandleTypeFlags)); |
| vkStream->write((VkExternalSemaphoreFeatureFlags*)&forMarshaling->externalSemaphoreFeatures, sizeof(VkExternalSemaphoreFeatureFlags)); |
| } |
| |
| void unmarshal_VkExternalSemaphoreProperties( |
| VulkanStreamGuest* vkStream, |
| VkExternalSemaphoreProperties* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkExternalSemaphoreHandleTypeFlags*)&forUnmarshaling->exportFromImportedHandleTypes, sizeof(VkExternalSemaphoreHandleTypeFlags)); |
| vkStream->read((VkExternalSemaphoreHandleTypeFlags*)&forUnmarshaling->compatibleHandleTypes, sizeof(VkExternalSemaphoreHandleTypeFlags)); |
| vkStream->read((VkExternalSemaphoreFeatureFlags*)&forUnmarshaling->externalSemaphoreFeatures, sizeof(VkExternalSemaphoreFeatureFlags)); |
| } |
| |
| void marshal_VkPhysicalDeviceMaintenance3Properties( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceMaintenance3Properties* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->maxPerSetDescriptors, sizeof(uint32_t)); |
| vkStream->write((VkDeviceSize*)&forMarshaling->maxMemoryAllocationSize, sizeof(VkDeviceSize)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceMaintenance3Properties( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceMaintenance3Properties* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->maxPerSetDescriptors, sizeof(uint32_t)); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->maxMemoryAllocationSize, sizeof(VkDeviceSize)); |
| } |
| |
| void marshal_VkDescriptorSetLayoutSupport( |
| VulkanStreamGuest* vkStream, |
| const VkDescriptorSetLayoutSupport* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkBool32*)&forMarshaling->supported, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkDescriptorSetLayoutSupport( |
| VulkanStreamGuest* vkStream, |
| VkDescriptorSetLayoutSupport* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkBool32*)&forUnmarshaling->supported, sizeof(VkBool32)); |
| } |
| |
| void marshal_VkPhysicalDeviceShaderDrawParameterFeatures( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceShaderDrawParameterFeatures* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkBool32*)&forMarshaling->shaderDrawParameters, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceShaderDrawParameterFeatures( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceShaderDrawParameterFeatures* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderDrawParameters, sizeof(VkBool32)); |
| } |
| |
| #endif |
| #ifdef VK_KHR_surface |
| void marshal_VkSurfaceCapabilitiesKHR( |
| VulkanStreamGuest* vkStream, |
| const VkSurfaceCapabilitiesKHR* forMarshaling) |
| { |
| vkStream->write((uint32_t*)&forMarshaling->minImageCount, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxImageCount, sizeof(uint32_t)); |
| marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->currentExtent)); |
| marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->minImageExtent)); |
| marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->maxImageExtent)); |
| vkStream->write((uint32_t*)&forMarshaling->maxImageArrayLayers, sizeof(uint32_t)); |
| vkStream->write((VkSurfaceTransformFlagsKHR*)&forMarshaling->supportedTransforms, sizeof(VkSurfaceTransformFlagsKHR)); |
| vkStream->write((VkSurfaceTransformFlagBitsKHR*)&forMarshaling->currentTransform, sizeof(VkSurfaceTransformFlagBitsKHR)); |
| vkStream->write((VkCompositeAlphaFlagsKHR*)&forMarshaling->supportedCompositeAlpha, sizeof(VkCompositeAlphaFlagsKHR)); |
| vkStream->write((VkImageUsageFlags*)&forMarshaling->supportedUsageFlags, sizeof(VkImageUsageFlags)); |
| } |
| |
| void unmarshal_VkSurfaceCapabilitiesKHR( |
| VulkanStreamGuest* vkStream, |
| VkSurfaceCapabilitiesKHR* forUnmarshaling) |
| { |
| vkStream->read((uint32_t*)&forUnmarshaling->minImageCount, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxImageCount, sizeof(uint32_t)); |
| unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->currentExtent)); |
| unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->minImageExtent)); |
| unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->maxImageExtent)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxImageArrayLayers, sizeof(uint32_t)); |
| vkStream->read((VkSurfaceTransformFlagsKHR*)&forUnmarshaling->supportedTransforms, sizeof(VkSurfaceTransformFlagsKHR)); |
| vkStream->read((VkSurfaceTransformFlagBitsKHR*)&forUnmarshaling->currentTransform, sizeof(VkSurfaceTransformFlagBitsKHR)); |
| vkStream->read((VkCompositeAlphaFlagsKHR*)&forUnmarshaling->supportedCompositeAlpha, sizeof(VkCompositeAlphaFlagsKHR)); |
| vkStream->read((VkImageUsageFlags*)&forUnmarshaling->supportedUsageFlags, sizeof(VkImageUsageFlags)); |
| } |
| |
| void marshal_VkSurfaceFormatKHR( |
| VulkanStreamGuest* vkStream, |
| const VkSurfaceFormatKHR* forMarshaling) |
| { |
| vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat)); |
| vkStream->write((VkColorSpaceKHR*)&forMarshaling->colorSpace, sizeof(VkColorSpaceKHR)); |
| } |
| |
| void unmarshal_VkSurfaceFormatKHR( |
| VulkanStreamGuest* vkStream, |
| VkSurfaceFormatKHR* forUnmarshaling) |
| { |
| vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat)); |
| vkStream->read((VkColorSpaceKHR*)&forUnmarshaling->colorSpace, sizeof(VkColorSpaceKHR)); |
| } |
| |
| #endif |
| #ifdef VK_KHR_swapchain |
| void marshal_VkSwapchainCreateInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkSwapchainCreateInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkSwapchainCreateFlagsKHR*)&forMarshaling->flags, sizeof(VkSwapchainCreateFlagsKHR)); |
| uint64_t cgen_var_188; |
| vkStream->handleMapping()->mapHandles_VkSurfaceKHR_u64(&forMarshaling->surface, &cgen_var_188, 1); |
| vkStream->write((uint64_t*)&cgen_var_188, 1 * 8); |
| vkStream->write((uint32_t*)&forMarshaling->minImageCount, sizeof(uint32_t)); |
| vkStream->write((VkFormat*)&forMarshaling->imageFormat, sizeof(VkFormat)); |
| vkStream->write((VkColorSpaceKHR*)&forMarshaling->imageColorSpace, sizeof(VkColorSpaceKHR)); |
| marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->imageExtent)); |
| vkStream->write((uint32_t*)&forMarshaling->imageArrayLayers, sizeof(uint32_t)); |
| vkStream->write((VkImageUsageFlags*)&forMarshaling->imageUsage, sizeof(VkImageUsageFlags)); |
| vkStream->write((VkSharingMode*)&forMarshaling->imageSharingMode, sizeof(VkSharingMode)); |
| vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndexCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_189 = (uint64_t)(uintptr_t)forMarshaling->pQueueFamilyIndices; |
| vkStream->putBe64(cgen_var_189); |
| if (forMarshaling->pQueueFamilyIndices) |
| { |
| vkStream->write((const uint32_t*)forMarshaling->pQueueFamilyIndices, forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t)); |
| } |
| vkStream->write((VkSurfaceTransformFlagBitsKHR*)&forMarshaling->preTransform, sizeof(VkSurfaceTransformFlagBitsKHR)); |
| vkStream->write((VkCompositeAlphaFlagBitsKHR*)&forMarshaling->compositeAlpha, sizeof(VkCompositeAlphaFlagBitsKHR)); |
| vkStream->write((VkPresentModeKHR*)&forMarshaling->presentMode, sizeof(VkPresentModeKHR)); |
| vkStream->write((VkBool32*)&forMarshaling->clipped, sizeof(VkBool32)); |
| uint64_t cgen_var_190; |
| vkStream->handleMapping()->mapHandles_VkSwapchainKHR_u64(&forMarshaling->oldSwapchain, &cgen_var_190, 1); |
| vkStream->write((uint64_t*)&cgen_var_190, 1 * 8); |
| } |
| |
| void unmarshal_VkSwapchainCreateInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkSwapchainCreateInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkSwapchainCreateFlagsKHR*)&forUnmarshaling->flags, sizeof(VkSwapchainCreateFlagsKHR)); |
| uint64_t cgen_var_191; |
| vkStream->read((uint64_t*)&cgen_var_191, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkSurfaceKHR(&cgen_var_191, (VkSurfaceKHR*)&forUnmarshaling->surface, 1); |
| vkStream->read((uint32_t*)&forUnmarshaling->minImageCount, sizeof(uint32_t)); |
| vkStream->read((VkFormat*)&forUnmarshaling->imageFormat, sizeof(VkFormat)); |
| vkStream->read((VkColorSpaceKHR*)&forUnmarshaling->imageColorSpace, sizeof(VkColorSpaceKHR)); |
| unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->imageExtent)); |
| vkStream->read((uint32_t*)&forUnmarshaling->imageArrayLayers, sizeof(uint32_t)); |
| vkStream->read((VkImageUsageFlags*)&forUnmarshaling->imageUsage, sizeof(VkImageUsageFlags)); |
| vkStream->read((VkSharingMode*)&forUnmarshaling->imageSharingMode, sizeof(VkSharingMode)); |
| vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndexCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| const uint32_t* check_pQueueFamilyIndices; |
| check_pQueueFamilyIndices = (const uint32_t*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pQueueFamilyIndices) |
| { |
| if (!(check_pQueueFamilyIndices)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pQueueFamilyIndices inconsistent between guest and host\n"); |
| } |
| vkStream->read((uint32_t*)forUnmarshaling->pQueueFamilyIndices, forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t)); |
| } |
| vkStream->read((VkSurfaceTransformFlagBitsKHR*)&forUnmarshaling->preTransform, sizeof(VkSurfaceTransformFlagBitsKHR)); |
| vkStream->read((VkCompositeAlphaFlagBitsKHR*)&forUnmarshaling->compositeAlpha, sizeof(VkCompositeAlphaFlagBitsKHR)); |
| vkStream->read((VkPresentModeKHR*)&forUnmarshaling->presentMode, sizeof(VkPresentModeKHR)); |
| vkStream->read((VkBool32*)&forUnmarshaling->clipped, sizeof(VkBool32)); |
| uint64_t cgen_var_193; |
| vkStream->read((uint64_t*)&cgen_var_193, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkSwapchainKHR(&cgen_var_193, (VkSwapchainKHR*)&forUnmarshaling->oldSwapchain, 1); |
| } |
| |
| void marshal_VkPresentInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkPresentInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->waitSemaphoreCount, sizeof(uint32_t)); |
| if (forMarshaling->waitSemaphoreCount) |
| { |
| uint64_t* cgen_var_194; |
| vkStream->alloc((void**)&cgen_var_194, forMarshaling->waitSemaphoreCount * 8); |
| vkStream->handleMapping()->mapHandles_VkSemaphore_u64(forMarshaling->pWaitSemaphores, cgen_var_194, forMarshaling->waitSemaphoreCount); |
| vkStream->write((uint64_t*)cgen_var_194, forMarshaling->waitSemaphoreCount * 8); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->swapchainCount, sizeof(uint32_t)); |
| if (forMarshaling->swapchainCount) |
| { |
| uint64_t* cgen_var_195; |
| vkStream->alloc((void**)&cgen_var_195, forMarshaling->swapchainCount * 8); |
| vkStream->handleMapping()->mapHandles_VkSwapchainKHR_u64(forMarshaling->pSwapchains, cgen_var_195, forMarshaling->swapchainCount); |
| vkStream->write((uint64_t*)cgen_var_195, forMarshaling->swapchainCount * 8); |
| } |
| vkStream->write((const uint32_t*)forMarshaling->pImageIndices, forMarshaling->swapchainCount * sizeof(const uint32_t)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_196 = (uint64_t)(uintptr_t)forMarshaling->pResults; |
| vkStream->putBe64(cgen_var_196); |
| if (forMarshaling->pResults) |
| { |
| vkStream->write((VkResult*)forMarshaling->pResults, forMarshaling->swapchainCount * sizeof(VkResult)); |
| } |
| } |
| |
| void unmarshal_VkPresentInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkPresentInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->waitSemaphoreCount, sizeof(uint32_t)); |
| if (forUnmarshaling->waitSemaphoreCount) |
| { |
| uint64_t* cgen_var_197; |
| vkStream->alloc((void**)&cgen_var_197, forUnmarshaling->waitSemaphoreCount * 8); |
| vkStream->read((uint64_t*)cgen_var_197, forUnmarshaling->waitSemaphoreCount * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkSemaphore(cgen_var_197, (VkSemaphore*)forUnmarshaling->pWaitSemaphores, forUnmarshaling->waitSemaphoreCount); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->swapchainCount, sizeof(uint32_t)); |
| if (forUnmarshaling->swapchainCount) |
| { |
| uint64_t* cgen_var_198; |
| vkStream->alloc((void**)&cgen_var_198, forUnmarshaling->swapchainCount * 8); |
| vkStream->read((uint64_t*)cgen_var_198, forUnmarshaling->swapchainCount * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkSwapchainKHR(cgen_var_198, (VkSwapchainKHR*)forUnmarshaling->pSwapchains, forUnmarshaling->swapchainCount); |
| } |
| vkStream->read((uint32_t*)forUnmarshaling->pImageIndices, forUnmarshaling->swapchainCount * sizeof(const uint32_t)); |
| // WARNING PTR CHECK |
| VkResult* check_pResults; |
| check_pResults = (VkResult*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pResults) |
| { |
| if (!(check_pResults)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pResults inconsistent between guest and host\n"); |
| } |
| vkStream->read((VkResult*)forUnmarshaling->pResults, forUnmarshaling->swapchainCount * sizeof(VkResult)); |
| } |
| } |
| |
| void marshal_VkImageSwapchainCreateInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkImageSwapchainCreateInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_200; |
| vkStream->handleMapping()->mapHandles_VkSwapchainKHR_u64(&forMarshaling->swapchain, &cgen_var_200, 1); |
| vkStream->write((uint64_t*)&cgen_var_200, 1 * 8); |
| } |
| |
| void unmarshal_VkImageSwapchainCreateInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkImageSwapchainCreateInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_201; |
| vkStream->read((uint64_t*)&cgen_var_201, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkSwapchainKHR(&cgen_var_201, (VkSwapchainKHR*)&forUnmarshaling->swapchain, 1); |
| } |
| |
| void marshal_VkBindImageMemorySwapchainInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkBindImageMemorySwapchainInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_202; |
| vkStream->handleMapping()->mapHandles_VkSwapchainKHR_u64(&forMarshaling->swapchain, &cgen_var_202, 1); |
| vkStream->write((uint64_t*)&cgen_var_202, 1 * 8); |
| vkStream->write((uint32_t*)&forMarshaling->imageIndex, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkBindImageMemorySwapchainInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkBindImageMemorySwapchainInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_203; |
| vkStream->read((uint64_t*)&cgen_var_203, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkSwapchainKHR(&cgen_var_203, (VkSwapchainKHR*)&forUnmarshaling->swapchain, 1); |
| vkStream->read((uint32_t*)&forUnmarshaling->imageIndex, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkAcquireNextImageInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkAcquireNextImageInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_204; |
| vkStream->handleMapping()->mapHandles_VkSwapchainKHR_u64(&forMarshaling->swapchain, &cgen_var_204, 1); |
| vkStream->write((uint64_t*)&cgen_var_204, 1 * 8); |
| vkStream->write((uint64_t*)&forMarshaling->timeout, sizeof(uint64_t)); |
| uint64_t cgen_var_205; |
| vkStream->handleMapping()->mapHandles_VkSemaphore_u64(&forMarshaling->semaphore, &cgen_var_205, 1); |
| vkStream->write((uint64_t*)&cgen_var_205, 1 * 8); |
| uint64_t cgen_var_206; |
| vkStream->handleMapping()->mapHandles_VkFence_u64(&forMarshaling->fence, &cgen_var_206, 1); |
| vkStream->write((uint64_t*)&cgen_var_206, 1 * 8); |
| vkStream->write((uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkAcquireNextImageInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkAcquireNextImageInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_207; |
| vkStream->read((uint64_t*)&cgen_var_207, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkSwapchainKHR(&cgen_var_207, (VkSwapchainKHR*)&forUnmarshaling->swapchain, 1); |
| vkStream->read((uint64_t*)&forUnmarshaling->timeout, sizeof(uint64_t)); |
| uint64_t cgen_var_208; |
| vkStream->read((uint64_t*)&cgen_var_208, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkSemaphore(&cgen_var_208, (VkSemaphore*)&forUnmarshaling->semaphore, 1); |
| uint64_t cgen_var_209; |
| vkStream->read((uint64_t*)&cgen_var_209, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkFence(&cgen_var_209, (VkFence*)&forUnmarshaling->fence, 1); |
| vkStream->read((uint32_t*)&forUnmarshaling->deviceMask, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkDeviceGroupPresentCapabilitiesKHR( |
| VulkanStreamGuest* vkStream, |
| const VkDeviceGroupPresentCapabilitiesKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)forMarshaling->presentMask, VK_MAX_DEVICE_GROUP_SIZE * sizeof(uint32_t)); |
| vkStream->write((VkDeviceGroupPresentModeFlagsKHR*)&forMarshaling->modes, sizeof(VkDeviceGroupPresentModeFlagsKHR)); |
| } |
| |
| void unmarshal_VkDeviceGroupPresentCapabilitiesKHR( |
| VulkanStreamGuest* vkStream, |
| VkDeviceGroupPresentCapabilitiesKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)forUnmarshaling->presentMask, VK_MAX_DEVICE_GROUP_SIZE * sizeof(uint32_t)); |
| vkStream->read((VkDeviceGroupPresentModeFlagsKHR*)&forUnmarshaling->modes, sizeof(VkDeviceGroupPresentModeFlagsKHR)); |
| } |
| |
| void marshal_VkDeviceGroupPresentInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkDeviceGroupPresentInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->swapchainCount, sizeof(uint32_t)); |
| vkStream->write((const uint32_t*)forMarshaling->pDeviceMasks, forMarshaling->swapchainCount * sizeof(const uint32_t)); |
| vkStream->write((VkDeviceGroupPresentModeFlagBitsKHR*)&forMarshaling->mode, sizeof(VkDeviceGroupPresentModeFlagBitsKHR)); |
| } |
| |
| void unmarshal_VkDeviceGroupPresentInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkDeviceGroupPresentInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->swapchainCount, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)forUnmarshaling->pDeviceMasks, forUnmarshaling->swapchainCount * sizeof(const uint32_t)); |
| vkStream->read((VkDeviceGroupPresentModeFlagBitsKHR*)&forUnmarshaling->mode, sizeof(VkDeviceGroupPresentModeFlagBitsKHR)); |
| } |
| |
| void marshal_VkDeviceGroupSwapchainCreateInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkDeviceGroupSwapchainCreateInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkDeviceGroupPresentModeFlagsKHR*)&forMarshaling->modes, sizeof(VkDeviceGroupPresentModeFlagsKHR)); |
| } |
| |
| void unmarshal_VkDeviceGroupSwapchainCreateInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkDeviceGroupSwapchainCreateInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkDeviceGroupPresentModeFlagsKHR*)&forUnmarshaling->modes, sizeof(VkDeviceGroupPresentModeFlagsKHR)); |
| } |
| |
| #endif |
| #ifdef VK_KHR_display |
| void marshal_VkDisplayPropertiesKHR( |
| VulkanStreamGuest* vkStream, |
| const VkDisplayPropertiesKHR* forMarshaling) |
| { |
| uint64_t cgen_var_210; |
| vkStream->handleMapping()->mapHandles_VkDisplayKHR_u64(&forMarshaling->display, &cgen_var_210, 1); |
| vkStream->write((uint64_t*)&cgen_var_210, 1 * 8); |
| vkStream->putString(forMarshaling->displayName); |
| marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->physicalDimensions)); |
| marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->physicalResolution)); |
| vkStream->write((VkSurfaceTransformFlagsKHR*)&forMarshaling->supportedTransforms, sizeof(VkSurfaceTransformFlagsKHR)); |
| vkStream->write((VkBool32*)&forMarshaling->planeReorderPossible, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->persistentContent, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkDisplayPropertiesKHR( |
| VulkanStreamGuest* vkStream, |
| VkDisplayPropertiesKHR* forUnmarshaling) |
| { |
| uint64_t cgen_var_211; |
| vkStream->read((uint64_t*)&cgen_var_211, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkDisplayKHR(&cgen_var_211, (VkDisplayKHR*)&forUnmarshaling->display, 1); |
| vkStream->loadStringInPlace((char**)&forUnmarshaling->displayName); |
| unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->physicalDimensions)); |
| unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->physicalResolution)); |
| vkStream->read((VkSurfaceTransformFlagsKHR*)&forUnmarshaling->supportedTransforms, sizeof(VkSurfaceTransformFlagsKHR)); |
| vkStream->read((VkBool32*)&forUnmarshaling->planeReorderPossible, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->persistentContent, sizeof(VkBool32)); |
| } |
| |
| void marshal_VkDisplayModeParametersKHR( |
| VulkanStreamGuest* vkStream, |
| const VkDisplayModeParametersKHR* forMarshaling) |
| { |
| marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->visibleRegion)); |
| vkStream->write((uint32_t*)&forMarshaling->refreshRate, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkDisplayModeParametersKHR( |
| VulkanStreamGuest* vkStream, |
| VkDisplayModeParametersKHR* forUnmarshaling) |
| { |
| unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->visibleRegion)); |
| vkStream->read((uint32_t*)&forUnmarshaling->refreshRate, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkDisplayModePropertiesKHR( |
| VulkanStreamGuest* vkStream, |
| const VkDisplayModePropertiesKHR* forMarshaling) |
| { |
| uint64_t cgen_var_212; |
| vkStream->handleMapping()->mapHandles_VkDisplayModeKHR_u64(&forMarshaling->displayMode, &cgen_var_212, 1); |
| vkStream->write((uint64_t*)&cgen_var_212, 1 * 8); |
| marshal_VkDisplayModeParametersKHR(vkStream, (VkDisplayModeParametersKHR*)(&forMarshaling->parameters)); |
| } |
| |
| void unmarshal_VkDisplayModePropertiesKHR( |
| VulkanStreamGuest* vkStream, |
| VkDisplayModePropertiesKHR* forUnmarshaling) |
| { |
| uint64_t cgen_var_213; |
| vkStream->read((uint64_t*)&cgen_var_213, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkDisplayModeKHR(&cgen_var_213, (VkDisplayModeKHR*)&forUnmarshaling->displayMode, 1); |
| unmarshal_VkDisplayModeParametersKHR(vkStream, (VkDisplayModeParametersKHR*)(&forUnmarshaling->parameters)); |
| } |
| |
| void marshal_VkDisplayModeCreateInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkDisplayModeCreateInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkDisplayModeCreateFlagsKHR*)&forMarshaling->flags, sizeof(VkDisplayModeCreateFlagsKHR)); |
| marshal_VkDisplayModeParametersKHR(vkStream, (VkDisplayModeParametersKHR*)(&forMarshaling->parameters)); |
| } |
| |
| void unmarshal_VkDisplayModeCreateInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkDisplayModeCreateInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkDisplayModeCreateFlagsKHR*)&forUnmarshaling->flags, sizeof(VkDisplayModeCreateFlagsKHR)); |
| unmarshal_VkDisplayModeParametersKHR(vkStream, (VkDisplayModeParametersKHR*)(&forUnmarshaling->parameters)); |
| } |
| |
| void marshal_VkDisplayPlaneCapabilitiesKHR( |
| VulkanStreamGuest* vkStream, |
| const VkDisplayPlaneCapabilitiesKHR* forMarshaling) |
| { |
| vkStream->write((VkDisplayPlaneAlphaFlagsKHR*)&forMarshaling->supportedAlpha, sizeof(VkDisplayPlaneAlphaFlagsKHR)); |
| marshal_VkOffset2D(vkStream, (VkOffset2D*)(&forMarshaling->minSrcPosition)); |
| marshal_VkOffset2D(vkStream, (VkOffset2D*)(&forMarshaling->maxSrcPosition)); |
| marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->minSrcExtent)); |
| marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->maxSrcExtent)); |
| marshal_VkOffset2D(vkStream, (VkOffset2D*)(&forMarshaling->minDstPosition)); |
| marshal_VkOffset2D(vkStream, (VkOffset2D*)(&forMarshaling->maxDstPosition)); |
| marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->minDstExtent)); |
| marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->maxDstExtent)); |
| } |
| |
| void unmarshal_VkDisplayPlaneCapabilitiesKHR( |
| VulkanStreamGuest* vkStream, |
| VkDisplayPlaneCapabilitiesKHR* forUnmarshaling) |
| { |
| vkStream->read((VkDisplayPlaneAlphaFlagsKHR*)&forUnmarshaling->supportedAlpha, sizeof(VkDisplayPlaneAlphaFlagsKHR)); |
| unmarshal_VkOffset2D(vkStream, (VkOffset2D*)(&forUnmarshaling->minSrcPosition)); |
| unmarshal_VkOffset2D(vkStream, (VkOffset2D*)(&forUnmarshaling->maxSrcPosition)); |
| unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->minSrcExtent)); |
| unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->maxSrcExtent)); |
| unmarshal_VkOffset2D(vkStream, (VkOffset2D*)(&forUnmarshaling->minDstPosition)); |
| unmarshal_VkOffset2D(vkStream, (VkOffset2D*)(&forUnmarshaling->maxDstPosition)); |
| unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->minDstExtent)); |
| unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->maxDstExtent)); |
| } |
| |
| void marshal_VkDisplayPlanePropertiesKHR( |
| VulkanStreamGuest* vkStream, |
| const VkDisplayPlanePropertiesKHR* forMarshaling) |
| { |
| uint64_t cgen_var_214; |
| vkStream->handleMapping()->mapHandles_VkDisplayKHR_u64(&forMarshaling->currentDisplay, &cgen_var_214, 1); |
| vkStream->write((uint64_t*)&cgen_var_214, 1 * 8); |
| vkStream->write((uint32_t*)&forMarshaling->currentStackIndex, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkDisplayPlanePropertiesKHR( |
| VulkanStreamGuest* vkStream, |
| VkDisplayPlanePropertiesKHR* forUnmarshaling) |
| { |
| uint64_t cgen_var_215; |
| vkStream->read((uint64_t*)&cgen_var_215, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkDisplayKHR(&cgen_var_215, (VkDisplayKHR*)&forUnmarshaling->currentDisplay, 1); |
| vkStream->read((uint32_t*)&forUnmarshaling->currentStackIndex, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkDisplaySurfaceCreateInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkDisplaySurfaceCreateInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkDisplaySurfaceCreateFlagsKHR*)&forMarshaling->flags, sizeof(VkDisplaySurfaceCreateFlagsKHR)); |
| uint64_t cgen_var_216; |
| vkStream->handleMapping()->mapHandles_VkDisplayModeKHR_u64(&forMarshaling->displayMode, &cgen_var_216, 1); |
| vkStream->write((uint64_t*)&cgen_var_216, 1 * 8); |
| vkStream->write((uint32_t*)&forMarshaling->planeIndex, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->planeStackIndex, sizeof(uint32_t)); |
| vkStream->write((VkSurfaceTransformFlagBitsKHR*)&forMarshaling->transform, sizeof(VkSurfaceTransformFlagBitsKHR)); |
| vkStream->write((float*)&forMarshaling->globalAlpha, sizeof(float)); |
| vkStream->write((VkDisplayPlaneAlphaFlagBitsKHR*)&forMarshaling->alphaMode, sizeof(VkDisplayPlaneAlphaFlagBitsKHR)); |
| marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->imageExtent)); |
| } |
| |
| void unmarshal_VkDisplaySurfaceCreateInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkDisplaySurfaceCreateInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkDisplaySurfaceCreateFlagsKHR*)&forUnmarshaling->flags, sizeof(VkDisplaySurfaceCreateFlagsKHR)); |
| uint64_t cgen_var_217; |
| vkStream->read((uint64_t*)&cgen_var_217, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkDisplayModeKHR(&cgen_var_217, (VkDisplayModeKHR*)&forUnmarshaling->displayMode, 1); |
| vkStream->read((uint32_t*)&forUnmarshaling->planeIndex, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->planeStackIndex, sizeof(uint32_t)); |
| vkStream->read((VkSurfaceTransformFlagBitsKHR*)&forUnmarshaling->transform, sizeof(VkSurfaceTransformFlagBitsKHR)); |
| vkStream->read((float*)&forUnmarshaling->globalAlpha, sizeof(float)); |
| vkStream->read((VkDisplayPlaneAlphaFlagBitsKHR*)&forUnmarshaling->alphaMode, sizeof(VkDisplayPlaneAlphaFlagBitsKHR)); |
| unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->imageExtent)); |
| } |
| |
| #endif |
| #ifdef VK_KHR_display_swapchain |
| void marshal_VkDisplayPresentInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkDisplayPresentInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| marshal_VkRect2D(vkStream, (VkRect2D*)(&forMarshaling->srcRect)); |
| marshal_VkRect2D(vkStream, (VkRect2D*)(&forMarshaling->dstRect)); |
| vkStream->write((VkBool32*)&forMarshaling->persistent, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkDisplayPresentInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkDisplayPresentInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| unmarshal_VkRect2D(vkStream, (VkRect2D*)(&forUnmarshaling->srcRect)); |
| unmarshal_VkRect2D(vkStream, (VkRect2D*)(&forUnmarshaling->dstRect)); |
| vkStream->read((VkBool32*)&forUnmarshaling->persistent, sizeof(VkBool32)); |
| } |
| |
| #endif |
| #ifdef VK_KHR_xlib_surface |
| void marshal_VkXlibSurfaceCreateInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkXlibSurfaceCreateInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkXlibSurfaceCreateFlagsKHR*)&forMarshaling->flags, sizeof(VkXlibSurfaceCreateFlagsKHR)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_218 = (uint64_t)(uintptr_t)forMarshaling->dpy; |
| vkStream->putBe64(cgen_var_218); |
| if (forMarshaling->dpy) |
| { |
| vkStream->write((Display*)forMarshaling->dpy, sizeof(Display)); |
| } |
| vkStream->write((Window*)&forMarshaling->window, sizeof(Window)); |
| } |
| |
| void unmarshal_VkXlibSurfaceCreateInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkXlibSurfaceCreateInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkXlibSurfaceCreateFlagsKHR*)&forUnmarshaling->flags, sizeof(VkXlibSurfaceCreateFlagsKHR)); |
| // WARNING PTR CHECK |
| Display* check_dpy; |
| check_dpy = (Display*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->dpy) |
| { |
| if (!(check_dpy)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->dpy inconsistent between guest and host\n"); |
| } |
| vkStream->read((Display*)forUnmarshaling->dpy, sizeof(Display)); |
| } |
| vkStream->read((Window*)&forUnmarshaling->window, sizeof(Window)); |
| } |
| |
| #endif |
| #ifdef VK_KHR_xcb_surface |
| void marshal_VkXcbSurfaceCreateInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkXcbSurfaceCreateInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkXcbSurfaceCreateFlagsKHR*)&forMarshaling->flags, sizeof(VkXcbSurfaceCreateFlagsKHR)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_220 = (uint64_t)(uintptr_t)forMarshaling->connection; |
| vkStream->putBe64(cgen_var_220); |
| if (forMarshaling->connection) |
| { |
| vkStream->write((xcb_connection_t*)forMarshaling->connection, sizeof(xcb_connection_t)); |
| } |
| vkStream->write((xcb_window_t*)&forMarshaling->window, sizeof(xcb_window_t)); |
| } |
| |
| void unmarshal_VkXcbSurfaceCreateInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkXcbSurfaceCreateInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkXcbSurfaceCreateFlagsKHR*)&forUnmarshaling->flags, sizeof(VkXcbSurfaceCreateFlagsKHR)); |
| // WARNING PTR CHECK |
| xcb_connection_t* check_connection; |
| check_connection = (xcb_connection_t*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->connection) |
| { |
| if (!(check_connection)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->connection inconsistent between guest and host\n"); |
| } |
| vkStream->read((xcb_connection_t*)forUnmarshaling->connection, sizeof(xcb_connection_t)); |
| } |
| vkStream->read((xcb_window_t*)&forUnmarshaling->window, sizeof(xcb_window_t)); |
| } |
| |
| #endif |
| #ifdef VK_KHR_wayland_surface |
| void marshal_VkWaylandSurfaceCreateInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkWaylandSurfaceCreateInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkWaylandSurfaceCreateFlagsKHR*)&forMarshaling->flags, sizeof(VkWaylandSurfaceCreateFlagsKHR)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_222 = (uint64_t)(uintptr_t)forMarshaling->display; |
| vkStream->putBe64(cgen_var_222); |
| if (forMarshaling->display) |
| { |
| vkStream->write((wl_display*)forMarshaling->display, sizeof(wl_display)); |
| } |
| // WARNING PTR CHECK |
| uint64_t cgen_var_223 = (uint64_t)(uintptr_t)forMarshaling->surface; |
| vkStream->putBe64(cgen_var_223); |
| if (forMarshaling->surface) |
| { |
| vkStream->write((wl_surface*)forMarshaling->surface, sizeof(wl_surface)); |
| } |
| } |
| |
| void unmarshal_VkWaylandSurfaceCreateInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkWaylandSurfaceCreateInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkWaylandSurfaceCreateFlagsKHR*)&forUnmarshaling->flags, sizeof(VkWaylandSurfaceCreateFlagsKHR)); |
| // WARNING PTR CHECK |
| wl_display* check_display; |
| check_display = (wl_display*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->display) |
| { |
| if (!(check_display)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->display inconsistent between guest and host\n"); |
| } |
| vkStream->read((wl_display*)forUnmarshaling->display, sizeof(wl_display)); |
| } |
| // WARNING PTR CHECK |
| wl_surface* check_surface; |
| check_surface = (wl_surface*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->surface) |
| { |
| if (!(check_surface)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->surface inconsistent between guest and host\n"); |
| } |
| vkStream->read((wl_surface*)forUnmarshaling->surface, sizeof(wl_surface)); |
| } |
| } |
| |
| #endif |
| #ifdef VK_KHR_mir_surface |
| void marshal_VkMirSurfaceCreateInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkMirSurfaceCreateInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkMirSurfaceCreateFlagsKHR*)&forMarshaling->flags, sizeof(VkMirSurfaceCreateFlagsKHR)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_226 = (uint64_t)(uintptr_t)forMarshaling->connection; |
| vkStream->putBe64(cgen_var_226); |
| if (forMarshaling->connection) |
| { |
| vkStream->write((MirConnection*)forMarshaling->connection, sizeof(MirConnection)); |
| } |
| // WARNING PTR CHECK |
| uint64_t cgen_var_227 = (uint64_t)(uintptr_t)forMarshaling->mirSurface; |
| vkStream->putBe64(cgen_var_227); |
| if (forMarshaling->mirSurface) |
| { |
| vkStream->write((MirSurface*)forMarshaling->mirSurface, sizeof(MirSurface)); |
| } |
| } |
| |
| void unmarshal_VkMirSurfaceCreateInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkMirSurfaceCreateInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkMirSurfaceCreateFlagsKHR*)&forUnmarshaling->flags, sizeof(VkMirSurfaceCreateFlagsKHR)); |
| // WARNING PTR CHECK |
| MirConnection* check_connection; |
| check_connection = (MirConnection*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->connection) |
| { |
| if (!(check_connection)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->connection inconsistent between guest and host\n"); |
| } |
| vkStream->read((MirConnection*)forUnmarshaling->connection, sizeof(MirConnection)); |
| } |
| // WARNING PTR CHECK |
| MirSurface* check_mirSurface; |
| check_mirSurface = (MirSurface*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->mirSurface) |
| { |
| if (!(check_mirSurface)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->mirSurface inconsistent between guest and host\n"); |
| } |
| vkStream->read((MirSurface*)forUnmarshaling->mirSurface, sizeof(MirSurface)); |
| } |
| } |
| |
| #endif |
| #ifdef VK_KHR_android_surface |
| void marshal_VkAndroidSurfaceCreateInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkAndroidSurfaceCreateInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkAndroidSurfaceCreateFlagsKHR*)&forMarshaling->flags, sizeof(VkAndroidSurfaceCreateFlagsKHR)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_230 = (uint64_t)(uintptr_t)forMarshaling->window; |
| vkStream->putBe64(cgen_var_230); |
| if (forMarshaling->window) |
| { |
| vkStream->write((ANativeWindow*)forMarshaling->window, sizeof(ANativeWindow)); |
| } |
| } |
| |
| void unmarshal_VkAndroidSurfaceCreateInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkAndroidSurfaceCreateInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkAndroidSurfaceCreateFlagsKHR*)&forUnmarshaling->flags, sizeof(VkAndroidSurfaceCreateFlagsKHR)); |
| // WARNING PTR CHECK |
| ANativeWindow* check_window; |
| check_window = (ANativeWindow*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->window) |
| { |
| if (!(check_window)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->window inconsistent between guest and host\n"); |
| } |
| vkStream->read((ANativeWindow*)forUnmarshaling->window, sizeof(ANativeWindow)); |
| } |
| } |
| |
| #endif |
| #ifdef VK_KHR_win32_surface |
| void marshal_VkWin32SurfaceCreateInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkWin32SurfaceCreateInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkWin32SurfaceCreateFlagsKHR*)&forMarshaling->flags, sizeof(VkWin32SurfaceCreateFlagsKHR)); |
| vkStream->write((HINSTANCE*)&forMarshaling->hinstance, sizeof(HINSTANCE)); |
| vkStream->write((HWND*)&forMarshaling->hwnd, sizeof(HWND)); |
| } |
| |
| void unmarshal_VkWin32SurfaceCreateInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkWin32SurfaceCreateInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkWin32SurfaceCreateFlagsKHR*)&forUnmarshaling->flags, sizeof(VkWin32SurfaceCreateFlagsKHR)); |
| vkStream->read((HINSTANCE*)&forUnmarshaling->hinstance, sizeof(HINSTANCE)); |
| vkStream->read((HWND*)&forUnmarshaling->hwnd, sizeof(HWND)); |
| } |
| |
| #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 marshal_VkImportMemoryWin32HandleInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkImportMemoryWin32HandleInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagBits)); |
| vkStream->write((HANDLE*)&forMarshaling->handle, sizeof(HANDLE)); |
| vkStream->write((LPCWSTR*)&forMarshaling->name, sizeof(LPCWSTR)); |
| } |
| |
| void unmarshal_VkImportMemoryWin32HandleInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkImportMemoryWin32HandleInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkExternalMemoryHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagBits)); |
| vkStream->read((HANDLE*)&forUnmarshaling->handle, sizeof(HANDLE)); |
| vkStream->read((LPCWSTR*)&forUnmarshaling->name, sizeof(LPCWSTR)); |
| } |
| |
| void marshal_VkExportMemoryWin32HandleInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkExportMemoryWin32HandleInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| // WARNING PTR CHECK |
| uint64_t cgen_var_232 = (uint64_t)(uintptr_t)forMarshaling->pAttributes; |
| vkStream->putBe64(cgen_var_232); |
| if (forMarshaling->pAttributes) |
| { |
| vkStream->write((const SECURITY_ATTRIBUTES*)forMarshaling->pAttributes, sizeof(const SECURITY_ATTRIBUTES)); |
| } |
| vkStream->write((DWORD*)&forMarshaling->dwAccess, sizeof(DWORD)); |
| vkStream->write((LPCWSTR*)&forMarshaling->name, sizeof(LPCWSTR)); |
| } |
| |
| void unmarshal_VkExportMemoryWin32HandleInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkExportMemoryWin32HandleInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| // WARNING PTR CHECK |
| const SECURITY_ATTRIBUTES* check_pAttributes; |
| check_pAttributes = (const SECURITY_ATTRIBUTES*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pAttributes) |
| { |
| if (!(check_pAttributes)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pAttributes inconsistent between guest and host\n"); |
| } |
| vkStream->read((SECURITY_ATTRIBUTES*)forUnmarshaling->pAttributes, sizeof(const SECURITY_ATTRIBUTES)); |
| } |
| vkStream->read((DWORD*)&forUnmarshaling->dwAccess, sizeof(DWORD)); |
| vkStream->read((LPCWSTR*)&forUnmarshaling->name, sizeof(LPCWSTR)); |
| } |
| |
| void marshal_VkMemoryWin32HandlePropertiesKHR( |
| VulkanStreamGuest* vkStream, |
| const VkMemoryWin32HandlePropertiesKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->memoryTypeBits, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkMemoryWin32HandlePropertiesKHR( |
| VulkanStreamGuest* vkStream, |
| VkMemoryWin32HandlePropertiesKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->memoryTypeBits, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkMemoryGetWin32HandleInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkMemoryGetWin32HandleInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_234; |
| vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_234, 1); |
| vkStream->write((uint64_t*)&cgen_var_234, 1 * 8); |
| vkStream->write((VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagBits)); |
| } |
| |
| void unmarshal_VkMemoryGetWin32HandleInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkMemoryGetWin32HandleInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_235; |
| vkStream->read((uint64_t*)&cgen_var_235, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(&cgen_var_235, (VkDeviceMemory*)&forUnmarshaling->memory, 1); |
| vkStream->read((VkExternalMemoryHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagBits)); |
| } |
| |
| #endif |
| #ifdef VK_KHR_external_memory_fd |
| void marshal_VkImportMemoryFdInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkImportMemoryFdInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagBits)); |
| vkStream->write((int*)&forMarshaling->fd, sizeof(int)); |
| } |
| |
| void unmarshal_VkImportMemoryFdInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkImportMemoryFdInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkExternalMemoryHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagBits)); |
| vkStream->read((int*)&forUnmarshaling->fd, sizeof(int)); |
| } |
| |
| void marshal_VkMemoryFdPropertiesKHR( |
| VulkanStreamGuest* vkStream, |
| const VkMemoryFdPropertiesKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->memoryTypeBits, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkMemoryFdPropertiesKHR( |
| VulkanStreamGuest* vkStream, |
| VkMemoryFdPropertiesKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->memoryTypeBits, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkMemoryGetFdInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkMemoryGetFdInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_236; |
| vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_236, 1); |
| vkStream->write((uint64_t*)&cgen_var_236, 1 * 8); |
| vkStream->write((VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagBits)); |
| } |
| |
| void unmarshal_VkMemoryGetFdInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkMemoryGetFdInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_237; |
| vkStream->read((uint64_t*)&cgen_var_237, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(&cgen_var_237, (VkDeviceMemory*)&forUnmarshaling->memory, 1); |
| vkStream->read((VkExternalMemoryHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagBits)); |
| } |
| |
| #endif |
| #ifdef VK_KHR_win32_keyed_mutex |
| void marshal_VkWin32KeyedMutexAcquireReleaseInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkWin32KeyedMutexAcquireReleaseInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->acquireCount, sizeof(uint32_t)); |
| if (forMarshaling->acquireCount) |
| { |
| uint64_t* cgen_var_238; |
| vkStream->alloc((void**)&cgen_var_238, forMarshaling->acquireCount * 8); |
| vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(forMarshaling->pAcquireSyncs, cgen_var_238, forMarshaling->acquireCount); |
| vkStream->write((uint64_t*)cgen_var_238, forMarshaling->acquireCount * 8); |
| } |
| vkStream->write((const uint64_t*)forMarshaling->pAcquireKeys, forMarshaling->acquireCount * sizeof(const uint64_t)); |
| vkStream->write((const uint32_t*)forMarshaling->pAcquireTimeouts, forMarshaling->acquireCount * sizeof(const uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->releaseCount, sizeof(uint32_t)); |
| if (forMarshaling->releaseCount) |
| { |
| uint64_t* cgen_var_239; |
| vkStream->alloc((void**)&cgen_var_239, forMarshaling->releaseCount * 8); |
| vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(forMarshaling->pReleaseSyncs, cgen_var_239, forMarshaling->releaseCount); |
| vkStream->write((uint64_t*)cgen_var_239, forMarshaling->releaseCount * 8); |
| } |
| vkStream->write((const uint64_t*)forMarshaling->pReleaseKeys, forMarshaling->releaseCount * sizeof(const uint64_t)); |
| } |
| |
| void unmarshal_VkWin32KeyedMutexAcquireReleaseInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkWin32KeyedMutexAcquireReleaseInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->acquireCount, sizeof(uint32_t)); |
| if (forUnmarshaling->acquireCount) |
| { |
| uint64_t* cgen_var_240; |
| vkStream->alloc((void**)&cgen_var_240, forUnmarshaling->acquireCount * 8); |
| vkStream->read((uint64_t*)cgen_var_240, forUnmarshaling->acquireCount * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(cgen_var_240, (VkDeviceMemory*)forUnmarshaling->pAcquireSyncs, forUnmarshaling->acquireCount); |
| } |
| vkStream->read((uint64_t*)forUnmarshaling->pAcquireKeys, forUnmarshaling->acquireCount * sizeof(const uint64_t)); |
| vkStream->read((uint32_t*)forUnmarshaling->pAcquireTimeouts, forUnmarshaling->acquireCount * sizeof(const uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->releaseCount, sizeof(uint32_t)); |
| if (forUnmarshaling->releaseCount) |
| { |
| uint64_t* cgen_var_241; |
| vkStream->alloc((void**)&cgen_var_241, forUnmarshaling->releaseCount * 8); |
| vkStream->read((uint64_t*)cgen_var_241, forUnmarshaling->releaseCount * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(cgen_var_241, (VkDeviceMemory*)forUnmarshaling->pReleaseSyncs, forUnmarshaling->releaseCount); |
| } |
| vkStream->read((uint64_t*)forUnmarshaling->pReleaseKeys, forUnmarshaling->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 marshal_VkImportSemaphoreWin32HandleInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkImportSemaphoreWin32HandleInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_242; |
| vkStream->handleMapping()->mapHandles_VkSemaphore_u64(&forMarshaling->semaphore, &cgen_var_242, 1); |
| vkStream->write((uint64_t*)&cgen_var_242, 1 * 8); |
| vkStream->write((VkSemaphoreImportFlags*)&forMarshaling->flags, sizeof(VkSemaphoreImportFlags)); |
| vkStream->write((VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalSemaphoreHandleTypeFlagBits)); |
| vkStream->write((HANDLE*)&forMarshaling->handle, sizeof(HANDLE)); |
| vkStream->write((LPCWSTR*)&forMarshaling->name, sizeof(LPCWSTR)); |
| } |
| |
| void unmarshal_VkImportSemaphoreWin32HandleInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkImportSemaphoreWin32HandleInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_243; |
| vkStream->read((uint64_t*)&cgen_var_243, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkSemaphore(&cgen_var_243, (VkSemaphore*)&forUnmarshaling->semaphore, 1); |
| vkStream->read((VkSemaphoreImportFlags*)&forUnmarshaling->flags, sizeof(VkSemaphoreImportFlags)); |
| vkStream->read((VkExternalSemaphoreHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalSemaphoreHandleTypeFlagBits)); |
| vkStream->read((HANDLE*)&forUnmarshaling->handle, sizeof(HANDLE)); |
| vkStream->read((LPCWSTR*)&forUnmarshaling->name, sizeof(LPCWSTR)); |
| } |
| |
| void marshal_VkExportSemaphoreWin32HandleInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkExportSemaphoreWin32HandleInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| // WARNING PTR CHECK |
| uint64_t cgen_var_244 = (uint64_t)(uintptr_t)forMarshaling->pAttributes; |
| vkStream->putBe64(cgen_var_244); |
| if (forMarshaling->pAttributes) |
| { |
| vkStream->write((const SECURITY_ATTRIBUTES*)forMarshaling->pAttributes, sizeof(const SECURITY_ATTRIBUTES)); |
| } |
| vkStream->write((DWORD*)&forMarshaling->dwAccess, sizeof(DWORD)); |
| vkStream->write((LPCWSTR*)&forMarshaling->name, sizeof(LPCWSTR)); |
| } |
| |
| void unmarshal_VkExportSemaphoreWin32HandleInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkExportSemaphoreWin32HandleInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| // WARNING PTR CHECK |
| const SECURITY_ATTRIBUTES* check_pAttributes; |
| check_pAttributes = (const SECURITY_ATTRIBUTES*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pAttributes) |
| { |
| if (!(check_pAttributes)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pAttributes inconsistent between guest and host\n"); |
| } |
| vkStream->read((SECURITY_ATTRIBUTES*)forUnmarshaling->pAttributes, sizeof(const SECURITY_ATTRIBUTES)); |
| } |
| vkStream->read((DWORD*)&forUnmarshaling->dwAccess, sizeof(DWORD)); |
| vkStream->read((LPCWSTR*)&forUnmarshaling->name, sizeof(LPCWSTR)); |
| } |
| |
| void marshal_VkD3D12FenceSubmitInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkD3D12FenceSubmitInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->waitSemaphoreValuesCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_246 = (uint64_t)(uintptr_t)forMarshaling->pWaitSemaphoreValues; |
| vkStream->putBe64(cgen_var_246); |
| if (forMarshaling->pWaitSemaphoreValues) |
| { |
| vkStream->write((const uint64_t*)forMarshaling->pWaitSemaphoreValues, forMarshaling->waitSemaphoreValuesCount * sizeof(const uint64_t)); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->signalSemaphoreValuesCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_247 = (uint64_t)(uintptr_t)forMarshaling->pSignalSemaphoreValues; |
| vkStream->putBe64(cgen_var_247); |
| if (forMarshaling->pSignalSemaphoreValues) |
| { |
| vkStream->write((const uint64_t*)forMarshaling->pSignalSemaphoreValues, forMarshaling->signalSemaphoreValuesCount * sizeof(const uint64_t)); |
| } |
| } |
| |
| void unmarshal_VkD3D12FenceSubmitInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkD3D12FenceSubmitInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->waitSemaphoreValuesCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| const uint64_t* check_pWaitSemaphoreValues; |
| check_pWaitSemaphoreValues = (const uint64_t*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pWaitSemaphoreValues) |
| { |
| if (!(check_pWaitSemaphoreValues)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pWaitSemaphoreValues inconsistent between guest and host\n"); |
| } |
| vkStream->read((uint64_t*)forUnmarshaling->pWaitSemaphoreValues, forUnmarshaling->waitSemaphoreValuesCount * sizeof(const uint64_t)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->signalSemaphoreValuesCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| const uint64_t* check_pSignalSemaphoreValues; |
| check_pSignalSemaphoreValues = (const uint64_t*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pSignalSemaphoreValues) |
| { |
| if (!(check_pSignalSemaphoreValues)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pSignalSemaphoreValues inconsistent between guest and host\n"); |
| } |
| vkStream->read((uint64_t*)forUnmarshaling->pSignalSemaphoreValues, forUnmarshaling->signalSemaphoreValuesCount * sizeof(const uint64_t)); |
| } |
| } |
| |
| void marshal_VkSemaphoreGetWin32HandleInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkSemaphoreGetWin32HandleInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_250; |
| vkStream->handleMapping()->mapHandles_VkSemaphore_u64(&forMarshaling->semaphore, &cgen_var_250, 1); |
| vkStream->write((uint64_t*)&cgen_var_250, 1 * 8); |
| vkStream->write((VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalSemaphoreHandleTypeFlagBits)); |
| } |
| |
| void unmarshal_VkSemaphoreGetWin32HandleInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkSemaphoreGetWin32HandleInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_251; |
| vkStream->read((uint64_t*)&cgen_var_251, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkSemaphore(&cgen_var_251, (VkSemaphore*)&forUnmarshaling->semaphore, 1); |
| vkStream->read((VkExternalSemaphoreHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalSemaphoreHandleTypeFlagBits)); |
| } |
| |
| #endif |
| #ifdef VK_KHR_external_semaphore_fd |
| void marshal_VkImportSemaphoreFdInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkImportSemaphoreFdInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_252; |
| vkStream->handleMapping()->mapHandles_VkSemaphore_u64(&forMarshaling->semaphore, &cgen_var_252, 1); |
| vkStream->write((uint64_t*)&cgen_var_252, 1 * 8); |
| vkStream->write((VkSemaphoreImportFlags*)&forMarshaling->flags, sizeof(VkSemaphoreImportFlags)); |
| vkStream->write((VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalSemaphoreHandleTypeFlagBits)); |
| vkStream->write((int*)&forMarshaling->fd, sizeof(int)); |
| } |
| |
| void unmarshal_VkImportSemaphoreFdInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkImportSemaphoreFdInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_253; |
| vkStream->read((uint64_t*)&cgen_var_253, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkSemaphore(&cgen_var_253, (VkSemaphore*)&forUnmarshaling->semaphore, 1); |
| vkStream->read((VkSemaphoreImportFlags*)&forUnmarshaling->flags, sizeof(VkSemaphoreImportFlags)); |
| vkStream->read((VkExternalSemaphoreHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalSemaphoreHandleTypeFlagBits)); |
| vkStream->read((int*)&forUnmarshaling->fd, sizeof(int)); |
| } |
| |
| void marshal_VkSemaphoreGetFdInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkSemaphoreGetFdInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_254; |
| vkStream->handleMapping()->mapHandles_VkSemaphore_u64(&forMarshaling->semaphore, &cgen_var_254, 1); |
| vkStream->write((uint64_t*)&cgen_var_254, 1 * 8); |
| vkStream->write((VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalSemaphoreHandleTypeFlagBits)); |
| } |
| |
| void unmarshal_VkSemaphoreGetFdInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkSemaphoreGetFdInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_255; |
| vkStream->read((uint64_t*)&cgen_var_255, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkSemaphore(&cgen_var_255, (VkSemaphore*)&forUnmarshaling->semaphore, 1); |
| vkStream->read((VkExternalSemaphoreHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalSemaphoreHandleTypeFlagBits)); |
| } |
| |
| #endif |
| #ifdef VK_KHR_push_descriptor |
| void marshal_VkPhysicalDevicePushDescriptorPropertiesKHR( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDevicePushDescriptorPropertiesKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->maxPushDescriptors, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkPhysicalDevicePushDescriptorPropertiesKHR( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDevicePushDescriptorPropertiesKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->maxPushDescriptors, sizeof(uint32_t)); |
| } |
| |
| #endif |
| #ifdef VK_KHR_16bit_storage |
| #endif |
| #ifdef VK_KHR_incremental_present |
| void marshal_VkRectLayerKHR( |
| VulkanStreamGuest* vkStream, |
| const VkRectLayerKHR* forMarshaling) |
| { |
| marshal_VkOffset2D(vkStream, (VkOffset2D*)(&forMarshaling->offset)); |
| marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->extent)); |
| vkStream->write((uint32_t*)&forMarshaling->layer, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkRectLayerKHR( |
| VulkanStreamGuest* vkStream, |
| VkRectLayerKHR* forUnmarshaling) |
| { |
| unmarshal_VkOffset2D(vkStream, (VkOffset2D*)(&forUnmarshaling->offset)); |
| unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->extent)); |
| vkStream->read((uint32_t*)&forUnmarshaling->layer, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkPresentRegionKHR( |
| VulkanStreamGuest* vkStream, |
| const VkPresentRegionKHR* forMarshaling) |
| { |
| vkStream->write((uint32_t*)&forMarshaling->rectangleCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_256 = (uint64_t)(uintptr_t)forMarshaling->pRectangles; |
| vkStream->putBe64(cgen_var_256); |
| if (forMarshaling->pRectangles) |
| { |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->rectangleCount; ++i) |
| { |
| marshal_VkRectLayerKHR(vkStream, (const VkRectLayerKHR*)(forMarshaling->pRectangles + i)); |
| } |
| } |
| } |
| |
| void unmarshal_VkPresentRegionKHR( |
| VulkanStreamGuest* vkStream, |
| VkPresentRegionKHR* forUnmarshaling) |
| { |
| vkStream->read((uint32_t*)&forUnmarshaling->rectangleCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| const VkRectLayerKHR* check_pRectangles; |
| check_pRectangles = (const VkRectLayerKHR*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pRectangles) |
| { |
| if (!(check_pRectangles)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pRectangles inconsistent between guest and host\n"); |
| } |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->rectangleCount; ++i) |
| { |
| unmarshal_VkRectLayerKHR(vkStream, (VkRectLayerKHR*)(forUnmarshaling->pRectangles + i)); |
| } |
| } |
| } |
| |
| void marshal_VkPresentRegionsKHR( |
| VulkanStreamGuest* vkStream, |
| const VkPresentRegionsKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->swapchainCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_258 = (uint64_t)(uintptr_t)forMarshaling->pRegions; |
| vkStream->putBe64(cgen_var_258); |
| if (forMarshaling->pRegions) |
| { |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->swapchainCount; ++i) |
| { |
| marshal_VkPresentRegionKHR(vkStream, (const VkPresentRegionKHR*)(forMarshaling->pRegions + i)); |
| } |
| } |
| } |
| |
| void unmarshal_VkPresentRegionsKHR( |
| VulkanStreamGuest* vkStream, |
| VkPresentRegionsKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->swapchainCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| const VkPresentRegionKHR* check_pRegions; |
| check_pRegions = (const VkPresentRegionKHR*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pRegions) |
| { |
| if (!(check_pRegions)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pRegions inconsistent between guest and host\n"); |
| } |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->swapchainCount; ++i) |
| { |
| unmarshal_VkPresentRegionKHR(vkStream, (VkPresentRegionKHR*)(forUnmarshaling->pRegions + i)); |
| } |
| } |
| } |
| |
| #endif |
| #ifdef VK_KHR_descriptor_update_template |
| #endif |
| #ifdef VK_KHR_create_renderpass2 |
| void marshal_VkAttachmentDescription2KHR( |
| VulkanStreamGuest* vkStream, |
| const VkAttachmentDescription2KHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkAttachmentDescriptionFlags*)&forMarshaling->flags, sizeof(VkAttachmentDescriptionFlags)); |
| vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat)); |
| vkStream->write((VkSampleCountFlagBits*)&forMarshaling->samples, sizeof(VkSampleCountFlagBits)); |
| vkStream->write((VkAttachmentLoadOp*)&forMarshaling->loadOp, sizeof(VkAttachmentLoadOp)); |
| vkStream->write((VkAttachmentStoreOp*)&forMarshaling->storeOp, sizeof(VkAttachmentStoreOp)); |
| vkStream->write((VkAttachmentLoadOp*)&forMarshaling->stencilLoadOp, sizeof(VkAttachmentLoadOp)); |
| vkStream->write((VkAttachmentStoreOp*)&forMarshaling->stencilStoreOp, sizeof(VkAttachmentStoreOp)); |
| vkStream->write((VkImageLayout*)&forMarshaling->initialLayout, sizeof(VkImageLayout)); |
| vkStream->write((VkImageLayout*)&forMarshaling->finalLayout, sizeof(VkImageLayout)); |
| } |
| |
| void unmarshal_VkAttachmentDescription2KHR( |
| VulkanStreamGuest* vkStream, |
| VkAttachmentDescription2KHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkAttachmentDescriptionFlags*)&forUnmarshaling->flags, sizeof(VkAttachmentDescriptionFlags)); |
| vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat)); |
| vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->samples, sizeof(VkSampleCountFlagBits)); |
| vkStream->read((VkAttachmentLoadOp*)&forUnmarshaling->loadOp, sizeof(VkAttachmentLoadOp)); |
| vkStream->read((VkAttachmentStoreOp*)&forUnmarshaling->storeOp, sizeof(VkAttachmentStoreOp)); |
| vkStream->read((VkAttachmentLoadOp*)&forUnmarshaling->stencilLoadOp, sizeof(VkAttachmentLoadOp)); |
| vkStream->read((VkAttachmentStoreOp*)&forUnmarshaling->stencilStoreOp, sizeof(VkAttachmentStoreOp)); |
| vkStream->read((VkImageLayout*)&forUnmarshaling->initialLayout, sizeof(VkImageLayout)); |
| vkStream->read((VkImageLayout*)&forUnmarshaling->finalLayout, sizeof(VkImageLayout)); |
| } |
| |
| void marshal_VkAttachmentReference2KHR( |
| VulkanStreamGuest* vkStream, |
| const VkAttachmentReference2KHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->attachment, sizeof(uint32_t)); |
| vkStream->write((VkImageLayout*)&forMarshaling->layout, sizeof(VkImageLayout)); |
| vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags)); |
| } |
| |
| void unmarshal_VkAttachmentReference2KHR( |
| VulkanStreamGuest* vkStream, |
| VkAttachmentReference2KHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->attachment, sizeof(uint32_t)); |
| vkStream->read((VkImageLayout*)&forUnmarshaling->layout, sizeof(VkImageLayout)); |
| vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags)); |
| } |
| |
| void marshal_VkSubpassDescription2KHR( |
| VulkanStreamGuest* vkStream, |
| const VkSubpassDescription2KHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkSubpassDescriptionFlags*)&forMarshaling->flags, sizeof(VkSubpassDescriptionFlags)); |
| vkStream->write((VkPipelineBindPoint*)&forMarshaling->pipelineBindPoint, sizeof(VkPipelineBindPoint)); |
| vkStream->write((uint32_t*)&forMarshaling->viewMask, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->inputAttachmentCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->inputAttachmentCount; ++i) |
| { |
| marshal_VkAttachmentReference2KHR(vkStream, (const VkAttachmentReference2KHR*)(forMarshaling->pInputAttachments + i)); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) |
| { |
| marshal_VkAttachmentReference2KHR(vkStream, (const VkAttachmentReference2KHR*)(forMarshaling->pColorAttachments + i)); |
| } |
| // WARNING PTR CHECK |
| uint64_t cgen_var_260 = (uint64_t)(uintptr_t)forMarshaling->pResolveAttachments; |
| vkStream->putBe64(cgen_var_260); |
| if (forMarshaling->pResolveAttachments) |
| { |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i) |
| { |
| marshal_VkAttachmentReference2KHR(vkStream, (const VkAttachmentReference2KHR*)(forMarshaling->pResolveAttachments + i)); |
| } |
| } |
| // WARNING PTR CHECK |
| uint64_t cgen_var_261 = (uint64_t)(uintptr_t)forMarshaling->pDepthStencilAttachment; |
| vkStream->putBe64(cgen_var_261); |
| if (forMarshaling->pDepthStencilAttachment) |
| { |
| marshal_VkAttachmentReference2KHR(vkStream, (const VkAttachmentReference2KHR*)(forMarshaling->pDepthStencilAttachment)); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->preserveAttachmentCount, sizeof(uint32_t)); |
| vkStream->write((const uint32_t*)forMarshaling->pPreserveAttachments, forMarshaling->preserveAttachmentCount * sizeof(const uint32_t)); |
| } |
| |
| void unmarshal_VkSubpassDescription2KHR( |
| VulkanStreamGuest* vkStream, |
| VkSubpassDescription2KHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkSubpassDescriptionFlags*)&forUnmarshaling->flags, sizeof(VkSubpassDescriptionFlags)); |
| vkStream->read((VkPipelineBindPoint*)&forUnmarshaling->pipelineBindPoint, sizeof(VkPipelineBindPoint)); |
| vkStream->read((uint32_t*)&forUnmarshaling->viewMask, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->inputAttachmentCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->inputAttachmentCount; ++i) |
| { |
| unmarshal_VkAttachmentReference2KHR(vkStream, (VkAttachmentReference2KHR*)(forUnmarshaling->pInputAttachments + i)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->colorAttachmentCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorAttachmentCount; ++i) |
| { |
| unmarshal_VkAttachmentReference2KHR(vkStream, (VkAttachmentReference2KHR*)(forUnmarshaling->pColorAttachments + i)); |
| } |
| // WARNING PTR CHECK |
| const VkAttachmentReference2KHR* check_pResolveAttachments; |
| check_pResolveAttachments = (const VkAttachmentReference2KHR*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pResolveAttachments) |
| { |
| if (!(check_pResolveAttachments)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pResolveAttachments inconsistent between guest and host\n"); |
| } |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorAttachmentCount; ++i) |
| { |
| unmarshal_VkAttachmentReference2KHR(vkStream, (VkAttachmentReference2KHR*)(forUnmarshaling->pResolveAttachments + i)); |
| } |
| } |
| // WARNING PTR CHECK |
| const VkAttachmentReference2KHR* check_pDepthStencilAttachment; |
| check_pDepthStencilAttachment = (const VkAttachmentReference2KHR*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pDepthStencilAttachment) |
| { |
| if (!(check_pDepthStencilAttachment)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pDepthStencilAttachment inconsistent between guest and host\n"); |
| } |
| unmarshal_VkAttachmentReference2KHR(vkStream, (VkAttachmentReference2KHR*)(forUnmarshaling->pDepthStencilAttachment)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->preserveAttachmentCount, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)forUnmarshaling->pPreserveAttachments, forUnmarshaling->preserveAttachmentCount * sizeof(const uint32_t)); |
| } |
| |
| void marshal_VkSubpassDependency2KHR( |
| VulkanStreamGuest* vkStream, |
| const VkSubpassDependency2KHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->srcSubpass, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->dstSubpass, sizeof(uint32_t)); |
| vkStream->write((VkPipelineStageFlags*)&forMarshaling->srcStageMask, sizeof(VkPipelineStageFlags)); |
| vkStream->write((VkPipelineStageFlags*)&forMarshaling->dstStageMask, sizeof(VkPipelineStageFlags)); |
| vkStream->write((VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags)); |
| vkStream->write((VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags)); |
| vkStream->write((VkDependencyFlags*)&forMarshaling->dependencyFlags, sizeof(VkDependencyFlags)); |
| vkStream->write((int32_t*)&forMarshaling->viewOffset, sizeof(int32_t)); |
| } |
| |
| void unmarshal_VkSubpassDependency2KHR( |
| VulkanStreamGuest* vkStream, |
| VkSubpassDependency2KHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->srcSubpass, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->dstSubpass, sizeof(uint32_t)); |
| vkStream->read((VkPipelineStageFlags*)&forUnmarshaling->srcStageMask, sizeof(VkPipelineStageFlags)); |
| vkStream->read((VkPipelineStageFlags*)&forUnmarshaling->dstStageMask, sizeof(VkPipelineStageFlags)); |
| vkStream->read((VkAccessFlags*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags)); |
| vkStream->read((VkAccessFlags*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags)); |
| vkStream->read((VkDependencyFlags*)&forUnmarshaling->dependencyFlags, sizeof(VkDependencyFlags)); |
| vkStream->read((int32_t*)&forUnmarshaling->viewOffset, sizeof(int32_t)); |
| } |
| |
| void marshal_VkRenderPassCreateInfo2KHR( |
| VulkanStreamGuest* vkStream, |
| const VkRenderPassCreateInfo2KHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkRenderPassCreateFlags*)&forMarshaling->flags, sizeof(VkRenderPassCreateFlags)); |
| vkStream->write((uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->attachmentCount; ++i) |
| { |
| marshal_VkAttachmentDescription2KHR(vkStream, (const VkAttachmentDescription2KHR*)(forMarshaling->pAttachments + i)); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->subpassCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->subpassCount; ++i) |
| { |
| marshal_VkSubpassDescription2KHR(vkStream, (const VkSubpassDescription2KHR*)(forMarshaling->pSubpasses + i)); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->dependencyCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->dependencyCount; ++i) |
| { |
| marshal_VkSubpassDependency2KHR(vkStream, (const VkSubpassDependency2KHR*)(forMarshaling->pDependencies + i)); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->correlatedViewMaskCount, sizeof(uint32_t)); |
| vkStream->write((const uint32_t*)forMarshaling->pCorrelatedViewMasks, forMarshaling->correlatedViewMaskCount * sizeof(const uint32_t)); |
| } |
| |
| void unmarshal_VkRenderPassCreateInfo2KHR( |
| VulkanStreamGuest* vkStream, |
| VkRenderPassCreateInfo2KHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkRenderPassCreateFlags*)&forUnmarshaling->flags, sizeof(VkRenderPassCreateFlags)); |
| vkStream->read((uint32_t*)&forUnmarshaling->attachmentCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->attachmentCount; ++i) |
| { |
| unmarshal_VkAttachmentDescription2KHR(vkStream, (VkAttachmentDescription2KHR*)(forUnmarshaling->pAttachments + i)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->subpassCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->subpassCount; ++i) |
| { |
| unmarshal_VkSubpassDescription2KHR(vkStream, (VkSubpassDescription2KHR*)(forUnmarshaling->pSubpasses + i)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->dependencyCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->dependencyCount; ++i) |
| { |
| unmarshal_VkSubpassDependency2KHR(vkStream, (VkSubpassDependency2KHR*)(forUnmarshaling->pDependencies + i)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->correlatedViewMaskCount, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)forUnmarshaling->pCorrelatedViewMasks, forUnmarshaling->correlatedViewMaskCount * sizeof(const uint32_t)); |
| } |
| |
| void marshal_VkSubpassBeginInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkSubpassBeginInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkSubpassContents*)&forMarshaling->contents, sizeof(VkSubpassContents)); |
| } |
| |
| void unmarshal_VkSubpassBeginInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkSubpassBeginInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkSubpassContents*)&forUnmarshaling->contents, sizeof(VkSubpassContents)); |
| } |
| |
| void marshal_VkSubpassEndInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkSubpassEndInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| } |
| |
| void unmarshal_VkSubpassEndInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkSubpassEndInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| } |
| |
| #endif |
| #ifdef VK_KHR_shared_presentable_image |
| void marshal_VkSharedPresentSurfaceCapabilitiesKHR( |
| VulkanStreamGuest* vkStream, |
| const VkSharedPresentSurfaceCapabilitiesKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkImageUsageFlags*)&forMarshaling->sharedPresentSupportedUsageFlags, sizeof(VkImageUsageFlags)); |
| } |
| |
| void unmarshal_VkSharedPresentSurfaceCapabilitiesKHR( |
| VulkanStreamGuest* vkStream, |
| VkSharedPresentSurfaceCapabilitiesKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkImageUsageFlags*)&forUnmarshaling->sharedPresentSupportedUsageFlags, sizeof(VkImageUsageFlags)); |
| } |
| |
| #endif |
| #ifdef VK_KHR_external_fence_capabilities |
| #endif |
| #ifdef VK_KHR_external_fence |
| #endif |
| #ifdef VK_KHR_external_fence_win32 |
| void marshal_VkImportFenceWin32HandleInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkImportFenceWin32HandleInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_264; |
| vkStream->handleMapping()->mapHandles_VkFence_u64(&forMarshaling->fence, &cgen_var_264, 1); |
| vkStream->write((uint64_t*)&cgen_var_264, 1 * 8); |
| vkStream->write((VkFenceImportFlags*)&forMarshaling->flags, sizeof(VkFenceImportFlags)); |
| vkStream->write((VkExternalFenceHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalFenceHandleTypeFlagBits)); |
| vkStream->write((HANDLE*)&forMarshaling->handle, sizeof(HANDLE)); |
| vkStream->write((LPCWSTR*)&forMarshaling->name, sizeof(LPCWSTR)); |
| } |
| |
| void unmarshal_VkImportFenceWin32HandleInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkImportFenceWin32HandleInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_265; |
| vkStream->read((uint64_t*)&cgen_var_265, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkFence(&cgen_var_265, (VkFence*)&forUnmarshaling->fence, 1); |
| vkStream->read((VkFenceImportFlags*)&forUnmarshaling->flags, sizeof(VkFenceImportFlags)); |
| vkStream->read((VkExternalFenceHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalFenceHandleTypeFlagBits)); |
| vkStream->read((HANDLE*)&forUnmarshaling->handle, sizeof(HANDLE)); |
| vkStream->read((LPCWSTR*)&forUnmarshaling->name, sizeof(LPCWSTR)); |
| } |
| |
| void marshal_VkExportFenceWin32HandleInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkExportFenceWin32HandleInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| // WARNING PTR CHECK |
| uint64_t cgen_var_266 = (uint64_t)(uintptr_t)forMarshaling->pAttributes; |
| vkStream->putBe64(cgen_var_266); |
| if (forMarshaling->pAttributes) |
| { |
| vkStream->write((const SECURITY_ATTRIBUTES*)forMarshaling->pAttributes, sizeof(const SECURITY_ATTRIBUTES)); |
| } |
| vkStream->write((DWORD*)&forMarshaling->dwAccess, sizeof(DWORD)); |
| vkStream->write((LPCWSTR*)&forMarshaling->name, sizeof(LPCWSTR)); |
| } |
| |
| void unmarshal_VkExportFenceWin32HandleInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkExportFenceWin32HandleInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| // WARNING PTR CHECK |
| const SECURITY_ATTRIBUTES* check_pAttributes; |
| check_pAttributes = (const SECURITY_ATTRIBUTES*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pAttributes) |
| { |
| if (!(check_pAttributes)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pAttributes inconsistent between guest and host\n"); |
| } |
| vkStream->read((SECURITY_ATTRIBUTES*)forUnmarshaling->pAttributes, sizeof(const SECURITY_ATTRIBUTES)); |
| } |
| vkStream->read((DWORD*)&forUnmarshaling->dwAccess, sizeof(DWORD)); |
| vkStream->read((LPCWSTR*)&forUnmarshaling->name, sizeof(LPCWSTR)); |
| } |
| |
| void marshal_VkFenceGetWin32HandleInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkFenceGetWin32HandleInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_268; |
| vkStream->handleMapping()->mapHandles_VkFence_u64(&forMarshaling->fence, &cgen_var_268, 1); |
| vkStream->write((uint64_t*)&cgen_var_268, 1 * 8); |
| vkStream->write((VkExternalFenceHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalFenceHandleTypeFlagBits)); |
| } |
| |
| void unmarshal_VkFenceGetWin32HandleInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkFenceGetWin32HandleInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_269; |
| vkStream->read((uint64_t*)&cgen_var_269, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkFence(&cgen_var_269, (VkFence*)&forUnmarshaling->fence, 1); |
| vkStream->read((VkExternalFenceHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalFenceHandleTypeFlagBits)); |
| } |
| |
| #endif |
| #ifdef VK_KHR_external_fence_fd |
| void marshal_VkImportFenceFdInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkImportFenceFdInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_270; |
| vkStream->handleMapping()->mapHandles_VkFence_u64(&forMarshaling->fence, &cgen_var_270, 1); |
| vkStream->write((uint64_t*)&cgen_var_270, 1 * 8); |
| vkStream->write((VkFenceImportFlags*)&forMarshaling->flags, sizeof(VkFenceImportFlags)); |
| vkStream->write((VkExternalFenceHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalFenceHandleTypeFlagBits)); |
| vkStream->write((int*)&forMarshaling->fd, sizeof(int)); |
| } |
| |
| void unmarshal_VkImportFenceFdInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkImportFenceFdInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_271; |
| vkStream->read((uint64_t*)&cgen_var_271, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkFence(&cgen_var_271, (VkFence*)&forUnmarshaling->fence, 1); |
| vkStream->read((VkFenceImportFlags*)&forUnmarshaling->flags, sizeof(VkFenceImportFlags)); |
| vkStream->read((VkExternalFenceHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalFenceHandleTypeFlagBits)); |
| vkStream->read((int*)&forUnmarshaling->fd, sizeof(int)); |
| } |
| |
| void marshal_VkFenceGetFdInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkFenceGetFdInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_272; |
| vkStream->handleMapping()->mapHandles_VkFence_u64(&forMarshaling->fence, &cgen_var_272, 1); |
| vkStream->write((uint64_t*)&cgen_var_272, 1 * 8); |
| vkStream->write((VkExternalFenceHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalFenceHandleTypeFlagBits)); |
| } |
| |
| void unmarshal_VkFenceGetFdInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkFenceGetFdInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_273; |
| vkStream->read((uint64_t*)&cgen_var_273, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkFence(&cgen_var_273, (VkFence*)&forUnmarshaling->fence, 1); |
| vkStream->read((VkExternalFenceHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalFenceHandleTypeFlagBits)); |
| } |
| |
| #endif |
| #ifdef VK_KHR_maintenance2 |
| #endif |
| #ifdef VK_KHR_get_surface_capabilities2 |
| void marshal_VkPhysicalDeviceSurfaceInfo2KHR( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceSurfaceInfo2KHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_274; |
| vkStream->handleMapping()->mapHandles_VkSurfaceKHR_u64(&forMarshaling->surface, &cgen_var_274, 1); |
| vkStream->write((uint64_t*)&cgen_var_274, 1 * 8); |
| } |
| |
| void unmarshal_VkPhysicalDeviceSurfaceInfo2KHR( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceSurfaceInfo2KHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_275; |
| vkStream->read((uint64_t*)&cgen_var_275, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkSurfaceKHR(&cgen_var_275, (VkSurfaceKHR*)&forUnmarshaling->surface, 1); |
| } |
| |
| void marshal_VkSurfaceCapabilities2KHR( |
| VulkanStreamGuest* vkStream, |
| const VkSurfaceCapabilities2KHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| marshal_VkSurfaceCapabilitiesKHR(vkStream, (VkSurfaceCapabilitiesKHR*)(&forMarshaling->surfaceCapabilities)); |
| } |
| |
| void unmarshal_VkSurfaceCapabilities2KHR( |
| VulkanStreamGuest* vkStream, |
| VkSurfaceCapabilities2KHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| unmarshal_VkSurfaceCapabilitiesKHR(vkStream, (VkSurfaceCapabilitiesKHR*)(&forUnmarshaling->surfaceCapabilities)); |
| } |
| |
| void marshal_VkSurfaceFormat2KHR( |
| VulkanStreamGuest* vkStream, |
| const VkSurfaceFormat2KHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| marshal_VkSurfaceFormatKHR(vkStream, (VkSurfaceFormatKHR*)(&forMarshaling->surfaceFormat)); |
| } |
| |
| void unmarshal_VkSurfaceFormat2KHR( |
| VulkanStreamGuest* vkStream, |
| VkSurfaceFormat2KHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| unmarshal_VkSurfaceFormatKHR(vkStream, (VkSurfaceFormatKHR*)(&forUnmarshaling->surfaceFormat)); |
| } |
| |
| #endif |
| #ifdef VK_KHR_variable_pointers |
| #endif |
| #ifdef VK_KHR_get_display_properties2 |
| void marshal_VkDisplayProperties2KHR( |
| VulkanStreamGuest* vkStream, |
| const VkDisplayProperties2KHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| marshal_VkDisplayPropertiesKHR(vkStream, (VkDisplayPropertiesKHR*)(&forMarshaling->displayProperties)); |
| } |
| |
| void unmarshal_VkDisplayProperties2KHR( |
| VulkanStreamGuest* vkStream, |
| VkDisplayProperties2KHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| unmarshal_VkDisplayPropertiesKHR(vkStream, (VkDisplayPropertiesKHR*)(&forUnmarshaling->displayProperties)); |
| } |
| |
| void marshal_VkDisplayPlaneProperties2KHR( |
| VulkanStreamGuest* vkStream, |
| const VkDisplayPlaneProperties2KHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| marshal_VkDisplayPlanePropertiesKHR(vkStream, (VkDisplayPlanePropertiesKHR*)(&forMarshaling->displayPlaneProperties)); |
| } |
| |
| void unmarshal_VkDisplayPlaneProperties2KHR( |
| VulkanStreamGuest* vkStream, |
| VkDisplayPlaneProperties2KHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| unmarshal_VkDisplayPlanePropertiesKHR(vkStream, (VkDisplayPlanePropertiesKHR*)(&forUnmarshaling->displayPlaneProperties)); |
| } |
| |
| void marshal_VkDisplayModeProperties2KHR( |
| VulkanStreamGuest* vkStream, |
| const VkDisplayModeProperties2KHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| marshal_VkDisplayModePropertiesKHR(vkStream, (VkDisplayModePropertiesKHR*)(&forMarshaling->displayModeProperties)); |
| } |
| |
| void unmarshal_VkDisplayModeProperties2KHR( |
| VulkanStreamGuest* vkStream, |
| VkDisplayModeProperties2KHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| unmarshal_VkDisplayModePropertiesKHR(vkStream, (VkDisplayModePropertiesKHR*)(&forUnmarshaling->displayModeProperties)); |
| } |
| |
| void marshal_VkDisplayPlaneInfo2KHR( |
| VulkanStreamGuest* vkStream, |
| const VkDisplayPlaneInfo2KHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_276; |
| vkStream->handleMapping()->mapHandles_VkDisplayModeKHR_u64(&forMarshaling->mode, &cgen_var_276, 1); |
| vkStream->write((uint64_t*)&cgen_var_276, 1 * 8); |
| vkStream->write((uint32_t*)&forMarshaling->planeIndex, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkDisplayPlaneInfo2KHR( |
| VulkanStreamGuest* vkStream, |
| VkDisplayPlaneInfo2KHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_277; |
| vkStream->read((uint64_t*)&cgen_var_277, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkDisplayModeKHR(&cgen_var_277, (VkDisplayModeKHR*)&forUnmarshaling->mode, 1); |
| vkStream->read((uint32_t*)&forUnmarshaling->planeIndex, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkDisplayPlaneCapabilities2KHR( |
| VulkanStreamGuest* vkStream, |
| const VkDisplayPlaneCapabilities2KHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| marshal_VkDisplayPlaneCapabilitiesKHR(vkStream, (VkDisplayPlaneCapabilitiesKHR*)(&forMarshaling->capabilities)); |
| } |
| |
| void unmarshal_VkDisplayPlaneCapabilities2KHR( |
| VulkanStreamGuest* vkStream, |
| VkDisplayPlaneCapabilities2KHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| unmarshal_VkDisplayPlaneCapabilitiesKHR(vkStream, (VkDisplayPlaneCapabilitiesKHR*)(&forUnmarshaling->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 marshal_VkImageFormatListCreateInfoKHR( |
| VulkanStreamGuest* vkStream, |
| const VkImageFormatListCreateInfoKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->viewFormatCount, sizeof(uint32_t)); |
| vkStream->write((const VkFormat*)forMarshaling->pViewFormats, forMarshaling->viewFormatCount * sizeof(const VkFormat)); |
| } |
| |
| void unmarshal_VkImageFormatListCreateInfoKHR( |
| VulkanStreamGuest* vkStream, |
| VkImageFormatListCreateInfoKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->viewFormatCount, sizeof(uint32_t)); |
| vkStream->read((VkFormat*)forUnmarshaling->pViewFormats, forUnmarshaling->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 marshal_VkPhysicalDevice8BitStorageFeaturesKHR( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDevice8BitStorageFeaturesKHR* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkBool32*)&forMarshaling->storageBuffer8BitAccess, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->uniformAndStorageBuffer8BitAccess, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->storagePushConstant8, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkPhysicalDevice8BitStorageFeaturesKHR( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDevice8BitStorageFeaturesKHR* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkBool32*)&forUnmarshaling->storageBuffer8BitAccess, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->uniformAndStorageBuffer8BitAccess, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->storagePushConstant8, sizeof(VkBool32)); |
| } |
| |
| #endif |
| #ifdef VK_ANDROID_native_buffer |
| void marshal_VkNativeBufferANDROID( |
| VulkanStreamGuest* vkStream, |
| const VkNativeBufferANDROID* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| // WARNING PTR CHECK |
| uint64_t cgen_var_278 = (uint64_t)(uintptr_t)forMarshaling->handle; |
| vkStream->putBe64(cgen_var_278); |
| if (forMarshaling->handle) |
| { |
| vkStream->write((const uint32_t*)forMarshaling->handle, sizeof(const uint32_t)); |
| } |
| vkStream->write((int*)&forMarshaling->stride, sizeof(int)); |
| vkStream->write((int*)&forMarshaling->format, sizeof(int)); |
| vkStream->write((int*)&forMarshaling->usage, sizeof(int)); |
| vkStream->write((uint64_t*)&forMarshaling->consumer, sizeof(uint64_t)); |
| vkStream->write((uint64_t*)&forMarshaling->producer, sizeof(uint64_t)); |
| } |
| |
| void unmarshal_VkNativeBufferANDROID( |
| VulkanStreamGuest* vkStream, |
| VkNativeBufferANDROID* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| // WARNING PTR CHECK |
| const uint32_t* check_handle; |
| check_handle = (const uint32_t*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->handle) |
| { |
| if (!(check_handle)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->handle inconsistent between guest and host\n"); |
| } |
| vkStream->read((uint32_t*)forUnmarshaling->handle, sizeof(const uint32_t)); |
| } |
| vkStream->read((int*)&forUnmarshaling->stride, sizeof(int)); |
| vkStream->read((int*)&forUnmarshaling->format, sizeof(int)); |
| vkStream->read((int*)&forUnmarshaling->usage, sizeof(int)); |
| vkStream->read((uint64_t*)&forUnmarshaling->consumer, sizeof(uint64_t)); |
| vkStream->read((uint64_t*)&forUnmarshaling->producer, sizeof(uint64_t)); |
| } |
| |
| #endif |
| #ifdef VK_EXT_debug_report |
| void marshal_VkDebugReportCallbackCreateInfoEXT( |
| VulkanStreamGuest* vkStream, |
| const VkDebugReportCallbackCreateInfoEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkDebugReportFlagsEXT*)&forMarshaling->flags, sizeof(VkDebugReportFlagsEXT)); |
| uint64_t cgen_var_280 = (uint64_t)forMarshaling->pfnCallback; |
| vkStream->putBe64(cgen_var_280); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_281 = (uint64_t)(uintptr_t)forMarshaling->pUserData; |
| vkStream->putBe64(cgen_var_281); |
| if (forMarshaling->pUserData) |
| { |
| vkStream->write((void*)forMarshaling->pUserData, sizeof(uint8_t)); |
| } |
| } |
| |
| void unmarshal_VkDebugReportCallbackCreateInfoEXT( |
| VulkanStreamGuest* vkStream, |
| VkDebugReportCallbackCreateInfoEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkDebugReportFlagsEXT*)&forUnmarshaling->flags, sizeof(VkDebugReportFlagsEXT)); |
| forUnmarshaling->pfnCallback = (PFN_vkDebugReportCallbackEXT)vkStream->getBe64(); |
| // WARNING PTR CHECK |
| void* check_pUserData; |
| check_pUserData = (void*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pUserData) |
| { |
| if (!(check_pUserData)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pUserData inconsistent between guest and host\n"); |
| } |
| vkStream->read((void*)forUnmarshaling->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 marshal_VkPipelineRasterizationStateRasterizationOrderAMD( |
| VulkanStreamGuest* vkStream, |
| const VkPipelineRasterizationStateRasterizationOrderAMD* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkRasterizationOrderAMD*)&forMarshaling->rasterizationOrder, sizeof(VkRasterizationOrderAMD)); |
| } |
| |
| void unmarshal_VkPipelineRasterizationStateRasterizationOrderAMD( |
| VulkanStreamGuest* vkStream, |
| VkPipelineRasterizationStateRasterizationOrderAMD* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkRasterizationOrderAMD*)&forUnmarshaling->rasterizationOrder, sizeof(VkRasterizationOrderAMD)); |
| } |
| |
| #endif |
| #ifdef VK_AMD_shader_trinary_minmax |
| #endif |
| #ifdef VK_AMD_shader_explicit_vertex_parameter |
| #endif |
| #ifdef VK_EXT_debug_marker |
| void marshal_VkDebugMarkerObjectNameInfoEXT( |
| VulkanStreamGuest* vkStream, |
| const VkDebugMarkerObjectNameInfoEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkDebugReportObjectTypeEXT*)&forMarshaling->objectType, sizeof(VkDebugReportObjectTypeEXT)); |
| vkStream->write((uint64_t*)&forMarshaling->object, sizeof(uint64_t)); |
| vkStream->putString(forMarshaling->pObjectName); |
| } |
| |
| void unmarshal_VkDebugMarkerObjectNameInfoEXT( |
| VulkanStreamGuest* vkStream, |
| VkDebugMarkerObjectNameInfoEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkDebugReportObjectTypeEXT*)&forUnmarshaling->objectType, sizeof(VkDebugReportObjectTypeEXT)); |
| vkStream->read((uint64_t*)&forUnmarshaling->object, sizeof(uint64_t)); |
| vkStream->loadStringInPlace((char**)&forUnmarshaling->pObjectName); |
| } |
| |
| void marshal_VkDebugMarkerObjectTagInfoEXT( |
| VulkanStreamGuest* vkStream, |
| const VkDebugMarkerObjectTagInfoEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkDebugReportObjectTypeEXT*)&forMarshaling->objectType, sizeof(VkDebugReportObjectTypeEXT)); |
| vkStream->write((uint64_t*)&forMarshaling->object, sizeof(uint64_t)); |
| vkStream->write((uint64_t*)&forMarshaling->tagName, sizeof(uint64_t)); |
| uint64_t cgen_var_284 = (uint64_t)forMarshaling->tagSize; |
| vkStream->putBe64(cgen_var_284); |
| vkStream->write((const void*)forMarshaling->pTag, forMarshaling->tagSize * sizeof(const uint8_t)); |
| } |
| |
| void unmarshal_VkDebugMarkerObjectTagInfoEXT( |
| VulkanStreamGuest* vkStream, |
| VkDebugMarkerObjectTagInfoEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkDebugReportObjectTypeEXT*)&forUnmarshaling->objectType, sizeof(VkDebugReportObjectTypeEXT)); |
| vkStream->read((uint64_t*)&forUnmarshaling->object, sizeof(uint64_t)); |
| vkStream->read((uint64_t*)&forUnmarshaling->tagName, sizeof(uint64_t)); |
| forUnmarshaling->tagSize = (size_t)vkStream->getBe64(); |
| vkStream->read((void*)forUnmarshaling->pTag, forUnmarshaling->tagSize * sizeof(const uint8_t)); |
| } |
| |
| void marshal_VkDebugMarkerMarkerInfoEXT( |
| VulkanStreamGuest* vkStream, |
| const VkDebugMarkerMarkerInfoEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->putString(forMarshaling->pMarkerName); |
| vkStream->write((float*)forMarshaling->color, 4 * sizeof(float)); |
| } |
| |
| void unmarshal_VkDebugMarkerMarkerInfoEXT( |
| VulkanStreamGuest* vkStream, |
| VkDebugMarkerMarkerInfoEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->loadStringInPlace((char**)&forUnmarshaling->pMarkerName); |
| vkStream->read((float*)forUnmarshaling->color, 4 * sizeof(float)); |
| } |
| |
| #endif |
| #ifdef VK_AMD_gcn_shader |
| #endif |
| #ifdef VK_NV_dedicated_allocation |
| void marshal_VkDedicatedAllocationImageCreateInfoNV( |
| VulkanStreamGuest* vkStream, |
| const VkDedicatedAllocationImageCreateInfoNV* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkBool32*)&forMarshaling->dedicatedAllocation, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkDedicatedAllocationImageCreateInfoNV( |
| VulkanStreamGuest* vkStream, |
| VkDedicatedAllocationImageCreateInfoNV* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkBool32*)&forUnmarshaling->dedicatedAllocation, sizeof(VkBool32)); |
| } |
| |
| void marshal_VkDedicatedAllocationBufferCreateInfoNV( |
| VulkanStreamGuest* vkStream, |
| const VkDedicatedAllocationBufferCreateInfoNV* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkBool32*)&forMarshaling->dedicatedAllocation, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkDedicatedAllocationBufferCreateInfoNV( |
| VulkanStreamGuest* vkStream, |
| VkDedicatedAllocationBufferCreateInfoNV* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkBool32*)&forUnmarshaling->dedicatedAllocation, sizeof(VkBool32)); |
| } |
| |
| void marshal_VkDedicatedAllocationMemoryAllocateInfoNV( |
| VulkanStreamGuest* vkStream, |
| const VkDedicatedAllocationMemoryAllocateInfoNV* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_286; |
| vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_286, 1); |
| vkStream->write((uint64_t*)&cgen_var_286, 1 * 8); |
| uint64_t cgen_var_287; |
| vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_287, 1); |
| vkStream->write((uint64_t*)&cgen_var_287, 1 * 8); |
| } |
| |
| void unmarshal_VkDedicatedAllocationMemoryAllocateInfoNV( |
| VulkanStreamGuest* vkStream, |
| VkDedicatedAllocationMemoryAllocateInfoNV* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_288; |
| vkStream->read((uint64_t*)&cgen_var_288, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_288, (VkImage*)&forUnmarshaling->image, 1); |
| uint64_t cgen_var_289; |
| vkStream->read((uint64_t*)&cgen_var_289, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_289, (VkBuffer*)&forUnmarshaling->buffer, 1); |
| } |
| |
| #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 marshal_VkTextureLODGatherFormatPropertiesAMD( |
| VulkanStreamGuest* vkStream, |
| const VkTextureLODGatherFormatPropertiesAMD* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkBool32*)&forMarshaling->supportsTextureGatherLODBiasAMD, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkTextureLODGatherFormatPropertiesAMD( |
| VulkanStreamGuest* vkStream, |
| VkTextureLODGatherFormatPropertiesAMD* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkBool32*)&forUnmarshaling->supportsTextureGatherLODBiasAMD, sizeof(VkBool32)); |
| } |
| |
| #endif |
| #ifdef VK_AMD_shader_info |
| void marshal_VkShaderResourceUsageAMD( |
| VulkanStreamGuest* vkStream, |
| const VkShaderResourceUsageAMD* forMarshaling) |
| { |
| vkStream->write((uint32_t*)&forMarshaling->numUsedVgprs, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->numUsedSgprs, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->ldsSizePerLocalWorkGroup, sizeof(uint32_t)); |
| uint64_t cgen_var_290 = (uint64_t)forMarshaling->ldsUsageSizeInBytes; |
| vkStream->putBe64(cgen_var_290); |
| uint64_t cgen_var_291 = (uint64_t)forMarshaling->scratchMemUsageInBytes; |
| vkStream->putBe64(cgen_var_291); |
| } |
| |
| void unmarshal_VkShaderResourceUsageAMD( |
| VulkanStreamGuest* vkStream, |
| VkShaderResourceUsageAMD* forUnmarshaling) |
| { |
| vkStream->read((uint32_t*)&forUnmarshaling->numUsedVgprs, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->numUsedSgprs, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->ldsSizePerLocalWorkGroup, sizeof(uint32_t)); |
| forUnmarshaling->ldsUsageSizeInBytes = (size_t)vkStream->getBe64(); |
| forUnmarshaling->scratchMemUsageInBytes = (size_t)vkStream->getBe64(); |
| } |
| |
| void marshal_VkShaderStatisticsInfoAMD( |
| VulkanStreamGuest* vkStream, |
| const VkShaderStatisticsInfoAMD* forMarshaling) |
| { |
| vkStream->write((VkShaderStageFlags*)&forMarshaling->shaderStageMask, sizeof(VkShaderStageFlags)); |
| marshal_VkShaderResourceUsageAMD(vkStream, (VkShaderResourceUsageAMD*)(&forMarshaling->resourceUsage)); |
| vkStream->write((uint32_t*)&forMarshaling->numPhysicalVgprs, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->numPhysicalSgprs, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->numAvailableVgprs, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->numAvailableSgprs, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)forMarshaling->computeWorkGroupSize, 3 * sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkShaderStatisticsInfoAMD( |
| VulkanStreamGuest* vkStream, |
| VkShaderStatisticsInfoAMD* forUnmarshaling) |
| { |
| vkStream->read((VkShaderStageFlags*)&forUnmarshaling->shaderStageMask, sizeof(VkShaderStageFlags)); |
| unmarshal_VkShaderResourceUsageAMD(vkStream, (VkShaderResourceUsageAMD*)(&forUnmarshaling->resourceUsage)); |
| vkStream->read((uint32_t*)&forUnmarshaling->numPhysicalVgprs, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->numPhysicalSgprs, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->numAvailableVgprs, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->numAvailableSgprs, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)forUnmarshaling->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 marshal_VkExternalImageFormatPropertiesNV( |
| VulkanStreamGuest* vkStream, |
| const VkExternalImageFormatPropertiesNV* forMarshaling) |
| { |
| marshal_VkImageFormatProperties(vkStream, (VkImageFormatProperties*)(&forMarshaling->imageFormatProperties)); |
| vkStream->write((VkExternalMemoryFeatureFlagsNV*)&forMarshaling->externalMemoryFeatures, sizeof(VkExternalMemoryFeatureFlagsNV)); |
| vkStream->write((VkExternalMemoryHandleTypeFlagsNV*)&forMarshaling->exportFromImportedHandleTypes, sizeof(VkExternalMemoryHandleTypeFlagsNV)); |
| vkStream->write((VkExternalMemoryHandleTypeFlagsNV*)&forMarshaling->compatibleHandleTypes, sizeof(VkExternalMemoryHandleTypeFlagsNV)); |
| } |
| |
| void unmarshal_VkExternalImageFormatPropertiesNV( |
| VulkanStreamGuest* vkStream, |
| VkExternalImageFormatPropertiesNV* forUnmarshaling) |
| { |
| unmarshal_VkImageFormatProperties(vkStream, (VkImageFormatProperties*)(&forUnmarshaling->imageFormatProperties)); |
| vkStream->read((VkExternalMemoryFeatureFlagsNV*)&forUnmarshaling->externalMemoryFeatures, sizeof(VkExternalMemoryFeatureFlagsNV)); |
| vkStream->read((VkExternalMemoryHandleTypeFlagsNV*)&forUnmarshaling->exportFromImportedHandleTypes, sizeof(VkExternalMemoryHandleTypeFlagsNV)); |
| vkStream->read((VkExternalMemoryHandleTypeFlagsNV*)&forUnmarshaling->compatibleHandleTypes, sizeof(VkExternalMemoryHandleTypeFlagsNV)); |
| } |
| |
| #endif |
| #ifdef VK_NV_external_memory |
| void marshal_VkExternalMemoryImageCreateInfoNV( |
| VulkanStreamGuest* vkStream, |
| const VkExternalMemoryImageCreateInfoNV* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkExternalMemoryHandleTypeFlagsNV*)&forMarshaling->handleTypes, sizeof(VkExternalMemoryHandleTypeFlagsNV)); |
| } |
| |
| void unmarshal_VkExternalMemoryImageCreateInfoNV( |
| VulkanStreamGuest* vkStream, |
| VkExternalMemoryImageCreateInfoNV* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkExternalMemoryHandleTypeFlagsNV*)&forUnmarshaling->handleTypes, sizeof(VkExternalMemoryHandleTypeFlagsNV)); |
| } |
| |
| void marshal_VkExportMemoryAllocateInfoNV( |
| VulkanStreamGuest* vkStream, |
| const VkExportMemoryAllocateInfoNV* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkExternalMemoryHandleTypeFlagsNV*)&forMarshaling->handleTypes, sizeof(VkExternalMemoryHandleTypeFlagsNV)); |
| } |
| |
| void unmarshal_VkExportMemoryAllocateInfoNV( |
| VulkanStreamGuest* vkStream, |
| VkExportMemoryAllocateInfoNV* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkExternalMemoryHandleTypeFlagsNV*)&forUnmarshaling->handleTypes, sizeof(VkExternalMemoryHandleTypeFlagsNV)); |
| } |
| |
| #endif |
| #ifdef VK_NV_external_memory_win32 |
| void marshal_VkImportMemoryWin32HandleInfoNV( |
| VulkanStreamGuest* vkStream, |
| const VkImportMemoryWin32HandleInfoNV* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkExternalMemoryHandleTypeFlagsNV*)&forMarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagsNV)); |
| vkStream->write((HANDLE*)&forMarshaling->handle, sizeof(HANDLE)); |
| } |
| |
| void unmarshal_VkImportMemoryWin32HandleInfoNV( |
| VulkanStreamGuest* vkStream, |
| VkImportMemoryWin32HandleInfoNV* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkExternalMemoryHandleTypeFlagsNV*)&forUnmarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagsNV)); |
| vkStream->read((HANDLE*)&forUnmarshaling->handle, sizeof(HANDLE)); |
| } |
| |
| void marshal_VkExportMemoryWin32HandleInfoNV( |
| VulkanStreamGuest* vkStream, |
| const VkExportMemoryWin32HandleInfoNV* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| // WARNING PTR CHECK |
| uint64_t cgen_var_294 = (uint64_t)(uintptr_t)forMarshaling->pAttributes; |
| vkStream->putBe64(cgen_var_294); |
| if (forMarshaling->pAttributes) |
| { |
| vkStream->write((const SECURITY_ATTRIBUTES*)forMarshaling->pAttributes, sizeof(const SECURITY_ATTRIBUTES)); |
| } |
| vkStream->write((DWORD*)&forMarshaling->dwAccess, sizeof(DWORD)); |
| } |
| |
| void unmarshal_VkExportMemoryWin32HandleInfoNV( |
| VulkanStreamGuest* vkStream, |
| VkExportMemoryWin32HandleInfoNV* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| // WARNING PTR CHECK |
| const SECURITY_ATTRIBUTES* check_pAttributes; |
| check_pAttributes = (const SECURITY_ATTRIBUTES*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pAttributes) |
| { |
| if (!(check_pAttributes)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pAttributes inconsistent between guest and host\n"); |
| } |
| vkStream->read((SECURITY_ATTRIBUTES*)forUnmarshaling->pAttributes, sizeof(const SECURITY_ATTRIBUTES)); |
| } |
| vkStream->read((DWORD*)&forUnmarshaling->dwAccess, sizeof(DWORD)); |
| } |
| |
| #endif |
| #ifdef VK_NV_win32_keyed_mutex |
| void marshal_VkWin32KeyedMutexAcquireReleaseInfoNV( |
| VulkanStreamGuest* vkStream, |
| const VkWin32KeyedMutexAcquireReleaseInfoNV* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->acquireCount, sizeof(uint32_t)); |
| if (forMarshaling->acquireCount) |
| { |
| uint64_t* cgen_var_296; |
| vkStream->alloc((void**)&cgen_var_296, forMarshaling->acquireCount * 8); |
| vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(forMarshaling->pAcquireSyncs, cgen_var_296, forMarshaling->acquireCount); |
| vkStream->write((uint64_t*)cgen_var_296, forMarshaling->acquireCount * 8); |
| } |
| vkStream->write((const uint64_t*)forMarshaling->pAcquireKeys, forMarshaling->acquireCount * sizeof(const uint64_t)); |
| vkStream->write((const uint32_t*)forMarshaling->pAcquireTimeoutMilliseconds, forMarshaling->acquireCount * sizeof(const uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->releaseCount, sizeof(uint32_t)); |
| if (forMarshaling->releaseCount) |
| { |
| uint64_t* cgen_var_297; |
| vkStream->alloc((void**)&cgen_var_297, forMarshaling->releaseCount * 8); |
| vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(forMarshaling->pReleaseSyncs, cgen_var_297, forMarshaling->releaseCount); |
| vkStream->write((uint64_t*)cgen_var_297, forMarshaling->releaseCount * 8); |
| } |
| vkStream->write((const uint64_t*)forMarshaling->pReleaseKeys, forMarshaling->releaseCount * sizeof(const uint64_t)); |
| } |
| |
| void unmarshal_VkWin32KeyedMutexAcquireReleaseInfoNV( |
| VulkanStreamGuest* vkStream, |
| VkWin32KeyedMutexAcquireReleaseInfoNV* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->acquireCount, sizeof(uint32_t)); |
| if (forUnmarshaling->acquireCount) |
| { |
| uint64_t* cgen_var_298; |
| vkStream->alloc((void**)&cgen_var_298, forUnmarshaling->acquireCount * 8); |
| vkStream->read((uint64_t*)cgen_var_298, forUnmarshaling->acquireCount * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(cgen_var_298, (VkDeviceMemory*)forUnmarshaling->pAcquireSyncs, forUnmarshaling->acquireCount); |
| } |
| vkStream->read((uint64_t*)forUnmarshaling->pAcquireKeys, forUnmarshaling->acquireCount * sizeof(const uint64_t)); |
| vkStream->read((uint32_t*)forUnmarshaling->pAcquireTimeoutMilliseconds, forUnmarshaling->acquireCount * sizeof(const uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->releaseCount, sizeof(uint32_t)); |
| if (forUnmarshaling->releaseCount) |
| { |
| uint64_t* cgen_var_299; |
| vkStream->alloc((void**)&cgen_var_299, forUnmarshaling->releaseCount * 8); |
| vkStream->read((uint64_t*)cgen_var_299, forUnmarshaling->releaseCount * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(cgen_var_299, (VkDeviceMemory*)forUnmarshaling->pReleaseSyncs, forUnmarshaling->releaseCount); |
| } |
| vkStream->read((uint64_t*)forUnmarshaling->pReleaseKeys, forUnmarshaling->releaseCount * sizeof(const uint64_t)); |
| } |
| |
| #endif |
| #ifdef VK_EXT_validation_flags |
| void marshal_VkValidationFlagsEXT( |
| VulkanStreamGuest* vkStream, |
| const VkValidationFlagsEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->disabledValidationCheckCount, sizeof(uint32_t)); |
| vkStream->write((const VkValidationCheckEXT*)forMarshaling->pDisabledValidationChecks, forMarshaling->disabledValidationCheckCount * sizeof(const VkValidationCheckEXT)); |
| } |
| |
| void unmarshal_VkValidationFlagsEXT( |
| VulkanStreamGuest* vkStream, |
| VkValidationFlagsEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->disabledValidationCheckCount, sizeof(uint32_t)); |
| vkStream->read((VkValidationCheckEXT*)forUnmarshaling->pDisabledValidationChecks, forUnmarshaling->disabledValidationCheckCount * sizeof(const VkValidationCheckEXT)); |
| } |
| |
| #endif |
| #ifdef VK_NN_vi_surface |
| void marshal_VkViSurfaceCreateInfoNN( |
| VulkanStreamGuest* vkStream, |
| const VkViSurfaceCreateInfoNN* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkViSurfaceCreateFlagsNN*)&forMarshaling->flags, sizeof(VkViSurfaceCreateFlagsNN)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_300 = (uint64_t)(uintptr_t)forMarshaling->window; |
| vkStream->putBe64(cgen_var_300); |
| if (forMarshaling->window) |
| { |
| vkStream->write((void*)forMarshaling->window, sizeof(uint8_t)); |
| } |
| } |
| |
| void unmarshal_VkViSurfaceCreateInfoNN( |
| VulkanStreamGuest* vkStream, |
| VkViSurfaceCreateInfoNN* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkViSurfaceCreateFlagsNN*)&forUnmarshaling->flags, sizeof(VkViSurfaceCreateFlagsNN)); |
| // WARNING PTR CHECK |
| void* check_window; |
| check_window = (void*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->window) |
| { |
| if (!(check_window)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->window inconsistent between guest and host\n"); |
| } |
| vkStream->read((void*)forUnmarshaling->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 marshal_VkConditionalRenderingBeginInfoEXT( |
| VulkanStreamGuest* vkStream, |
| const VkConditionalRenderingBeginInfoEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_302; |
| vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_302, 1); |
| vkStream->write((uint64_t*)&cgen_var_302, 1 * 8); |
| vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize)); |
| vkStream->write((VkConditionalRenderingFlagsEXT*)&forMarshaling->flags, sizeof(VkConditionalRenderingFlagsEXT)); |
| } |
| |
| void unmarshal_VkConditionalRenderingBeginInfoEXT( |
| VulkanStreamGuest* vkStream, |
| VkConditionalRenderingBeginInfoEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_303; |
| vkStream->read((uint64_t*)&cgen_var_303, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_303, (VkBuffer*)&forUnmarshaling->buffer, 1); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize)); |
| vkStream->read((VkConditionalRenderingFlagsEXT*)&forUnmarshaling->flags, sizeof(VkConditionalRenderingFlagsEXT)); |
| } |
| |
| void marshal_VkPhysicalDeviceConditionalRenderingFeaturesEXT( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceConditionalRenderingFeaturesEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkBool32*)&forMarshaling->conditionalRendering, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->inheritedConditionalRendering, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceConditionalRenderingFeaturesEXT( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceConditionalRenderingFeaturesEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkBool32*)&forUnmarshaling->conditionalRendering, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->inheritedConditionalRendering, sizeof(VkBool32)); |
| } |
| |
| void marshal_VkCommandBufferInheritanceConditionalRenderingInfoEXT( |
| VulkanStreamGuest* vkStream, |
| const VkCommandBufferInheritanceConditionalRenderingInfoEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkBool32*)&forMarshaling->conditionalRenderingEnable, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkCommandBufferInheritanceConditionalRenderingInfoEXT( |
| VulkanStreamGuest* vkStream, |
| VkCommandBufferInheritanceConditionalRenderingInfoEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkBool32*)&forUnmarshaling->conditionalRenderingEnable, sizeof(VkBool32)); |
| } |
| |
| #endif |
| #ifdef VK_NVX_device_generated_commands |
| void marshal_VkDeviceGeneratedCommandsFeaturesNVX( |
| VulkanStreamGuest* vkStream, |
| const VkDeviceGeneratedCommandsFeaturesNVX* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkBool32*)&forMarshaling->computeBindingPointSupport, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkDeviceGeneratedCommandsFeaturesNVX( |
| VulkanStreamGuest* vkStream, |
| VkDeviceGeneratedCommandsFeaturesNVX* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkBool32*)&forUnmarshaling->computeBindingPointSupport, sizeof(VkBool32)); |
| } |
| |
| void marshal_VkDeviceGeneratedCommandsLimitsNVX( |
| VulkanStreamGuest* vkStream, |
| const VkDeviceGeneratedCommandsLimitsNVX* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->maxIndirectCommandsLayoutTokenCount, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxObjectEntryCounts, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->minSequenceCountBufferOffsetAlignment, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->minSequenceIndexBufferOffsetAlignment, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->minCommandsTokenBufferOffsetAlignment, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkDeviceGeneratedCommandsLimitsNVX( |
| VulkanStreamGuest* vkStream, |
| VkDeviceGeneratedCommandsLimitsNVX* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->maxIndirectCommandsLayoutTokenCount, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxObjectEntryCounts, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->minSequenceCountBufferOffsetAlignment, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->minSequenceIndexBufferOffsetAlignment, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->minCommandsTokenBufferOffsetAlignment, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkIndirectCommandsTokenNVX( |
| VulkanStreamGuest* vkStream, |
| const VkIndirectCommandsTokenNVX* forMarshaling) |
| { |
| vkStream->write((VkIndirectCommandsTokenTypeNVX*)&forMarshaling->tokenType, sizeof(VkIndirectCommandsTokenTypeNVX)); |
| uint64_t cgen_var_304; |
| vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_304, 1); |
| vkStream->write((uint64_t*)&cgen_var_304, 1 * 8); |
| vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize)); |
| } |
| |
| void unmarshal_VkIndirectCommandsTokenNVX( |
| VulkanStreamGuest* vkStream, |
| VkIndirectCommandsTokenNVX* forUnmarshaling) |
| { |
| vkStream->read((VkIndirectCommandsTokenTypeNVX*)&forUnmarshaling->tokenType, sizeof(VkIndirectCommandsTokenTypeNVX)); |
| uint64_t cgen_var_305; |
| vkStream->read((uint64_t*)&cgen_var_305, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_305, (VkBuffer*)&forUnmarshaling->buffer, 1); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize)); |
| } |
| |
| void marshal_VkIndirectCommandsLayoutTokenNVX( |
| VulkanStreamGuest* vkStream, |
| const VkIndirectCommandsLayoutTokenNVX* forMarshaling) |
| { |
| vkStream->write((VkIndirectCommandsTokenTypeNVX*)&forMarshaling->tokenType, sizeof(VkIndirectCommandsTokenTypeNVX)); |
| vkStream->write((uint32_t*)&forMarshaling->bindingUnit, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->dynamicCount, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->divisor, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkIndirectCommandsLayoutTokenNVX( |
| VulkanStreamGuest* vkStream, |
| VkIndirectCommandsLayoutTokenNVX* forUnmarshaling) |
| { |
| vkStream->read((VkIndirectCommandsTokenTypeNVX*)&forUnmarshaling->tokenType, sizeof(VkIndirectCommandsTokenTypeNVX)); |
| vkStream->read((uint32_t*)&forUnmarshaling->bindingUnit, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->dynamicCount, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->divisor, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkIndirectCommandsLayoutCreateInfoNVX( |
| VulkanStreamGuest* vkStream, |
| const VkIndirectCommandsLayoutCreateInfoNVX* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkPipelineBindPoint*)&forMarshaling->pipelineBindPoint, sizeof(VkPipelineBindPoint)); |
| vkStream->write((VkIndirectCommandsLayoutUsageFlagsNVX*)&forMarshaling->flags, sizeof(VkIndirectCommandsLayoutUsageFlagsNVX)); |
| vkStream->write((uint32_t*)&forMarshaling->tokenCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->tokenCount; ++i) |
| { |
| marshal_VkIndirectCommandsLayoutTokenNVX(vkStream, (const VkIndirectCommandsLayoutTokenNVX*)(forMarshaling->pTokens + i)); |
| } |
| } |
| |
| void unmarshal_VkIndirectCommandsLayoutCreateInfoNVX( |
| VulkanStreamGuest* vkStream, |
| VkIndirectCommandsLayoutCreateInfoNVX* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkPipelineBindPoint*)&forUnmarshaling->pipelineBindPoint, sizeof(VkPipelineBindPoint)); |
| vkStream->read((VkIndirectCommandsLayoutUsageFlagsNVX*)&forUnmarshaling->flags, sizeof(VkIndirectCommandsLayoutUsageFlagsNVX)); |
| vkStream->read((uint32_t*)&forUnmarshaling->tokenCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->tokenCount; ++i) |
| { |
| unmarshal_VkIndirectCommandsLayoutTokenNVX(vkStream, (VkIndirectCommandsLayoutTokenNVX*)(forUnmarshaling->pTokens + i)); |
| } |
| } |
| |
| void marshal_VkCmdProcessCommandsInfoNVX( |
| VulkanStreamGuest* vkStream, |
| const VkCmdProcessCommandsInfoNVX* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_306; |
| vkStream->handleMapping()->mapHandles_VkObjectTableNVX_u64(&forMarshaling->objectTable, &cgen_var_306, 1); |
| vkStream->write((uint64_t*)&cgen_var_306, 1 * 8); |
| uint64_t cgen_var_307; |
| vkStream->handleMapping()->mapHandles_VkIndirectCommandsLayoutNVX_u64(&forMarshaling->indirectCommandsLayout, &cgen_var_307, 1); |
| vkStream->write((uint64_t*)&cgen_var_307, 1 * 8); |
| vkStream->write((uint32_t*)&forMarshaling->indirectCommandsTokenCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->indirectCommandsTokenCount; ++i) |
| { |
| marshal_VkIndirectCommandsTokenNVX(vkStream, (const VkIndirectCommandsTokenNVX*)(forMarshaling->pIndirectCommandsTokens + i)); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->maxSequencesCount, sizeof(uint32_t)); |
| uint64_t cgen_var_308; |
| vkStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&forMarshaling->targetCommandBuffer, &cgen_var_308, 1); |
| vkStream->write((uint64_t*)&cgen_var_308, 1 * 8); |
| uint64_t cgen_var_309; |
| vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->sequencesCountBuffer, &cgen_var_309, 1); |
| vkStream->write((uint64_t*)&cgen_var_309, 1 * 8); |
| vkStream->write((VkDeviceSize*)&forMarshaling->sequencesCountOffset, sizeof(VkDeviceSize)); |
| uint64_t cgen_var_310; |
| vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->sequencesIndexBuffer, &cgen_var_310, 1); |
| vkStream->write((uint64_t*)&cgen_var_310, 1 * 8); |
| vkStream->write((VkDeviceSize*)&forMarshaling->sequencesIndexOffset, sizeof(VkDeviceSize)); |
| } |
| |
| void unmarshal_VkCmdProcessCommandsInfoNVX( |
| VulkanStreamGuest* vkStream, |
| VkCmdProcessCommandsInfoNVX* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_311; |
| vkStream->read((uint64_t*)&cgen_var_311, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkObjectTableNVX(&cgen_var_311, (VkObjectTableNVX*)&forUnmarshaling->objectTable, 1); |
| uint64_t cgen_var_312; |
| vkStream->read((uint64_t*)&cgen_var_312, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkIndirectCommandsLayoutNVX(&cgen_var_312, (VkIndirectCommandsLayoutNVX*)&forUnmarshaling->indirectCommandsLayout, 1); |
| vkStream->read((uint32_t*)&forUnmarshaling->indirectCommandsTokenCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->indirectCommandsTokenCount; ++i) |
| { |
| unmarshal_VkIndirectCommandsTokenNVX(vkStream, (VkIndirectCommandsTokenNVX*)(forUnmarshaling->pIndirectCommandsTokens + i)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->maxSequencesCount, sizeof(uint32_t)); |
| uint64_t cgen_var_313; |
| vkStream->read((uint64_t*)&cgen_var_313, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkCommandBuffer(&cgen_var_313, (VkCommandBuffer*)&forUnmarshaling->targetCommandBuffer, 1); |
| uint64_t cgen_var_314; |
| vkStream->read((uint64_t*)&cgen_var_314, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_314, (VkBuffer*)&forUnmarshaling->sequencesCountBuffer, 1); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->sequencesCountOffset, sizeof(VkDeviceSize)); |
| uint64_t cgen_var_315; |
| vkStream->read((uint64_t*)&cgen_var_315, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_315, (VkBuffer*)&forUnmarshaling->sequencesIndexBuffer, 1); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->sequencesIndexOffset, sizeof(VkDeviceSize)); |
| } |
| |
| void marshal_VkCmdReserveSpaceForCommandsInfoNVX( |
| VulkanStreamGuest* vkStream, |
| const VkCmdReserveSpaceForCommandsInfoNVX* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_316; |
| vkStream->handleMapping()->mapHandles_VkObjectTableNVX_u64(&forMarshaling->objectTable, &cgen_var_316, 1); |
| vkStream->write((uint64_t*)&cgen_var_316, 1 * 8); |
| uint64_t cgen_var_317; |
| vkStream->handleMapping()->mapHandles_VkIndirectCommandsLayoutNVX_u64(&forMarshaling->indirectCommandsLayout, &cgen_var_317, 1); |
| vkStream->write((uint64_t*)&cgen_var_317, 1 * 8); |
| vkStream->write((uint32_t*)&forMarshaling->maxSequencesCount, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkCmdReserveSpaceForCommandsInfoNVX( |
| VulkanStreamGuest* vkStream, |
| VkCmdReserveSpaceForCommandsInfoNVX* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_318; |
| vkStream->read((uint64_t*)&cgen_var_318, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkObjectTableNVX(&cgen_var_318, (VkObjectTableNVX*)&forUnmarshaling->objectTable, 1); |
| uint64_t cgen_var_319; |
| vkStream->read((uint64_t*)&cgen_var_319, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkIndirectCommandsLayoutNVX(&cgen_var_319, (VkIndirectCommandsLayoutNVX*)&forUnmarshaling->indirectCommandsLayout, 1); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxSequencesCount, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkObjectTableCreateInfoNVX( |
| VulkanStreamGuest* vkStream, |
| const VkObjectTableCreateInfoNVX* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->objectCount, sizeof(uint32_t)); |
| vkStream->write((const VkObjectEntryTypeNVX*)forMarshaling->pObjectEntryTypes, forMarshaling->objectCount * sizeof(const VkObjectEntryTypeNVX)); |
| vkStream->write((const uint32_t*)forMarshaling->pObjectEntryCounts, forMarshaling->objectCount * sizeof(const uint32_t)); |
| vkStream->write((const VkObjectEntryUsageFlagsNVX*)forMarshaling->pObjectEntryUsageFlags, forMarshaling->objectCount * sizeof(const VkObjectEntryUsageFlagsNVX)); |
| vkStream->write((uint32_t*)&forMarshaling->maxUniformBuffersPerDescriptor, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxStorageBuffersPerDescriptor, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxStorageImagesPerDescriptor, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxSampledImagesPerDescriptor, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxPipelineLayouts, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkObjectTableCreateInfoNVX( |
| VulkanStreamGuest* vkStream, |
| VkObjectTableCreateInfoNVX* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->objectCount, sizeof(uint32_t)); |
| vkStream->read((VkObjectEntryTypeNVX*)forUnmarshaling->pObjectEntryTypes, forUnmarshaling->objectCount * sizeof(const VkObjectEntryTypeNVX)); |
| vkStream->read((uint32_t*)forUnmarshaling->pObjectEntryCounts, forUnmarshaling->objectCount * sizeof(const uint32_t)); |
| vkStream->read((VkObjectEntryUsageFlagsNVX*)forUnmarshaling->pObjectEntryUsageFlags, forUnmarshaling->objectCount * sizeof(const VkObjectEntryUsageFlagsNVX)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxUniformBuffersPerDescriptor, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxStorageBuffersPerDescriptor, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxStorageImagesPerDescriptor, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxSampledImagesPerDescriptor, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxPipelineLayouts, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkObjectTableEntryNVX( |
| VulkanStreamGuest* vkStream, |
| const VkObjectTableEntryNVX* forMarshaling) |
| { |
| vkStream->write((VkObjectEntryTypeNVX*)&forMarshaling->type, sizeof(VkObjectEntryTypeNVX)); |
| vkStream->write((VkObjectEntryUsageFlagsNVX*)&forMarshaling->flags, sizeof(VkObjectEntryUsageFlagsNVX)); |
| } |
| |
| void unmarshal_VkObjectTableEntryNVX( |
| VulkanStreamGuest* vkStream, |
| VkObjectTableEntryNVX* forUnmarshaling) |
| { |
| vkStream->read((VkObjectEntryTypeNVX*)&forUnmarshaling->type, sizeof(VkObjectEntryTypeNVX)); |
| vkStream->read((VkObjectEntryUsageFlagsNVX*)&forUnmarshaling->flags, sizeof(VkObjectEntryUsageFlagsNVX)); |
| } |
| |
| void marshal_VkObjectTablePipelineEntryNVX( |
| VulkanStreamGuest* vkStream, |
| const VkObjectTablePipelineEntryNVX* forMarshaling) |
| { |
| vkStream->write((VkObjectEntryTypeNVX*)&forMarshaling->type, sizeof(VkObjectEntryTypeNVX)); |
| vkStream->write((VkObjectEntryUsageFlagsNVX*)&forMarshaling->flags, sizeof(VkObjectEntryUsageFlagsNVX)); |
| uint64_t cgen_var_320; |
| vkStream->handleMapping()->mapHandles_VkPipeline_u64(&forMarshaling->pipeline, &cgen_var_320, 1); |
| vkStream->write((uint64_t*)&cgen_var_320, 1 * 8); |
| } |
| |
| void unmarshal_VkObjectTablePipelineEntryNVX( |
| VulkanStreamGuest* vkStream, |
| VkObjectTablePipelineEntryNVX* forUnmarshaling) |
| { |
| vkStream->read((VkObjectEntryTypeNVX*)&forUnmarshaling->type, sizeof(VkObjectEntryTypeNVX)); |
| vkStream->read((VkObjectEntryUsageFlagsNVX*)&forUnmarshaling->flags, sizeof(VkObjectEntryUsageFlagsNVX)); |
| uint64_t cgen_var_321; |
| vkStream->read((uint64_t*)&cgen_var_321, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkPipeline(&cgen_var_321, (VkPipeline*)&forUnmarshaling->pipeline, 1); |
| } |
| |
| void marshal_VkObjectTableDescriptorSetEntryNVX( |
| VulkanStreamGuest* vkStream, |
| const VkObjectTableDescriptorSetEntryNVX* forMarshaling) |
| { |
| vkStream->write((VkObjectEntryTypeNVX*)&forMarshaling->type, sizeof(VkObjectEntryTypeNVX)); |
| vkStream->write((VkObjectEntryUsageFlagsNVX*)&forMarshaling->flags, sizeof(VkObjectEntryUsageFlagsNVX)); |
| uint64_t cgen_var_322; |
| vkStream->handleMapping()->mapHandles_VkPipelineLayout_u64(&forMarshaling->pipelineLayout, &cgen_var_322, 1); |
| vkStream->write((uint64_t*)&cgen_var_322, 1 * 8); |
| uint64_t cgen_var_323; |
| vkStream->handleMapping()->mapHandles_VkDescriptorSet_u64(&forMarshaling->descriptorSet, &cgen_var_323, 1); |
| vkStream->write((uint64_t*)&cgen_var_323, 1 * 8); |
| } |
| |
| void unmarshal_VkObjectTableDescriptorSetEntryNVX( |
| VulkanStreamGuest* vkStream, |
| VkObjectTableDescriptorSetEntryNVX* forUnmarshaling) |
| { |
| vkStream->read((VkObjectEntryTypeNVX*)&forUnmarshaling->type, sizeof(VkObjectEntryTypeNVX)); |
| vkStream->read((VkObjectEntryUsageFlagsNVX*)&forUnmarshaling->flags, sizeof(VkObjectEntryUsageFlagsNVX)); |
| uint64_t cgen_var_324; |
| vkStream->read((uint64_t*)&cgen_var_324, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkPipelineLayout(&cgen_var_324, (VkPipelineLayout*)&forUnmarshaling->pipelineLayout, 1); |
| uint64_t cgen_var_325; |
| vkStream->read((uint64_t*)&cgen_var_325, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkDescriptorSet(&cgen_var_325, (VkDescriptorSet*)&forUnmarshaling->descriptorSet, 1); |
| } |
| |
| void marshal_VkObjectTableVertexBufferEntryNVX( |
| VulkanStreamGuest* vkStream, |
| const VkObjectTableVertexBufferEntryNVX* forMarshaling) |
| { |
| vkStream->write((VkObjectEntryTypeNVX*)&forMarshaling->type, sizeof(VkObjectEntryTypeNVX)); |
| vkStream->write((VkObjectEntryUsageFlagsNVX*)&forMarshaling->flags, sizeof(VkObjectEntryUsageFlagsNVX)); |
| uint64_t cgen_var_326; |
| vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_326, 1); |
| vkStream->write((uint64_t*)&cgen_var_326, 1 * 8); |
| } |
| |
| void unmarshal_VkObjectTableVertexBufferEntryNVX( |
| VulkanStreamGuest* vkStream, |
| VkObjectTableVertexBufferEntryNVX* forUnmarshaling) |
| { |
| vkStream->read((VkObjectEntryTypeNVX*)&forUnmarshaling->type, sizeof(VkObjectEntryTypeNVX)); |
| vkStream->read((VkObjectEntryUsageFlagsNVX*)&forUnmarshaling->flags, sizeof(VkObjectEntryUsageFlagsNVX)); |
| uint64_t cgen_var_327; |
| vkStream->read((uint64_t*)&cgen_var_327, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_327, (VkBuffer*)&forUnmarshaling->buffer, 1); |
| } |
| |
| void marshal_VkObjectTableIndexBufferEntryNVX( |
| VulkanStreamGuest* vkStream, |
| const VkObjectTableIndexBufferEntryNVX* forMarshaling) |
| { |
| vkStream->write((VkObjectEntryTypeNVX*)&forMarshaling->type, sizeof(VkObjectEntryTypeNVX)); |
| vkStream->write((VkObjectEntryUsageFlagsNVX*)&forMarshaling->flags, sizeof(VkObjectEntryUsageFlagsNVX)); |
| uint64_t cgen_var_328; |
| vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_328, 1); |
| vkStream->write((uint64_t*)&cgen_var_328, 1 * 8); |
| vkStream->write((VkIndexType*)&forMarshaling->indexType, sizeof(VkIndexType)); |
| } |
| |
| void unmarshal_VkObjectTableIndexBufferEntryNVX( |
| VulkanStreamGuest* vkStream, |
| VkObjectTableIndexBufferEntryNVX* forUnmarshaling) |
| { |
| vkStream->read((VkObjectEntryTypeNVX*)&forUnmarshaling->type, sizeof(VkObjectEntryTypeNVX)); |
| vkStream->read((VkObjectEntryUsageFlagsNVX*)&forUnmarshaling->flags, sizeof(VkObjectEntryUsageFlagsNVX)); |
| uint64_t cgen_var_329; |
| vkStream->read((uint64_t*)&cgen_var_329, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_329, (VkBuffer*)&forUnmarshaling->buffer, 1); |
| vkStream->read((VkIndexType*)&forUnmarshaling->indexType, sizeof(VkIndexType)); |
| } |
| |
| void marshal_VkObjectTablePushConstantEntryNVX( |
| VulkanStreamGuest* vkStream, |
| const VkObjectTablePushConstantEntryNVX* forMarshaling) |
| { |
| vkStream->write((VkObjectEntryTypeNVX*)&forMarshaling->type, sizeof(VkObjectEntryTypeNVX)); |
| vkStream->write((VkObjectEntryUsageFlagsNVX*)&forMarshaling->flags, sizeof(VkObjectEntryUsageFlagsNVX)); |
| uint64_t cgen_var_330; |
| vkStream->handleMapping()->mapHandles_VkPipelineLayout_u64(&forMarshaling->pipelineLayout, &cgen_var_330, 1); |
| vkStream->write((uint64_t*)&cgen_var_330, 1 * 8); |
| vkStream->write((VkShaderStageFlags*)&forMarshaling->stageFlags, sizeof(VkShaderStageFlags)); |
| } |
| |
| void unmarshal_VkObjectTablePushConstantEntryNVX( |
| VulkanStreamGuest* vkStream, |
| VkObjectTablePushConstantEntryNVX* forUnmarshaling) |
| { |
| vkStream->read((VkObjectEntryTypeNVX*)&forUnmarshaling->type, sizeof(VkObjectEntryTypeNVX)); |
| vkStream->read((VkObjectEntryUsageFlagsNVX*)&forUnmarshaling->flags, sizeof(VkObjectEntryUsageFlagsNVX)); |
| uint64_t cgen_var_331; |
| vkStream->read((uint64_t*)&cgen_var_331, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkPipelineLayout(&cgen_var_331, (VkPipelineLayout*)&forUnmarshaling->pipelineLayout, 1); |
| vkStream->read((VkShaderStageFlags*)&forUnmarshaling->stageFlags, sizeof(VkShaderStageFlags)); |
| } |
| |
| #endif |
| #ifdef VK_NV_clip_space_w_scaling |
| void marshal_VkViewportWScalingNV( |
| VulkanStreamGuest* vkStream, |
| const VkViewportWScalingNV* forMarshaling) |
| { |
| vkStream->write((float*)&forMarshaling->xcoeff, sizeof(float)); |
| vkStream->write((float*)&forMarshaling->ycoeff, sizeof(float)); |
| } |
| |
| void unmarshal_VkViewportWScalingNV( |
| VulkanStreamGuest* vkStream, |
| VkViewportWScalingNV* forUnmarshaling) |
| { |
| vkStream->read((float*)&forUnmarshaling->xcoeff, sizeof(float)); |
| vkStream->read((float*)&forUnmarshaling->ycoeff, sizeof(float)); |
| } |
| |
| void marshal_VkPipelineViewportWScalingStateCreateInfoNV( |
| VulkanStreamGuest* vkStream, |
| const VkPipelineViewportWScalingStateCreateInfoNV* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkBool32*)&forMarshaling->viewportWScalingEnable, sizeof(VkBool32)); |
| vkStream->write((uint32_t*)&forMarshaling->viewportCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_332 = (uint64_t)(uintptr_t)forMarshaling->pViewportWScalings; |
| vkStream->putBe64(cgen_var_332); |
| if (forMarshaling->pViewportWScalings) |
| { |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->viewportCount; ++i) |
| { |
| marshal_VkViewportWScalingNV(vkStream, (const VkViewportWScalingNV*)(forMarshaling->pViewportWScalings + i)); |
| } |
| } |
| } |
| |
| void unmarshal_VkPipelineViewportWScalingStateCreateInfoNV( |
| VulkanStreamGuest* vkStream, |
| VkPipelineViewportWScalingStateCreateInfoNV* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkBool32*)&forUnmarshaling->viewportWScalingEnable, sizeof(VkBool32)); |
| vkStream->read((uint32_t*)&forUnmarshaling->viewportCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| const VkViewportWScalingNV* check_pViewportWScalings; |
| check_pViewportWScalings = (const VkViewportWScalingNV*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pViewportWScalings) |
| { |
| if (!(check_pViewportWScalings)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pViewportWScalings inconsistent between guest and host\n"); |
| } |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->viewportCount; ++i) |
| { |
| unmarshal_VkViewportWScalingNV(vkStream, (VkViewportWScalingNV*)(forUnmarshaling->pViewportWScalings + i)); |
| } |
| } |
| } |
| |
| #endif |
| #ifdef VK_EXT_direct_mode_display |
| #endif |
| #ifdef VK_EXT_acquire_xlib_display |
| #endif |
| #ifdef VK_EXT_display_surface_counter |
| void marshal_VkSurfaceCapabilities2EXT( |
| VulkanStreamGuest* vkStream, |
| const VkSurfaceCapabilities2EXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->minImageCount, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxImageCount, sizeof(uint32_t)); |
| marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->currentExtent)); |
| marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->minImageExtent)); |
| marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->maxImageExtent)); |
| vkStream->write((uint32_t*)&forMarshaling->maxImageArrayLayers, sizeof(uint32_t)); |
| vkStream->write((VkSurfaceTransformFlagsKHR*)&forMarshaling->supportedTransforms, sizeof(VkSurfaceTransformFlagsKHR)); |
| vkStream->write((VkSurfaceTransformFlagBitsKHR*)&forMarshaling->currentTransform, sizeof(VkSurfaceTransformFlagBitsKHR)); |
| vkStream->write((VkCompositeAlphaFlagsKHR*)&forMarshaling->supportedCompositeAlpha, sizeof(VkCompositeAlphaFlagsKHR)); |
| vkStream->write((VkImageUsageFlags*)&forMarshaling->supportedUsageFlags, sizeof(VkImageUsageFlags)); |
| vkStream->write((VkSurfaceCounterFlagsEXT*)&forMarshaling->supportedSurfaceCounters, sizeof(VkSurfaceCounterFlagsEXT)); |
| } |
| |
| void unmarshal_VkSurfaceCapabilities2EXT( |
| VulkanStreamGuest* vkStream, |
| VkSurfaceCapabilities2EXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->minImageCount, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxImageCount, sizeof(uint32_t)); |
| unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->currentExtent)); |
| unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->minImageExtent)); |
| unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->maxImageExtent)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxImageArrayLayers, sizeof(uint32_t)); |
| vkStream->read((VkSurfaceTransformFlagsKHR*)&forUnmarshaling->supportedTransforms, sizeof(VkSurfaceTransformFlagsKHR)); |
| vkStream->read((VkSurfaceTransformFlagBitsKHR*)&forUnmarshaling->currentTransform, sizeof(VkSurfaceTransformFlagBitsKHR)); |
| vkStream->read((VkCompositeAlphaFlagsKHR*)&forUnmarshaling->supportedCompositeAlpha, sizeof(VkCompositeAlphaFlagsKHR)); |
| vkStream->read((VkImageUsageFlags*)&forUnmarshaling->supportedUsageFlags, sizeof(VkImageUsageFlags)); |
| vkStream->read((VkSurfaceCounterFlagsEXT*)&forUnmarshaling->supportedSurfaceCounters, sizeof(VkSurfaceCounterFlagsEXT)); |
| } |
| |
| #endif |
| #ifdef VK_EXT_display_control |
| void marshal_VkDisplayPowerInfoEXT( |
| VulkanStreamGuest* vkStream, |
| const VkDisplayPowerInfoEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkDisplayPowerStateEXT*)&forMarshaling->powerState, sizeof(VkDisplayPowerStateEXT)); |
| } |
| |
| void unmarshal_VkDisplayPowerInfoEXT( |
| VulkanStreamGuest* vkStream, |
| VkDisplayPowerInfoEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkDisplayPowerStateEXT*)&forUnmarshaling->powerState, sizeof(VkDisplayPowerStateEXT)); |
| } |
| |
| void marshal_VkDeviceEventInfoEXT( |
| VulkanStreamGuest* vkStream, |
| const VkDeviceEventInfoEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkDeviceEventTypeEXT*)&forMarshaling->deviceEvent, sizeof(VkDeviceEventTypeEXT)); |
| } |
| |
| void unmarshal_VkDeviceEventInfoEXT( |
| VulkanStreamGuest* vkStream, |
| VkDeviceEventInfoEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkDeviceEventTypeEXT*)&forUnmarshaling->deviceEvent, sizeof(VkDeviceEventTypeEXT)); |
| } |
| |
| void marshal_VkDisplayEventInfoEXT( |
| VulkanStreamGuest* vkStream, |
| const VkDisplayEventInfoEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkDisplayEventTypeEXT*)&forMarshaling->displayEvent, sizeof(VkDisplayEventTypeEXT)); |
| } |
| |
| void unmarshal_VkDisplayEventInfoEXT( |
| VulkanStreamGuest* vkStream, |
| VkDisplayEventInfoEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkDisplayEventTypeEXT*)&forUnmarshaling->displayEvent, sizeof(VkDisplayEventTypeEXT)); |
| } |
| |
| void marshal_VkSwapchainCounterCreateInfoEXT( |
| VulkanStreamGuest* vkStream, |
| const VkSwapchainCounterCreateInfoEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkSurfaceCounterFlagsEXT*)&forMarshaling->surfaceCounters, sizeof(VkSurfaceCounterFlagsEXT)); |
| } |
| |
| void unmarshal_VkSwapchainCounterCreateInfoEXT( |
| VulkanStreamGuest* vkStream, |
| VkSwapchainCounterCreateInfoEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkSurfaceCounterFlagsEXT*)&forUnmarshaling->surfaceCounters, sizeof(VkSurfaceCounterFlagsEXT)); |
| } |
| |
| #endif |
| #ifdef VK_GOOGLE_display_timing |
| void marshal_VkRefreshCycleDurationGOOGLE( |
| VulkanStreamGuest* vkStream, |
| const VkRefreshCycleDurationGOOGLE* forMarshaling) |
| { |
| vkStream->write((uint64_t*)&forMarshaling->refreshDuration, sizeof(uint64_t)); |
| } |
| |
| void unmarshal_VkRefreshCycleDurationGOOGLE( |
| VulkanStreamGuest* vkStream, |
| VkRefreshCycleDurationGOOGLE* forUnmarshaling) |
| { |
| vkStream->read((uint64_t*)&forUnmarshaling->refreshDuration, sizeof(uint64_t)); |
| } |
| |
| void marshal_VkPastPresentationTimingGOOGLE( |
| VulkanStreamGuest* vkStream, |
| const VkPastPresentationTimingGOOGLE* forMarshaling) |
| { |
| vkStream->write((uint32_t*)&forMarshaling->presentID, sizeof(uint32_t)); |
| vkStream->write((uint64_t*)&forMarshaling->desiredPresentTime, sizeof(uint64_t)); |
| vkStream->write((uint64_t*)&forMarshaling->actualPresentTime, sizeof(uint64_t)); |
| vkStream->write((uint64_t*)&forMarshaling->earliestPresentTime, sizeof(uint64_t)); |
| vkStream->write((uint64_t*)&forMarshaling->presentMargin, sizeof(uint64_t)); |
| } |
| |
| void unmarshal_VkPastPresentationTimingGOOGLE( |
| VulkanStreamGuest* vkStream, |
| VkPastPresentationTimingGOOGLE* forUnmarshaling) |
| { |
| vkStream->read((uint32_t*)&forUnmarshaling->presentID, sizeof(uint32_t)); |
| vkStream->read((uint64_t*)&forUnmarshaling->desiredPresentTime, sizeof(uint64_t)); |
| vkStream->read((uint64_t*)&forUnmarshaling->actualPresentTime, sizeof(uint64_t)); |
| vkStream->read((uint64_t*)&forUnmarshaling->earliestPresentTime, sizeof(uint64_t)); |
| vkStream->read((uint64_t*)&forUnmarshaling->presentMargin, sizeof(uint64_t)); |
| } |
| |
| void marshal_VkPresentTimeGOOGLE( |
| VulkanStreamGuest* vkStream, |
| const VkPresentTimeGOOGLE* forMarshaling) |
| { |
| vkStream->write((uint32_t*)&forMarshaling->presentID, sizeof(uint32_t)); |
| vkStream->write((uint64_t*)&forMarshaling->desiredPresentTime, sizeof(uint64_t)); |
| } |
| |
| void unmarshal_VkPresentTimeGOOGLE( |
| VulkanStreamGuest* vkStream, |
| VkPresentTimeGOOGLE* forUnmarshaling) |
| { |
| vkStream->read((uint32_t*)&forUnmarshaling->presentID, sizeof(uint32_t)); |
| vkStream->read((uint64_t*)&forUnmarshaling->desiredPresentTime, sizeof(uint64_t)); |
| } |
| |
| void marshal_VkPresentTimesInfoGOOGLE( |
| VulkanStreamGuest* vkStream, |
| const VkPresentTimesInfoGOOGLE* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->swapchainCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_334 = (uint64_t)(uintptr_t)forMarshaling->pTimes; |
| vkStream->putBe64(cgen_var_334); |
| if (forMarshaling->pTimes) |
| { |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->swapchainCount; ++i) |
| { |
| marshal_VkPresentTimeGOOGLE(vkStream, (const VkPresentTimeGOOGLE*)(forMarshaling->pTimes + i)); |
| } |
| } |
| } |
| |
| void unmarshal_VkPresentTimesInfoGOOGLE( |
| VulkanStreamGuest* vkStream, |
| VkPresentTimesInfoGOOGLE* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->swapchainCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| const VkPresentTimeGOOGLE* check_pTimes; |
| check_pTimes = (const VkPresentTimeGOOGLE*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pTimes) |
| { |
| if (!(check_pTimes)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pTimes inconsistent between guest and host\n"); |
| } |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->swapchainCount; ++i) |
| { |
| unmarshal_VkPresentTimeGOOGLE(vkStream, (VkPresentTimeGOOGLE*)(forUnmarshaling->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 marshal_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkBool32*)&forMarshaling->perViewPositionAllComponents, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkBool32*)&forUnmarshaling->perViewPositionAllComponents, sizeof(VkBool32)); |
| } |
| |
| #endif |
| #ifdef VK_NV_viewport_swizzle |
| void marshal_VkViewportSwizzleNV( |
| VulkanStreamGuest* vkStream, |
| const VkViewportSwizzleNV* forMarshaling) |
| { |
| vkStream->write((VkViewportCoordinateSwizzleNV*)&forMarshaling->x, sizeof(VkViewportCoordinateSwizzleNV)); |
| vkStream->write((VkViewportCoordinateSwizzleNV*)&forMarshaling->y, sizeof(VkViewportCoordinateSwizzleNV)); |
| vkStream->write((VkViewportCoordinateSwizzleNV*)&forMarshaling->z, sizeof(VkViewportCoordinateSwizzleNV)); |
| vkStream->write((VkViewportCoordinateSwizzleNV*)&forMarshaling->w, sizeof(VkViewportCoordinateSwizzleNV)); |
| } |
| |
| void unmarshal_VkViewportSwizzleNV( |
| VulkanStreamGuest* vkStream, |
| VkViewportSwizzleNV* forUnmarshaling) |
| { |
| vkStream->read((VkViewportCoordinateSwizzleNV*)&forUnmarshaling->x, sizeof(VkViewportCoordinateSwizzleNV)); |
| vkStream->read((VkViewportCoordinateSwizzleNV*)&forUnmarshaling->y, sizeof(VkViewportCoordinateSwizzleNV)); |
| vkStream->read((VkViewportCoordinateSwizzleNV*)&forUnmarshaling->z, sizeof(VkViewportCoordinateSwizzleNV)); |
| vkStream->read((VkViewportCoordinateSwizzleNV*)&forUnmarshaling->w, sizeof(VkViewportCoordinateSwizzleNV)); |
| } |
| |
| void marshal_VkPipelineViewportSwizzleStateCreateInfoNV( |
| VulkanStreamGuest* vkStream, |
| const VkPipelineViewportSwizzleStateCreateInfoNV* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkPipelineViewportSwizzleStateCreateFlagsNV*)&forMarshaling->flags, sizeof(VkPipelineViewportSwizzleStateCreateFlagsNV)); |
| vkStream->write((uint32_t*)&forMarshaling->viewportCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_336 = (uint64_t)(uintptr_t)forMarshaling->pViewportSwizzles; |
| vkStream->putBe64(cgen_var_336); |
| if (forMarshaling->pViewportSwizzles) |
| { |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->viewportCount; ++i) |
| { |
| marshal_VkViewportSwizzleNV(vkStream, (const VkViewportSwizzleNV*)(forMarshaling->pViewportSwizzles + i)); |
| } |
| } |
| } |
| |
| void unmarshal_VkPipelineViewportSwizzleStateCreateInfoNV( |
| VulkanStreamGuest* vkStream, |
| VkPipelineViewportSwizzleStateCreateInfoNV* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkPipelineViewportSwizzleStateCreateFlagsNV*)&forUnmarshaling->flags, sizeof(VkPipelineViewportSwizzleStateCreateFlagsNV)); |
| vkStream->read((uint32_t*)&forUnmarshaling->viewportCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| const VkViewportSwizzleNV* check_pViewportSwizzles; |
| check_pViewportSwizzles = (const VkViewportSwizzleNV*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pViewportSwizzles) |
| { |
| if (!(check_pViewportSwizzles)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pViewportSwizzles inconsistent between guest and host\n"); |
| } |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->viewportCount; ++i) |
| { |
| unmarshal_VkViewportSwizzleNV(vkStream, (VkViewportSwizzleNV*)(forUnmarshaling->pViewportSwizzles + i)); |
| } |
| } |
| } |
| |
| #endif |
| #ifdef VK_EXT_discard_rectangles |
| void marshal_VkPhysicalDeviceDiscardRectanglePropertiesEXT( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceDiscardRectanglePropertiesEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->maxDiscardRectangles, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceDiscardRectanglePropertiesEXT( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceDiscardRectanglePropertiesEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->maxDiscardRectangles, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkPipelineDiscardRectangleStateCreateInfoEXT( |
| VulkanStreamGuest* vkStream, |
| const VkPipelineDiscardRectangleStateCreateInfoEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkPipelineDiscardRectangleStateCreateFlagsEXT*)&forMarshaling->flags, sizeof(VkPipelineDiscardRectangleStateCreateFlagsEXT)); |
| vkStream->write((VkDiscardRectangleModeEXT*)&forMarshaling->discardRectangleMode, sizeof(VkDiscardRectangleModeEXT)); |
| vkStream->write((uint32_t*)&forMarshaling->discardRectangleCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_338 = (uint64_t)(uintptr_t)forMarshaling->pDiscardRectangles; |
| vkStream->putBe64(cgen_var_338); |
| if (forMarshaling->pDiscardRectangles) |
| { |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->discardRectangleCount; ++i) |
| { |
| marshal_VkRect2D(vkStream, (const VkRect2D*)(forMarshaling->pDiscardRectangles + i)); |
| } |
| } |
| } |
| |
| void unmarshal_VkPipelineDiscardRectangleStateCreateInfoEXT( |
| VulkanStreamGuest* vkStream, |
| VkPipelineDiscardRectangleStateCreateInfoEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkPipelineDiscardRectangleStateCreateFlagsEXT*)&forUnmarshaling->flags, sizeof(VkPipelineDiscardRectangleStateCreateFlagsEXT)); |
| vkStream->read((VkDiscardRectangleModeEXT*)&forUnmarshaling->discardRectangleMode, sizeof(VkDiscardRectangleModeEXT)); |
| vkStream->read((uint32_t*)&forUnmarshaling->discardRectangleCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| const VkRect2D* check_pDiscardRectangles; |
| check_pDiscardRectangles = (const VkRect2D*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pDiscardRectangles) |
| { |
| if (!(check_pDiscardRectangles)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pDiscardRectangles inconsistent between guest and host\n"); |
| } |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->discardRectangleCount; ++i) |
| { |
| unmarshal_VkRect2D(vkStream, (VkRect2D*)(forUnmarshaling->pDiscardRectangles + i)); |
| } |
| } |
| } |
| |
| #endif |
| #ifdef VK_EXT_conservative_rasterization |
| void marshal_VkPhysicalDeviceConservativeRasterizationPropertiesEXT( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceConservativeRasterizationPropertiesEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((float*)&forMarshaling->primitiveOverestimationSize, sizeof(float)); |
| vkStream->write((float*)&forMarshaling->maxExtraPrimitiveOverestimationSize, sizeof(float)); |
| vkStream->write((float*)&forMarshaling->extraPrimitiveOverestimationSizeGranularity, sizeof(float)); |
| vkStream->write((VkBool32*)&forMarshaling->primitiveUnderestimation, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->conservativePointAndLineRasterization, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->degenerateTrianglesRasterized, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->degenerateLinesRasterized, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->fullyCoveredFragmentShaderInputVariable, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->conservativeRasterizationPostDepthCoverage, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceConservativeRasterizationPropertiesEXT( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceConservativeRasterizationPropertiesEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((float*)&forUnmarshaling->primitiveOverestimationSize, sizeof(float)); |
| vkStream->read((float*)&forUnmarshaling->maxExtraPrimitiveOverestimationSize, sizeof(float)); |
| vkStream->read((float*)&forUnmarshaling->extraPrimitiveOverestimationSizeGranularity, sizeof(float)); |
| vkStream->read((VkBool32*)&forUnmarshaling->primitiveUnderestimation, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->conservativePointAndLineRasterization, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->degenerateTrianglesRasterized, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->degenerateLinesRasterized, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->fullyCoveredFragmentShaderInputVariable, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->conservativeRasterizationPostDepthCoverage, sizeof(VkBool32)); |
| } |
| |
| void marshal_VkPipelineRasterizationConservativeStateCreateInfoEXT( |
| VulkanStreamGuest* vkStream, |
| const VkPipelineRasterizationConservativeStateCreateInfoEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkPipelineRasterizationConservativeStateCreateFlagsEXT*)&forMarshaling->flags, sizeof(VkPipelineRasterizationConservativeStateCreateFlagsEXT)); |
| vkStream->write((VkConservativeRasterizationModeEXT*)&forMarshaling->conservativeRasterizationMode, sizeof(VkConservativeRasterizationModeEXT)); |
| vkStream->write((float*)&forMarshaling->extraPrimitiveOverestimationSize, sizeof(float)); |
| } |
| |
| void unmarshal_VkPipelineRasterizationConservativeStateCreateInfoEXT( |
| VulkanStreamGuest* vkStream, |
| VkPipelineRasterizationConservativeStateCreateInfoEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkPipelineRasterizationConservativeStateCreateFlagsEXT*)&forUnmarshaling->flags, sizeof(VkPipelineRasterizationConservativeStateCreateFlagsEXT)); |
| vkStream->read((VkConservativeRasterizationModeEXT*)&forUnmarshaling->conservativeRasterizationMode, sizeof(VkConservativeRasterizationModeEXT)); |
| vkStream->read((float*)&forUnmarshaling->extraPrimitiveOverestimationSize, sizeof(float)); |
| } |
| |
| #endif |
| #ifdef VK_EXT_swapchain_colorspace |
| #endif |
| #ifdef VK_EXT_hdr_metadata |
| void marshal_VkXYColorEXT( |
| VulkanStreamGuest* vkStream, |
| const VkXYColorEXT* forMarshaling) |
| { |
| vkStream->write((float*)&forMarshaling->x, sizeof(float)); |
| vkStream->write((float*)&forMarshaling->y, sizeof(float)); |
| } |
| |
| void unmarshal_VkXYColorEXT( |
| VulkanStreamGuest* vkStream, |
| VkXYColorEXT* forUnmarshaling) |
| { |
| vkStream->read((float*)&forUnmarshaling->x, sizeof(float)); |
| vkStream->read((float*)&forUnmarshaling->y, sizeof(float)); |
| } |
| |
| void marshal_VkHdrMetadataEXT( |
| VulkanStreamGuest* vkStream, |
| const VkHdrMetadataEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| marshal_VkXYColorEXT(vkStream, (VkXYColorEXT*)(&forMarshaling->displayPrimaryRed)); |
| marshal_VkXYColorEXT(vkStream, (VkXYColorEXT*)(&forMarshaling->displayPrimaryGreen)); |
| marshal_VkXYColorEXT(vkStream, (VkXYColorEXT*)(&forMarshaling->displayPrimaryBlue)); |
| marshal_VkXYColorEXT(vkStream, (VkXYColorEXT*)(&forMarshaling->whitePoint)); |
| vkStream->write((float*)&forMarshaling->maxLuminance, sizeof(float)); |
| vkStream->write((float*)&forMarshaling->minLuminance, sizeof(float)); |
| vkStream->write((float*)&forMarshaling->maxContentLightLevel, sizeof(float)); |
| vkStream->write((float*)&forMarshaling->maxFrameAverageLightLevel, sizeof(float)); |
| } |
| |
| void unmarshal_VkHdrMetadataEXT( |
| VulkanStreamGuest* vkStream, |
| VkHdrMetadataEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| unmarshal_VkXYColorEXT(vkStream, (VkXYColorEXT*)(&forUnmarshaling->displayPrimaryRed)); |
| unmarshal_VkXYColorEXT(vkStream, (VkXYColorEXT*)(&forUnmarshaling->displayPrimaryGreen)); |
| unmarshal_VkXYColorEXT(vkStream, (VkXYColorEXT*)(&forUnmarshaling->displayPrimaryBlue)); |
| unmarshal_VkXYColorEXT(vkStream, (VkXYColorEXT*)(&forUnmarshaling->whitePoint)); |
| vkStream->read((float*)&forUnmarshaling->maxLuminance, sizeof(float)); |
| vkStream->read((float*)&forUnmarshaling->minLuminance, sizeof(float)); |
| vkStream->read((float*)&forUnmarshaling->maxContentLightLevel, sizeof(float)); |
| vkStream->read((float*)&forUnmarshaling->maxFrameAverageLightLevel, sizeof(float)); |
| } |
| |
| #endif |
| #ifdef VK_MVK_ios_surface |
| void marshal_VkIOSSurfaceCreateInfoMVK( |
| VulkanStreamGuest* vkStream, |
| const VkIOSSurfaceCreateInfoMVK* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkIOSSurfaceCreateFlagsMVK*)&forMarshaling->flags, sizeof(VkIOSSurfaceCreateFlagsMVK)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_340 = (uint64_t)(uintptr_t)forMarshaling->pView; |
| vkStream->putBe64(cgen_var_340); |
| if (forMarshaling->pView) |
| { |
| vkStream->write((const void*)forMarshaling->pView, sizeof(const uint8_t)); |
| } |
| } |
| |
| void unmarshal_VkIOSSurfaceCreateInfoMVK( |
| VulkanStreamGuest* vkStream, |
| VkIOSSurfaceCreateInfoMVK* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkIOSSurfaceCreateFlagsMVK*)&forUnmarshaling->flags, sizeof(VkIOSSurfaceCreateFlagsMVK)); |
| // WARNING PTR CHECK |
| const void* check_pView; |
| check_pView = (const void*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pView) |
| { |
| if (!(check_pView)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pView inconsistent between guest and host\n"); |
| } |
| vkStream->read((void*)forUnmarshaling->pView, sizeof(const uint8_t)); |
| } |
| } |
| |
| #endif |
| #ifdef VK_MVK_macos_surface |
| void marshal_VkMacOSSurfaceCreateInfoMVK( |
| VulkanStreamGuest* vkStream, |
| const VkMacOSSurfaceCreateInfoMVK* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkMacOSSurfaceCreateFlagsMVK*)&forMarshaling->flags, sizeof(VkMacOSSurfaceCreateFlagsMVK)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_342 = (uint64_t)(uintptr_t)forMarshaling->pView; |
| vkStream->putBe64(cgen_var_342); |
| if (forMarshaling->pView) |
| { |
| vkStream->write((const void*)forMarshaling->pView, sizeof(const uint8_t)); |
| } |
| } |
| |
| void unmarshal_VkMacOSSurfaceCreateInfoMVK( |
| VulkanStreamGuest* vkStream, |
| VkMacOSSurfaceCreateInfoMVK* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkMacOSSurfaceCreateFlagsMVK*)&forUnmarshaling->flags, sizeof(VkMacOSSurfaceCreateFlagsMVK)); |
| // WARNING PTR CHECK |
| const void* check_pView; |
| check_pView = (const void*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pView) |
| { |
| if (!(check_pView)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pView inconsistent between guest and host\n"); |
| } |
| vkStream->read((void*)forUnmarshaling->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 marshal_VkDebugUtilsObjectNameInfoEXT( |
| VulkanStreamGuest* vkStream, |
| const VkDebugUtilsObjectNameInfoEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkObjectType*)&forMarshaling->objectType, sizeof(VkObjectType)); |
| vkStream->write((uint64_t*)&forMarshaling->objectHandle, sizeof(uint64_t)); |
| if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) |
| { |
| // WARNING PTR CHECK |
| uint64_t cgen_var_344 = (uint64_t)(uintptr_t)forMarshaling->pObjectName; |
| vkStream->putBe64(cgen_var_344); |
| if (forMarshaling->pObjectName) |
| { |
| vkStream->putString(forMarshaling->pObjectName); |
| } |
| } |
| else |
| { |
| vkStream->putString(forMarshaling->pObjectName); |
| } |
| } |
| |
| void unmarshal_VkDebugUtilsObjectNameInfoEXT( |
| VulkanStreamGuest* vkStream, |
| VkDebugUtilsObjectNameInfoEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkObjectType*)&forUnmarshaling->objectType, sizeof(VkObjectType)); |
| vkStream->read((uint64_t*)&forUnmarshaling->objectHandle, sizeof(uint64_t)); |
| if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) |
| { |
| // WARNING PTR CHECK |
| const char* check_pObjectName; |
| check_pObjectName = (const char*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pObjectName) |
| { |
| if (!(check_pObjectName)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pObjectName inconsistent between guest and host\n"); |
| } |
| vkStream->loadStringInPlace((char**)&forUnmarshaling->pObjectName); |
| } |
| } |
| else |
| { |
| vkStream->loadStringInPlace((char**)&forUnmarshaling->pObjectName); |
| } |
| } |
| |
| void marshal_VkDebugUtilsObjectTagInfoEXT( |
| VulkanStreamGuest* vkStream, |
| const VkDebugUtilsObjectTagInfoEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkObjectType*)&forMarshaling->objectType, sizeof(VkObjectType)); |
| vkStream->write((uint64_t*)&forMarshaling->objectHandle, sizeof(uint64_t)); |
| vkStream->write((uint64_t*)&forMarshaling->tagName, sizeof(uint64_t)); |
| uint64_t cgen_var_346 = (uint64_t)forMarshaling->tagSize; |
| vkStream->putBe64(cgen_var_346); |
| vkStream->write((const void*)forMarshaling->pTag, forMarshaling->tagSize * sizeof(const uint8_t)); |
| } |
| |
| void unmarshal_VkDebugUtilsObjectTagInfoEXT( |
| VulkanStreamGuest* vkStream, |
| VkDebugUtilsObjectTagInfoEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkObjectType*)&forUnmarshaling->objectType, sizeof(VkObjectType)); |
| vkStream->read((uint64_t*)&forUnmarshaling->objectHandle, sizeof(uint64_t)); |
| vkStream->read((uint64_t*)&forUnmarshaling->tagName, sizeof(uint64_t)); |
| forUnmarshaling->tagSize = (size_t)vkStream->getBe64(); |
| vkStream->read((void*)forUnmarshaling->pTag, forUnmarshaling->tagSize * sizeof(const uint8_t)); |
| } |
| |
| void marshal_VkDebugUtilsLabelEXT( |
| VulkanStreamGuest* vkStream, |
| const VkDebugUtilsLabelEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->putString(forMarshaling->pLabelName); |
| vkStream->write((float*)forMarshaling->color, 4 * sizeof(float)); |
| } |
| |
| void unmarshal_VkDebugUtilsLabelEXT( |
| VulkanStreamGuest* vkStream, |
| VkDebugUtilsLabelEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->loadStringInPlace((char**)&forUnmarshaling->pLabelName); |
| vkStream->read((float*)forUnmarshaling->color, 4 * sizeof(float)); |
| } |
| |
| void marshal_VkDebugUtilsMessengerCallbackDataEXT( |
| VulkanStreamGuest* vkStream, |
| const VkDebugUtilsMessengerCallbackDataEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkDebugUtilsMessengerCallbackDataFlagsEXT*)&forMarshaling->flags, sizeof(VkDebugUtilsMessengerCallbackDataFlagsEXT)); |
| if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) |
| { |
| // WARNING PTR CHECK |
| uint64_t cgen_var_348 = (uint64_t)(uintptr_t)forMarshaling->pMessageIdName; |
| vkStream->putBe64(cgen_var_348); |
| if (forMarshaling->pMessageIdName) |
| { |
| vkStream->putString(forMarshaling->pMessageIdName); |
| } |
| } |
| else |
| { |
| vkStream->putString(forMarshaling->pMessageIdName); |
| } |
| vkStream->write((int32_t*)&forMarshaling->messageIdNumber, sizeof(int32_t)); |
| vkStream->putString(forMarshaling->pMessage); |
| vkStream->write((uint32_t*)&forMarshaling->queueLabelCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_349 = (uint64_t)(uintptr_t)forMarshaling->pQueueLabels; |
| vkStream->putBe64(cgen_var_349); |
| if (forMarshaling->pQueueLabels) |
| { |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->queueLabelCount; ++i) |
| { |
| marshal_VkDebugUtilsLabelEXT(vkStream, (VkDebugUtilsLabelEXT*)(forMarshaling->pQueueLabels + i)); |
| } |
| } |
| vkStream->write((uint32_t*)&forMarshaling->cmdBufLabelCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_350 = (uint64_t)(uintptr_t)forMarshaling->pCmdBufLabels; |
| vkStream->putBe64(cgen_var_350); |
| if (forMarshaling->pCmdBufLabels) |
| { |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->cmdBufLabelCount; ++i) |
| { |
| marshal_VkDebugUtilsLabelEXT(vkStream, (VkDebugUtilsLabelEXT*)(forMarshaling->pCmdBufLabels + i)); |
| } |
| } |
| vkStream->write((uint32_t*)&forMarshaling->objectCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_351 = (uint64_t)(uintptr_t)forMarshaling->pObjects; |
| vkStream->putBe64(cgen_var_351); |
| if (forMarshaling->pObjects) |
| { |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->objectCount; ++i) |
| { |
| marshal_VkDebugUtilsObjectNameInfoEXT(vkStream, (VkDebugUtilsObjectNameInfoEXT*)(forMarshaling->pObjects + i)); |
| } |
| } |
| } |
| |
| void unmarshal_VkDebugUtilsMessengerCallbackDataEXT( |
| VulkanStreamGuest* vkStream, |
| VkDebugUtilsMessengerCallbackDataEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkDebugUtilsMessengerCallbackDataFlagsEXT*)&forUnmarshaling->flags, sizeof(VkDebugUtilsMessengerCallbackDataFlagsEXT)); |
| if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) |
| { |
| // WARNING PTR CHECK |
| const char* check_pMessageIdName; |
| check_pMessageIdName = (const char*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pMessageIdName) |
| { |
| if (!(check_pMessageIdName)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pMessageIdName inconsistent between guest and host\n"); |
| } |
| vkStream->loadStringInPlace((char**)&forUnmarshaling->pMessageIdName); |
| } |
| } |
| else |
| { |
| vkStream->loadStringInPlace((char**)&forUnmarshaling->pMessageIdName); |
| } |
| vkStream->read((int32_t*)&forUnmarshaling->messageIdNumber, sizeof(int32_t)); |
| vkStream->loadStringInPlace((char**)&forUnmarshaling->pMessage); |
| vkStream->read((uint32_t*)&forUnmarshaling->queueLabelCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| VkDebugUtilsLabelEXT* check_pQueueLabels; |
| check_pQueueLabels = (VkDebugUtilsLabelEXT*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pQueueLabels) |
| { |
| if (!(check_pQueueLabels)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pQueueLabels inconsistent between guest and host\n"); |
| } |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->queueLabelCount; ++i) |
| { |
| unmarshal_VkDebugUtilsLabelEXT(vkStream, (VkDebugUtilsLabelEXT*)(forUnmarshaling->pQueueLabels + i)); |
| } |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->cmdBufLabelCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| VkDebugUtilsLabelEXT* check_pCmdBufLabels; |
| check_pCmdBufLabels = (VkDebugUtilsLabelEXT*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pCmdBufLabels) |
| { |
| if (!(check_pCmdBufLabels)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pCmdBufLabels inconsistent between guest and host\n"); |
| } |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->cmdBufLabelCount; ++i) |
| { |
| unmarshal_VkDebugUtilsLabelEXT(vkStream, (VkDebugUtilsLabelEXT*)(forUnmarshaling->pCmdBufLabels + i)); |
| } |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->objectCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| VkDebugUtilsObjectNameInfoEXT* check_pObjects; |
| check_pObjects = (VkDebugUtilsObjectNameInfoEXT*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pObjects) |
| { |
| if (!(check_pObjects)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pObjects inconsistent between guest and host\n"); |
| } |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->objectCount; ++i) |
| { |
| unmarshal_VkDebugUtilsObjectNameInfoEXT(vkStream, (VkDebugUtilsObjectNameInfoEXT*)(forUnmarshaling->pObjects + i)); |
| } |
| } |
| } |
| |
| void marshal_VkDebugUtilsMessengerCreateInfoEXT( |
| VulkanStreamGuest* vkStream, |
| const VkDebugUtilsMessengerCreateInfoEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkDebugUtilsMessengerCreateFlagsEXT*)&forMarshaling->flags, sizeof(VkDebugUtilsMessengerCreateFlagsEXT)); |
| vkStream->write((VkDebugUtilsMessageSeverityFlagsEXT*)&forMarshaling->messageSeverity, sizeof(VkDebugUtilsMessageSeverityFlagsEXT)); |
| vkStream->write((VkDebugUtilsMessageTypeFlagsEXT*)&forMarshaling->messageType, sizeof(VkDebugUtilsMessageTypeFlagsEXT)); |
| uint64_t cgen_var_356 = (uint64_t)forMarshaling->pfnUserCallback; |
| vkStream->putBe64(cgen_var_356); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_357 = (uint64_t)(uintptr_t)forMarshaling->pUserData; |
| vkStream->putBe64(cgen_var_357); |
| if (forMarshaling->pUserData) |
| { |
| vkStream->write((void*)forMarshaling->pUserData, sizeof(uint8_t)); |
| } |
| } |
| |
| void unmarshal_VkDebugUtilsMessengerCreateInfoEXT( |
| VulkanStreamGuest* vkStream, |
| VkDebugUtilsMessengerCreateInfoEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkDebugUtilsMessengerCreateFlagsEXT*)&forUnmarshaling->flags, sizeof(VkDebugUtilsMessengerCreateFlagsEXT)); |
| vkStream->read((VkDebugUtilsMessageSeverityFlagsEXT*)&forUnmarshaling->messageSeverity, sizeof(VkDebugUtilsMessageSeverityFlagsEXT)); |
| vkStream->read((VkDebugUtilsMessageTypeFlagsEXT*)&forUnmarshaling->messageType, sizeof(VkDebugUtilsMessageTypeFlagsEXT)); |
| forUnmarshaling->pfnUserCallback = (PFN_vkDebugUtilsMessengerCallbackEXT)vkStream->getBe64(); |
| // WARNING PTR CHECK |
| void* check_pUserData; |
| check_pUserData = (void*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pUserData) |
| { |
| if (!(check_pUserData)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pUserData inconsistent between guest and host\n"); |
| } |
| vkStream->read((void*)forUnmarshaling->pUserData, sizeof(uint8_t)); |
| } |
| } |
| |
| #endif |
| #ifdef VK_ANDROID_external_memory_android_hardware_buffer |
| void marshal_VkAndroidHardwareBufferUsageANDROID( |
| VulkanStreamGuest* vkStream, |
| const VkAndroidHardwareBufferUsageANDROID* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint64_t*)&forMarshaling->androidHardwareBufferUsage, sizeof(uint64_t)); |
| } |
| |
| void unmarshal_VkAndroidHardwareBufferUsageANDROID( |
| VulkanStreamGuest* vkStream, |
| VkAndroidHardwareBufferUsageANDROID* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint64_t*)&forUnmarshaling->androidHardwareBufferUsage, sizeof(uint64_t)); |
| } |
| |
| void marshal_VkAndroidHardwareBufferPropertiesANDROID( |
| VulkanStreamGuest* vkStream, |
| const VkAndroidHardwareBufferPropertiesANDROID* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkDeviceSize*)&forMarshaling->allocationSize, sizeof(VkDeviceSize)); |
| vkStream->write((uint32_t*)&forMarshaling->memoryTypeBits, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkAndroidHardwareBufferPropertiesANDROID( |
| VulkanStreamGuest* vkStream, |
| VkAndroidHardwareBufferPropertiesANDROID* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->allocationSize, sizeof(VkDeviceSize)); |
| vkStream->read((uint32_t*)&forUnmarshaling->memoryTypeBits, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkAndroidHardwareBufferFormatPropertiesANDROID( |
| VulkanStreamGuest* vkStream, |
| const VkAndroidHardwareBufferFormatPropertiesANDROID* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat)); |
| vkStream->write((uint64_t*)&forMarshaling->externalFormat, sizeof(uint64_t)); |
| vkStream->write((VkFormatFeatureFlags*)&forMarshaling->formatFeatures, sizeof(VkFormatFeatureFlags)); |
| marshal_VkComponentMapping(vkStream, (VkComponentMapping*)(&forMarshaling->samplerYcbcrConversionComponents)); |
| vkStream->write((VkSamplerYcbcrModelConversion*)&forMarshaling->suggestedYcbcrModel, sizeof(VkSamplerYcbcrModelConversion)); |
| vkStream->write((VkSamplerYcbcrRange*)&forMarshaling->suggestedYcbcrRange, sizeof(VkSamplerYcbcrRange)); |
| vkStream->write((VkChromaLocation*)&forMarshaling->suggestedXChromaOffset, sizeof(VkChromaLocation)); |
| vkStream->write((VkChromaLocation*)&forMarshaling->suggestedYChromaOffset, sizeof(VkChromaLocation)); |
| } |
| |
| void unmarshal_VkAndroidHardwareBufferFormatPropertiesANDROID( |
| VulkanStreamGuest* vkStream, |
| VkAndroidHardwareBufferFormatPropertiesANDROID* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat)); |
| vkStream->read((uint64_t*)&forUnmarshaling->externalFormat, sizeof(uint64_t)); |
| vkStream->read((VkFormatFeatureFlags*)&forUnmarshaling->formatFeatures, sizeof(VkFormatFeatureFlags)); |
| unmarshal_VkComponentMapping(vkStream, (VkComponentMapping*)(&forUnmarshaling->samplerYcbcrConversionComponents)); |
| vkStream->read((VkSamplerYcbcrModelConversion*)&forUnmarshaling->suggestedYcbcrModel, sizeof(VkSamplerYcbcrModelConversion)); |
| vkStream->read((VkSamplerYcbcrRange*)&forUnmarshaling->suggestedYcbcrRange, sizeof(VkSamplerYcbcrRange)); |
| vkStream->read((VkChromaLocation*)&forUnmarshaling->suggestedXChromaOffset, sizeof(VkChromaLocation)); |
| vkStream->read((VkChromaLocation*)&forUnmarshaling->suggestedYChromaOffset, sizeof(VkChromaLocation)); |
| } |
| |
| void marshal_VkImportAndroidHardwareBufferInfoANDROID( |
| VulkanStreamGuest* vkStream, |
| const VkImportAndroidHardwareBufferInfoANDROID* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((AHardwareBuffer*)forMarshaling->buffer, sizeof(AHardwareBuffer)); |
| } |
| |
| void unmarshal_VkImportAndroidHardwareBufferInfoANDROID( |
| VulkanStreamGuest* vkStream, |
| VkImportAndroidHardwareBufferInfoANDROID* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((AHardwareBuffer*)forUnmarshaling->buffer, sizeof(AHardwareBuffer)); |
| } |
| |
| void marshal_VkMemoryGetAndroidHardwareBufferInfoANDROID( |
| VulkanStreamGuest* vkStream, |
| const VkMemoryGetAndroidHardwareBufferInfoANDROID* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_360; |
| vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_360, 1); |
| vkStream->write((uint64_t*)&cgen_var_360, 1 * 8); |
| } |
| |
| void unmarshal_VkMemoryGetAndroidHardwareBufferInfoANDROID( |
| VulkanStreamGuest* vkStream, |
| VkMemoryGetAndroidHardwareBufferInfoANDROID* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_361; |
| vkStream->read((uint64_t*)&cgen_var_361, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(&cgen_var_361, (VkDeviceMemory*)&forUnmarshaling->memory, 1); |
| } |
| |
| void marshal_VkExternalFormatANDROID( |
| VulkanStreamGuest* vkStream, |
| const VkExternalFormatANDROID* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint64_t*)&forMarshaling->externalFormat, sizeof(uint64_t)); |
| } |
| |
| void unmarshal_VkExternalFormatANDROID( |
| VulkanStreamGuest* vkStream, |
| VkExternalFormatANDROID* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint64_t*)&forUnmarshaling->externalFormat, sizeof(uint64_t)); |
| } |
| |
| #endif |
| #ifdef VK_EXT_sampler_filter_minmax |
| void marshal_VkSamplerReductionModeCreateInfoEXT( |
| VulkanStreamGuest* vkStream, |
| const VkSamplerReductionModeCreateInfoEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkSamplerReductionModeEXT*)&forMarshaling->reductionMode, sizeof(VkSamplerReductionModeEXT)); |
| } |
| |
| void unmarshal_VkSamplerReductionModeCreateInfoEXT( |
| VulkanStreamGuest* vkStream, |
| VkSamplerReductionModeCreateInfoEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkSamplerReductionModeEXT*)&forUnmarshaling->reductionMode, sizeof(VkSamplerReductionModeEXT)); |
| } |
| |
| void marshal_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkBool32*)&forMarshaling->filterMinmaxSingleComponentFormats, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->filterMinmaxImageComponentMapping, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkBool32*)&forUnmarshaling->filterMinmaxSingleComponentFormats, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->filterMinmaxImageComponentMapping, sizeof(VkBool32)); |
| } |
| |
| #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 marshal_VkSampleLocationEXT( |
| VulkanStreamGuest* vkStream, |
| const VkSampleLocationEXT* forMarshaling) |
| { |
| vkStream->write((float*)&forMarshaling->x, sizeof(float)); |
| vkStream->write((float*)&forMarshaling->y, sizeof(float)); |
| } |
| |
| void unmarshal_VkSampleLocationEXT( |
| VulkanStreamGuest* vkStream, |
| VkSampleLocationEXT* forUnmarshaling) |
| { |
| vkStream->read((float*)&forUnmarshaling->x, sizeof(float)); |
| vkStream->read((float*)&forUnmarshaling->y, sizeof(float)); |
| } |
| |
| void marshal_VkSampleLocationsInfoEXT( |
| VulkanStreamGuest* vkStream, |
| const VkSampleLocationsInfoEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkSampleCountFlagBits*)&forMarshaling->sampleLocationsPerPixel, sizeof(VkSampleCountFlagBits)); |
| marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->sampleLocationGridSize)); |
| vkStream->write((uint32_t*)&forMarshaling->sampleLocationsCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->sampleLocationsCount; ++i) |
| { |
| marshal_VkSampleLocationEXT(vkStream, (const VkSampleLocationEXT*)(forMarshaling->pSampleLocations + i)); |
| } |
| } |
| |
| void unmarshal_VkSampleLocationsInfoEXT( |
| VulkanStreamGuest* vkStream, |
| VkSampleLocationsInfoEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->sampleLocationsPerPixel, sizeof(VkSampleCountFlagBits)); |
| unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->sampleLocationGridSize)); |
| vkStream->read((uint32_t*)&forUnmarshaling->sampleLocationsCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->sampleLocationsCount; ++i) |
| { |
| unmarshal_VkSampleLocationEXT(vkStream, (VkSampleLocationEXT*)(forUnmarshaling->pSampleLocations + i)); |
| } |
| } |
| |
| void marshal_VkAttachmentSampleLocationsEXT( |
| VulkanStreamGuest* vkStream, |
| const VkAttachmentSampleLocationsEXT* forMarshaling) |
| { |
| vkStream->write((uint32_t*)&forMarshaling->attachmentIndex, sizeof(uint32_t)); |
| marshal_VkSampleLocationsInfoEXT(vkStream, (VkSampleLocationsInfoEXT*)(&forMarshaling->sampleLocationsInfo)); |
| } |
| |
| void unmarshal_VkAttachmentSampleLocationsEXT( |
| VulkanStreamGuest* vkStream, |
| VkAttachmentSampleLocationsEXT* forUnmarshaling) |
| { |
| vkStream->read((uint32_t*)&forUnmarshaling->attachmentIndex, sizeof(uint32_t)); |
| unmarshal_VkSampleLocationsInfoEXT(vkStream, (VkSampleLocationsInfoEXT*)(&forUnmarshaling->sampleLocationsInfo)); |
| } |
| |
| void marshal_VkSubpassSampleLocationsEXT( |
| VulkanStreamGuest* vkStream, |
| const VkSubpassSampleLocationsEXT* forMarshaling) |
| { |
| vkStream->write((uint32_t*)&forMarshaling->subpassIndex, sizeof(uint32_t)); |
| marshal_VkSampleLocationsInfoEXT(vkStream, (VkSampleLocationsInfoEXT*)(&forMarshaling->sampleLocationsInfo)); |
| } |
| |
| void unmarshal_VkSubpassSampleLocationsEXT( |
| VulkanStreamGuest* vkStream, |
| VkSubpassSampleLocationsEXT* forUnmarshaling) |
| { |
| vkStream->read((uint32_t*)&forUnmarshaling->subpassIndex, sizeof(uint32_t)); |
| unmarshal_VkSampleLocationsInfoEXT(vkStream, (VkSampleLocationsInfoEXT*)(&forUnmarshaling->sampleLocationsInfo)); |
| } |
| |
| void marshal_VkRenderPassSampleLocationsBeginInfoEXT( |
| VulkanStreamGuest* vkStream, |
| const VkRenderPassSampleLocationsBeginInfoEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->attachmentInitialSampleLocationsCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->attachmentInitialSampleLocationsCount; ++i) |
| { |
| marshal_VkAttachmentSampleLocationsEXT(vkStream, (const VkAttachmentSampleLocationsEXT*)(forMarshaling->pAttachmentInitialSampleLocations + i)); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->postSubpassSampleLocationsCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->postSubpassSampleLocationsCount; ++i) |
| { |
| marshal_VkSubpassSampleLocationsEXT(vkStream, (const VkSubpassSampleLocationsEXT*)(forMarshaling->pPostSubpassSampleLocations + i)); |
| } |
| } |
| |
| void unmarshal_VkRenderPassSampleLocationsBeginInfoEXT( |
| VulkanStreamGuest* vkStream, |
| VkRenderPassSampleLocationsBeginInfoEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->attachmentInitialSampleLocationsCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->attachmentInitialSampleLocationsCount; ++i) |
| { |
| unmarshal_VkAttachmentSampleLocationsEXT(vkStream, (VkAttachmentSampleLocationsEXT*)(forUnmarshaling->pAttachmentInitialSampleLocations + i)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->postSubpassSampleLocationsCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->postSubpassSampleLocationsCount; ++i) |
| { |
| unmarshal_VkSubpassSampleLocationsEXT(vkStream, (VkSubpassSampleLocationsEXT*)(forUnmarshaling->pPostSubpassSampleLocations + i)); |
| } |
| } |
| |
| void marshal_VkPipelineSampleLocationsStateCreateInfoEXT( |
| VulkanStreamGuest* vkStream, |
| const VkPipelineSampleLocationsStateCreateInfoEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkBool32*)&forMarshaling->sampleLocationsEnable, sizeof(VkBool32)); |
| marshal_VkSampleLocationsInfoEXT(vkStream, (VkSampleLocationsInfoEXT*)(&forMarshaling->sampleLocationsInfo)); |
| } |
| |
| void unmarshal_VkPipelineSampleLocationsStateCreateInfoEXT( |
| VulkanStreamGuest* vkStream, |
| VkPipelineSampleLocationsStateCreateInfoEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkBool32*)&forUnmarshaling->sampleLocationsEnable, sizeof(VkBool32)); |
| unmarshal_VkSampleLocationsInfoEXT(vkStream, (VkSampleLocationsInfoEXT*)(&forUnmarshaling->sampleLocationsInfo)); |
| } |
| |
| void marshal_VkPhysicalDeviceSampleLocationsPropertiesEXT( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceSampleLocationsPropertiesEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkSampleCountFlags*)&forMarshaling->sampleLocationSampleCounts, sizeof(VkSampleCountFlags)); |
| marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->maxSampleLocationGridSize)); |
| vkStream->write((float*)forMarshaling->sampleLocationCoordinateRange, 2 * sizeof(float)); |
| vkStream->write((uint32_t*)&forMarshaling->sampleLocationSubPixelBits, sizeof(uint32_t)); |
| vkStream->write((VkBool32*)&forMarshaling->variableSampleLocations, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceSampleLocationsPropertiesEXT( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceSampleLocationsPropertiesEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkSampleCountFlags*)&forUnmarshaling->sampleLocationSampleCounts, sizeof(VkSampleCountFlags)); |
| unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->maxSampleLocationGridSize)); |
| vkStream->read((float*)forUnmarshaling->sampleLocationCoordinateRange, 2 * sizeof(float)); |
| vkStream->read((uint32_t*)&forUnmarshaling->sampleLocationSubPixelBits, sizeof(uint32_t)); |
| vkStream->read((VkBool32*)&forUnmarshaling->variableSampleLocations, sizeof(VkBool32)); |
| } |
| |
| void marshal_VkMultisamplePropertiesEXT( |
| VulkanStreamGuest* vkStream, |
| const VkMultisamplePropertiesEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->maxSampleLocationGridSize)); |
| } |
| |
| void unmarshal_VkMultisamplePropertiesEXT( |
| VulkanStreamGuest* vkStream, |
| VkMultisamplePropertiesEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->maxSampleLocationGridSize)); |
| } |
| |
| #endif |
| #ifdef VK_EXT_blend_operation_advanced |
| void marshal_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkBool32*)&forMarshaling->advancedBlendCoherentOperations, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkBool32*)&forUnmarshaling->advancedBlendCoherentOperations, sizeof(VkBool32)); |
| } |
| |
| void marshal_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->advancedBlendMaxColorAttachments, sizeof(uint32_t)); |
| vkStream->write((VkBool32*)&forMarshaling->advancedBlendIndependentBlend, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->advancedBlendNonPremultipliedSrcColor, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->advancedBlendNonPremultipliedDstColor, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->advancedBlendCorrelatedOverlap, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->advancedBlendAllOperations, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->advancedBlendMaxColorAttachments, sizeof(uint32_t)); |
| vkStream->read((VkBool32*)&forUnmarshaling->advancedBlendIndependentBlend, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->advancedBlendNonPremultipliedSrcColor, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->advancedBlendNonPremultipliedDstColor, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->advancedBlendCorrelatedOverlap, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->advancedBlendAllOperations, sizeof(VkBool32)); |
| } |
| |
| void marshal_VkPipelineColorBlendAdvancedStateCreateInfoEXT( |
| VulkanStreamGuest* vkStream, |
| const VkPipelineColorBlendAdvancedStateCreateInfoEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkBool32*)&forMarshaling->srcPremultiplied, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->dstPremultiplied, sizeof(VkBool32)); |
| vkStream->write((VkBlendOverlapEXT*)&forMarshaling->blendOverlap, sizeof(VkBlendOverlapEXT)); |
| } |
| |
| void unmarshal_VkPipelineColorBlendAdvancedStateCreateInfoEXT( |
| VulkanStreamGuest* vkStream, |
| VkPipelineColorBlendAdvancedStateCreateInfoEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkBool32*)&forUnmarshaling->srcPremultiplied, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->dstPremultiplied, sizeof(VkBool32)); |
| vkStream->read((VkBlendOverlapEXT*)&forUnmarshaling->blendOverlap, sizeof(VkBlendOverlapEXT)); |
| } |
| |
| #endif |
| #ifdef VK_NV_fragment_coverage_to_color |
| void marshal_VkPipelineCoverageToColorStateCreateInfoNV( |
| VulkanStreamGuest* vkStream, |
| const VkPipelineCoverageToColorStateCreateInfoNV* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkPipelineCoverageToColorStateCreateFlagsNV*)&forMarshaling->flags, sizeof(VkPipelineCoverageToColorStateCreateFlagsNV)); |
| vkStream->write((VkBool32*)&forMarshaling->coverageToColorEnable, sizeof(VkBool32)); |
| vkStream->write((uint32_t*)&forMarshaling->coverageToColorLocation, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkPipelineCoverageToColorStateCreateInfoNV( |
| VulkanStreamGuest* vkStream, |
| VkPipelineCoverageToColorStateCreateInfoNV* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkPipelineCoverageToColorStateCreateFlagsNV*)&forUnmarshaling->flags, sizeof(VkPipelineCoverageToColorStateCreateFlagsNV)); |
| vkStream->read((VkBool32*)&forUnmarshaling->coverageToColorEnable, sizeof(VkBool32)); |
| vkStream->read((uint32_t*)&forUnmarshaling->coverageToColorLocation, sizeof(uint32_t)); |
| } |
| |
| #endif |
| #ifdef VK_NV_framebuffer_mixed_samples |
| void marshal_VkPipelineCoverageModulationStateCreateInfoNV( |
| VulkanStreamGuest* vkStream, |
| const VkPipelineCoverageModulationStateCreateInfoNV* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkPipelineCoverageModulationStateCreateFlagsNV*)&forMarshaling->flags, sizeof(VkPipelineCoverageModulationStateCreateFlagsNV)); |
| vkStream->write((VkCoverageModulationModeNV*)&forMarshaling->coverageModulationMode, sizeof(VkCoverageModulationModeNV)); |
| vkStream->write((VkBool32*)&forMarshaling->coverageModulationTableEnable, sizeof(VkBool32)); |
| vkStream->write((uint32_t*)&forMarshaling->coverageModulationTableCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_362 = (uint64_t)(uintptr_t)forMarshaling->pCoverageModulationTable; |
| vkStream->putBe64(cgen_var_362); |
| if (forMarshaling->pCoverageModulationTable) |
| { |
| vkStream->write((const float*)forMarshaling->pCoverageModulationTable, forMarshaling->coverageModulationTableCount * sizeof(const float)); |
| } |
| } |
| |
| void unmarshal_VkPipelineCoverageModulationStateCreateInfoNV( |
| VulkanStreamGuest* vkStream, |
| VkPipelineCoverageModulationStateCreateInfoNV* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkPipelineCoverageModulationStateCreateFlagsNV*)&forUnmarshaling->flags, sizeof(VkPipelineCoverageModulationStateCreateFlagsNV)); |
| vkStream->read((VkCoverageModulationModeNV*)&forUnmarshaling->coverageModulationMode, sizeof(VkCoverageModulationModeNV)); |
| vkStream->read((VkBool32*)&forUnmarshaling->coverageModulationTableEnable, sizeof(VkBool32)); |
| vkStream->read((uint32_t*)&forUnmarshaling->coverageModulationTableCount, sizeof(uint32_t)); |
| // WARNING PTR CHECK |
| const float* check_pCoverageModulationTable; |
| check_pCoverageModulationTable = (const float*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pCoverageModulationTable) |
| { |
| if (!(check_pCoverageModulationTable)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pCoverageModulationTable inconsistent between guest and host\n"); |
| } |
| vkStream->read((float*)forUnmarshaling->pCoverageModulationTable, forUnmarshaling->coverageModulationTableCount * sizeof(const float)); |
| } |
| } |
| |
| #endif |
| #ifdef VK_NV_fill_rectangle |
| #endif |
| #ifdef VK_EXT_post_depth_coverage |
| #endif |
| #ifdef VK_EXT_validation_cache |
| void marshal_VkValidationCacheCreateInfoEXT( |
| VulkanStreamGuest* vkStream, |
| const VkValidationCacheCreateInfoEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkValidationCacheCreateFlagsEXT*)&forMarshaling->flags, sizeof(VkValidationCacheCreateFlagsEXT)); |
| uint64_t cgen_var_364 = (uint64_t)forMarshaling->initialDataSize; |
| vkStream->putBe64(cgen_var_364); |
| vkStream->write((const void*)forMarshaling->pInitialData, forMarshaling->initialDataSize * sizeof(const uint8_t)); |
| } |
| |
| void unmarshal_VkValidationCacheCreateInfoEXT( |
| VulkanStreamGuest* vkStream, |
| VkValidationCacheCreateInfoEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkValidationCacheCreateFlagsEXT*)&forUnmarshaling->flags, sizeof(VkValidationCacheCreateFlagsEXT)); |
| forUnmarshaling->initialDataSize = (size_t)vkStream->getBe64(); |
| vkStream->read((void*)forUnmarshaling->pInitialData, forUnmarshaling->initialDataSize * sizeof(const uint8_t)); |
| } |
| |
| void marshal_VkShaderModuleValidationCacheCreateInfoEXT( |
| VulkanStreamGuest* vkStream, |
| const VkShaderModuleValidationCacheCreateInfoEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| uint64_t cgen_var_366; |
| vkStream->handleMapping()->mapHandles_VkValidationCacheEXT_u64(&forMarshaling->validationCache, &cgen_var_366, 1); |
| vkStream->write((uint64_t*)&cgen_var_366, 1 * 8); |
| } |
| |
| void unmarshal_VkShaderModuleValidationCacheCreateInfoEXT( |
| VulkanStreamGuest* vkStream, |
| VkShaderModuleValidationCacheCreateInfoEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| uint64_t cgen_var_367; |
| vkStream->read((uint64_t*)&cgen_var_367, 1 * 8); |
| vkStream->handleMapping()->mapHandles_u64_VkValidationCacheEXT(&cgen_var_367, (VkValidationCacheEXT*)&forUnmarshaling->validationCache, 1); |
| } |
| |
| #endif |
| #ifdef VK_EXT_descriptor_indexing |
| void marshal_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT( |
| VulkanStreamGuest* vkStream, |
| const VkDescriptorSetLayoutBindingFlagsCreateInfoEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->bindingCount, sizeof(uint32_t)); |
| vkStream->write((const VkDescriptorBindingFlagsEXT*)forMarshaling->pBindingFlags, forMarshaling->bindingCount * sizeof(const VkDescriptorBindingFlagsEXT)); |
| } |
| |
| void unmarshal_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT( |
| VulkanStreamGuest* vkStream, |
| VkDescriptorSetLayoutBindingFlagsCreateInfoEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->bindingCount, sizeof(uint32_t)); |
| vkStream->read((VkDescriptorBindingFlagsEXT*)forUnmarshaling->pBindingFlags, forUnmarshaling->bindingCount * sizeof(const VkDescriptorBindingFlagsEXT)); |
| } |
| |
| void marshal_VkPhysicalDeviceDescriptorIndexingFeaturesEXT( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceDescriptorIndexingFeaturesEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkBool32*)&forMarshaling->shaderInputAttachmentArrayDynamicIndexing, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderUniformTexelBufferArrayDynamicIndexing, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderStorageTexelBufferArrayDynamicIndexing, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderUniformBufferArrayNonUniformIndexing, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderSampledImageArrayNonUniformIndexing, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderStorageBufferArrayNonUniformIndexing, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageArrayNonUniformIndexing, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderInputAttachmentArrayNonUniformIndexing, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderUniformTexelBufferArrayNonUniformIndexing, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderStorageTexelBufferArrayNonUniformIndexing, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->descriptorBindingUniformBufferUpdateAfterBind, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->descriptorBindingSampledImageUpdateAfterBind, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->descriptorBindingStorageImageUpdateAfterBind, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->descriptorBindingStorageBufferUpdateAfterBind, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->descriptorBindingUniformTexelBufferUpdateAfterBind, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->descriptorBindingStorageTexelBufferUpdateAfterBind, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->descriptorBindingUpdateUnusedWhilePending, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->descriptorBindingPartiallyBound, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->descriptorBindingVariableDescriptorCount, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->runtimeDescriptorArray, sizeof(VkBool32)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceDescriptorIndexingFeaturesEXT( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceDescriptorIndexingFeaturesEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderInputAttachmentArrayDynamicIndexing, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformTexelBufferArrayDynamicIndexing, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageTexelBufferArrayDynamicIndexing, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformBufferArrayNonUniformIndexing, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderSampledImageArrayNonUniformIndexing, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageBufferArrayNonUniformIndexing, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageArrayNonUniformIndexing, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderInputAttachmentArrayNonUniformIndexing, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformTexelBufferArrayNonUniformIndexing, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageTexelBufferArrayNonUniformIndexing, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingUniformBufferUpdateAfterBind, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingSampledImageUpdateAfterBind, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingStorageImageUpdateAfterBind, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingStorageBufferUpdateAfterBind, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingUniformTexelBufferUpdateAfterBind, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingStorageTexelBufferUpdateAfterBind, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingUpdateUnusedWhilePending, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingPartiallyBound, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingVariableDescriptorCount, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->runtimeDescriptorArray, sizeof(VkBool32)); |
| } |
| |
| void marshal_VkPhysicalDeviceDescriptorIndexingPropertiesEXT( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceDescriptorIndexingPropertiesEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->maxUpdateAfterBindDescriptorsInAllPools, sizeof(uint32_t)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderUniformBufferArrayNonUniformIndexingNative, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderSampledImageArrayNonUniformIndexingNative, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderStorageBufferArrayNonUniformIndexingNative, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageArrayNonUniformIndexingNative, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->shaderInputAttachmentArrayNonUniformIndexingNative, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->robustBufferAccessUpdateAfterBind, sizeof(VkBool32)); |
| vkStream->write((VkBool32*)&forMarshaling->quadDivergentImplicitLod, sizeof(VkBool32)); |
| vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindSamplers, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindUniformBuffers, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindStorageBuffers, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindSampledImages, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindStorageImages, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindInputAttachments, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxPerStageUpdateAfterBindResources, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindSamplers, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindUniformBuffers, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageBuffers, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindSampledImages, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageImages, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindInputAttachments, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceDescriptorIndexingPropertiesEXT( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceDescriptorIndexingPropertiesEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->maxUpdateAfterBindDescriptorsInAllPools, sizeof(uint32_t)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformBufferArrayNonUniformIndexingNative, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderSampledImageArrayNonUniformIndexingNative, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageBufferArrayNonUniformIndexingNative, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageArrayNonUniformIndexingNative, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->shaderInputAttachmentArrayNonUniformIndexingNative, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->robustBufferAccessUpdateAfterBind, sizeof(VkBool32)); |
| vkStream->read((VkBool32*)&forUnmarshaling->quadDivergentImplicitLod, sizeof(VkBool32)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindSamplers, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindUniformBuffers, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindStorageBuffers, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindSampledImages, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindStorageImages, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindInputAttachments, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageUpdateAfterBindResources, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindSamplers, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindUniformBuffers, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageBuffers, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindSampledImages, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageImages, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindInputAttachments, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT( |
| VulkanStreamGuest* vkStream, |
| const VkDescriptorSetVariableDescriptorCountAllocateInfoEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->descriptorSetCount, sizeof(uint32_t)); |
| vkStream->write((const uint32_t*)forMarshaling->pDescriptorCounts, forMarshaling->descriptorSetCount * sizeof(const uint32_t)); |
| } |
| |
| void unmarshal_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT( |
| VulkanStreamGuest* vkStream, |
| VkDescriptorSetVariableDescriptorCountAllocateInfoEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->descriptorSetCount, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)forUnmarshaling->pDescriptorCounts, forUnmarshaling->descriptorSetCount * sizeof(const uint32_t)); |
| } |
| |
| void marshal_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT( |
| VulkanStreamGuest* vkStream, |
| const VkDescriptorSetVariableDescriptorCountLayoutSupportEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->maxVariableDescriptorCount, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT( |
| VulkanStreamGuest* vkStream, |
| VkDescriptorSetVariableDescriptorCountLayoutSupportEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->maxVariableDescriptorCount, sizeof(uint32_t)); |
| } |
| |
| #endif |
| #ifdef VK_EXT_shader_viewport_index_layer |
| #endif |
| #ifdef VK_EXT_global_priority |
| void marshal_VkDeviceQueueGlobalPriorityCreateInfoEXT( |
| VulkanStreamGuest* vkStream, |
| const VkDeviceQueueGlobalPriorityCreateInfoEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkQueueGlobalPriorityEXT*)&forMarshaling->globalPriority, sizeof(VkQueueGlobalPriorityEXT)); |
| } |
| |
| void unmarshal_VkDeviceQueueGlobalPriorityCreateInfoEXT( |
| VulkanStreamGuest* vkStream, |
| VkDeviceQueueGlobalPriorityCreateInfoEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkQueueGlobalPriorityEXT*)&forUnmarshaling->globalPriority, sizeof(VkQueueGlobalPriorityEXT)); |
| } |
| |
| #endif |
| #ifdef VK_EXT_external_memory_host |
| void marshal_VkImportMemoryHostPointerInfoEXT( |
| VulkanStreamGuest* vkStream, |
| const VkImportMemoryHostPointerInfoEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagBits)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_368 = (uint64_t)(uintptr_t)forMarshaling->pHostPointer; |
| vkStream->putBe64(cgen_var_368); |
| if (forMarshaling->pHostPointer) |
| { |
| vkStream->write((void*)forMarshaling->pHostPointer, sizeof(uint8_t)); |
| } |
| } |
| |
| void unmarshal_VkImportMemoryHostPointerInfoEXT( |
| VulkanStreamGuest* vkStream, |
| VkImportMemoryHostPointerInfoEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkExternalMemoryHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagBits)); |
| // WARNING PTR CHECK |
| void* check_pHostPointer; |
| check_pHostPointer = (void*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pHostPointer) |
| { |
| if (!(check_pHostPointer)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pHostPointer inconsistent between guest and host\n"); |
| } |
| vkStream->read((void*)forUnmarshaling->pHostPointer, sizeof(uint8_t)); |
| } |
| } |
| |
| void marshal_VkMemoryHostPointerPropertiesEXT( |
| VulkanStreamGuest* vkStream, |
| const VkMemoryHostPointerPropertiesEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->memoryTypeBits, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkMemoryHostPointerPropertiesEXT( |
| VulkanStreamGuest* vkStream, |
| VkMemoryHostPointerPropertiesEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->memoryTypeBits, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkPhysicalDeviceExternalMemoryHostPropertiesEXT( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceExternalMemoryHostPropertiesEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkDeviceSize*)&forMarshaling->minImportedHostPointerAlignment, sizeof(VkDeviceSize)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceExternalMemoryHostPropertiesEXT( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceExternalMemoryHostPropertiesEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->minImportedHostPointerAlignment, sizeof(VkDeviceSize)); |
| } |
| |
| #endif |
| #ifdef VK_AMD_buffer_marker |
| #endif |
| #ifdef VK_AMD_shader_core_properties |
| void marshal_VkPhysicalDeviceShaderCorePropertiesAMD( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceShaderCorePropertiesAMD* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->shaderEngineCount, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->shaderArraysPerEngineCount, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->computeUnitsPerShaderArray, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->simdPerComputeUnit, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->wavefrontsPerSimd, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->wavefrontSize, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->sgprsPerSimd, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->minSgprAllocation, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxSgprAllocation, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->sgprAllocationGranularity, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->vgprsPerSimd, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->minVgprAllocation, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->maxVgprAllocation, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->vgprAllocationGranularity, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceShaderCorePropertiesAMD( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceShaderCorePropertiesAMD* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->shaderEngineCount, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->shaderArraysPerEngineCount, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->computeUnitsPerShaderArray, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->simdPerComputeUnit, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->wavefrontsPerSimd, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->wavefrontSize, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->sgprsPerSimd, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->minSgprAllocation, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxSgprAllocation, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->sgprAllocationGranularity, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->vgprsPerSimd, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->minVgprAllocation, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->maxVgprAllocation, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->vgprAllocationGranularity, sizeof(uint32_t)); |
| } |
| |
| #endif |
| #ifdef VK_EXT_vertex_attribute_divisor |
| void marshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT( |
| VulkanStreamGuest* vkStream, |
| const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->maxVertexAttribDivisor, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT( |
| VulkanStreamGuest* vkStream, |
| VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->maxVertexAttribDivisor, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkVertexInputBindingDivisorDescriptionEXT( |
| VulkanStreamGuest* vkStream, |
| const VkVertexInputBindingDivisorDescriptionEXT* forMarshaling) |
| { |
| vkStream->write((uint32_t*)&forMarshaling->binding, sizeof(uint32_t)); |
| vkStream->write((uint32_t*)&forMarshaling->divisor, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkVertexInputBindingDivisorDescriptionEXT( |
| VulkanStreamGuest* vkStream, |
| VkVertexInputBindingDivisorDescriptionEXT* forUnmarshaling) |
| { |
| vkStream->read((uint32_t*)&forUnmarshaling->binding, sizeof(uint32_t)); |
| vkStream->read((uint32_t*)&forUnmarshaling->divisor, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkPipelineVertexInputDivisorStateCreateInfoEXT( |
| VulkanStreamGuest* vkStream, |
| const VkPipelineVertexInputDivisorStateCreateInfoEXT* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((const void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->vertexBindingDivisorCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forMarshaling->vertexBindingDivisorCount; ++i) |
| { |
| marshal_VkVertexInputBindingDivisorDescriptionEXT(vkStream, (const VkVertexInputBindingDivisorDescriptionEXT*)(forMarshaling->pVertexBindingDivisors + i)); |
| } |
| } |
| |
| void unmarshal_VkPipelineVertexInputDivisorStateCreateInfoEXT( |
| VulkanStreamGuest* vkStream, |
| VkPipelineVertexInputDivisorStateCreateInfoEXT* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->vertexBindingDivisorCount, sizeof(uint32_t)); |
| for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->vertexBindingDivisorCount; ++i) |
| { |
| unmarshal_VkVertexInputBindingDivisorDescriptionEXT(vkStream, (VkVertexInputBindingDivisorDescriptionEXT*)(forUnmarshaling->pVertexBindingDivisors + i)); |
| } |
| } |
| |
| #endif |
| #ifdef VK_NV_shader_subgroup_partitioned |
| #endif |
| #ifdef VK_NV_device_diagnostic_checkpoints |
| void marshal_VkQueueFamilyCheckpointPropertiesNV( |
| VulkanStreamGuest* vkStream, |
| const VkQueueFamilyCheckpointPropertiesNV* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkPipelineStageFlags*)&forMarshaling->checkpointExecutionStageMask, sizeof(VkPipelineStageFlags)); |
| } |
| |
| void unmarshal_VkQueueFamilyCheckpointPropertiesNV( |
| VulkanStreamGuest* vkStream, |
| VkQueueFamilyCheckpointPropertiesNV* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkPipelineStageFlags*)&forUnmarshaling->checkpointExecutionStageMask, sizeof(VkPipelineStageFlags)); |
| } |
| |
| void marshal_VkCheckpointDataNV( |
| VulkanStreamGuest* vkStream, |
| const VkCheckpointDataNV* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((VkPipelineStageFlagBits*)&forMarshaling->stage, sizeof(VkPipelineStageFlagBits)); |
| // WARNING PTR CHECK |
| uint64_t cgen_var_370 = (uint64_t)(uintptr_t)forMarshaling->pCheckpointMarker; |
| vkStream->putBe64(cgen_var_370); |
| if (forMarshaling->pCheckpointMarker) |
| { |
| vkStream->write((void*)forMarshaling->pCheckpointMarker, sizeof(uint8_t)); |
| } |
| } |
| |
| void unmarshal_VkCheckpointDataNV( |
| VulkanStreamGuest* vkStream, |
| VkCheckpointDataNV* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((VkPipelineStageFlagBits*)&forUnmarshaling->stage, sizeof(VkPipelineStageFlagBits)); |
| // WARNING PTR CHECK |
| void* check_pCheckpointMarker; |
| check_pCheckpointMarker = (void*)(uintptr_t)vkStream->getBe64(); |
| if (forUnmarshaling->pCheckpointMarker) |
| { |
| if (!(check_pCheckpointMarker)) |
| { |
| fprintf(stderr, "fatal: forUnmarshaling->pCheckpointMarker inconsistent between guest and host\n"); |
| } |
| vkStream->read((void*)forUnmarshaling->pCheckpointMarker, sizeof(uint8_t)); |
| } |
| } |
| |
| #endif |
| #ifdef VK_GOOGLE_address_space |
| #endif |
| #ifdef VK_GOOGLE_color_buffer |
| void marshal_VkImportColorBufferGOOGLE( |
| VulkanStreamGuest* vkStream, |
| const VkImportColorBufferGOOGLE* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint32_t*)&forMarshaling->colorBuffer, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkImportColorBufferGOOGLE( |
| VulkanStreamGuest* vkStream, |
| VkImportColorBufferGOOGLE* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint32_t*)&forUnmarshaling->colorBuffer, sizeof(uint32_t)); |
| } |
| |
| void marshal_VkImportPhysicalAddressGOOGLE( |
| VulkanStreamGuest* vkStream, |
| const VkImportPhysicalAddressGOOGLE* forMarshaling) |
| { |
| vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size = goldfish_vk_extension_struct_size(forMarshaling->pNext); |
| vkStream->putBe32(pNext_size); |
| if (pNext_size) |
| { |
| vkStream->write((void*)forMarshaling->pNext, sizeof(VkStructureType)); |
| marshal_extension_struct(vkStream, forMarshaling->pNext); |
| } |
| vkStream->write((uint64_t*)&forMarshaling->physicalAddress, sizeof(uint64_t)); |
| vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize)); |
| vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat)); |
| vkStream->write((VkImageTiling*)&forMarshaling->tiling, sizeof(VkImageTiling)); |
| vkStream->write((uint32_t*)&forMarshaling->tilingParameter, sizeof(uint32_t)); |
| } |
| |
| void unmarshal_VkImportPhysicalAddressGOOGLE( |
| VulkanStreamGuest* vkStream, |
| VkImportPhysicalAddressGOOGLE* forUnmarshaling) |
| { |
| vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType)); |
| size_t pNext_size; |
| pNext_size = vkStream->getBe32(); |
| if (pNext_size) |
| { |
| uint64_t pNext_placeholder; |
| vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType)); |
| unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext)); |
| } |
| vkStream->read((uint64_t*)&forUnmarshaling->physicalAddress, sizeof(uint64_t)); |
| vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize)); |
| vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat)); |
| vkStream->read((VkImageTiling*)&forUnmarshaling->tiling, sizeof(VkImageTiling)); |
| vkStream->read((uint32_t*)&forUnmarshaling->tilingParameter, sizeof(uint32_t)); |
| } |
| |
| #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 |
| void marshal_extension_struct( |
| VulkanStreamGuest* vkStream, |
| const void* structExtension) |
| { |
| 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: |
| { |
| marshal_VkPhysicalDeviceSubgroupProperties(vkStream, reinterpret_cast<const VkPhysicalDeviceSubgroupProperties*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: |
| { |
| marshal_VkPhysicalDevice16BitStorageFeatures(vkStream, reinterpret_cast<const VkPhysicalDevice16BitStorageFeatures*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: |
| { |
| marshal_VkMemoryDedicatedRequirements(vkStream, reinterpret_cast<const VkMemoryDedicatedRequirements*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: |
| { |
| marshal_VkMemoryDedicatedAllocateInfo(vkStream, reinterpret_cast<const VkMemoryDedicatedAllocateInfo*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: |
| { |
| marshal_VkMemoryAllocateFlagsInfo(vkStream, reinterpret_cast<const VkMemoryAllocateFlagsInfo*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: |
| { |
| marshal_VkDeviceGroupRenderPassBeginInfo(vkStream, reinterpret_cast<const VkDeviceGroupRenderPassBeginInfo*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: |
| { |
| marshal_VkDeviceGroupCommandBufferBeginInfo(vkStream, reinterpret_cast<const VkDeviceGroupCommandBufferBeginInfo*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: |
| { |
| marshal_VkDeviceGroupSubmitInfo(vkStream, reinterpret_cast<const VkDeviceGroupSubmitInfo*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: |
| { |
| marshal_VkDeviceGroupBindSparseInfo(vkStream, reinterpret_cast<const VkDeviceGroupBindSparseInfo*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: |
| { |
| marshal_VkBindBufferMemoryDeviceGroupInfo(vkStream, reinterpret_cast<const VkBindBufferMemoryDeviceGroupInfo*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: |
| { |
| marshal_VkBindImageMemoryDeviceGroupInfo(vkStream, reinterpret_cast<const VkBindImageMemoryDeviceGroupInfo*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: |
| { |
| marshal_VkDeviceGroupDeviceCreateInfo(vkStream, reinterpret_cast<const VkDeviceGroupDeviceCreateInfo*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: |
| { |
| marshal_VkPhysicalDeviceFeatures2(vkStream, reinterpret_cast<const VkPhysicalDeviceFeatures2*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: |
| { |
| marshal_VkPhysicalDevicePointClippingProperties(vkStream, reinterpret_cast<const VkPhysicalDevicePointClippingProperties*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: |
| { |
| marshal_VkRenderPassInputAttachmentAspectCreateInfo(vkStream, reinterpret_cast<const VkRenderPassInputAttachmentAspectCreateInfo*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: |
| { |
| marshal_VkImageViewUsageCreateInfo(vkStream, reinterpret_cast<const VkImageViewUsageCreateInfo*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: |
| { |
| marshal_VkPipelineTessellationDomainOriginStateCreateInfo(vkStream, reinterpret_cast<const VkPipelineTessellationDomainOriginStateCreateInfo*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: |
| { |
| marshal_VkRenderPassMultiviewCreateInfo(vkStream, reinterpret_cast<const VkRenderPassMultiviewCreateInfo*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: |
| { |
| marshal_VkPhysicalDeviceMultiviewFeatures(vkStream, reinterpret_cast<const VkPhysicalDeviceMultiviewFeatures*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: |
| { |
| marshal_VkPhysicalDeviceMultiviewProperties(vkStream, reinterpret_cast<const VkPhysicalDeviceMultiviewProperties*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES: |
| { |
| marshal_VkPhysicalDeviceVariablePointerFeatures(vkStream, reinterpret_cast<const VkPhysicalDeviceVariablePointerFeatures*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: |
| { |
| marshal_VkPhysicalDeviceProtectedMemoryFeatures(vkStream, reinterpret_cast<const VkPhysicalDeviceProtectedMemoryFeatures*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: |
| { |
| marshal_VkPhysicalDeviceProtectedMemoryProperties(vkStream, reinterpret_cast<const VkPhysicalDeviceProtectedMemoryProperties*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: |
| { |
| marshal_VkProtectedSubmitInfo(vkStream, reinterpret_cast<const VkProtectedSubmitInfo*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: |
| { |
| marshal_VkSamplerYcbcrConversionInfo(vkStream, reinterpret_cast<const VkSamplerYcbcrConversionInfo*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: |
| { |
| marshal_VkBindImagePlaneMemoryInfo(vkStream, reinterpret_cast<const VkBindImagePlaneMemoryInfo*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: |
| { |
| marshal_VkImagePlaneMemoryRequirementsInfo(vkStream, reinterpret_cast<const VkImagePlaneMemoryRequirementsInfo*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: |
| { |
| marshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(vkStream, reinterpret_cast<const VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: |
| { |
| marshal_VkSamplerYcbcrConversionImageFormatProperties(vkStream, reinterpret_cast<const VkSamplerYcbcrConversionImageFormatProperties*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: |
| { |
| marshal_VkPhysicalDeviceExternalImageFormatInfo(vkStream, reinterpret_cast<const VkPhysicalDeviceExternalImageFormatInfo*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: |
| { |
| marshal_VkExternalImageFormatProperties(vkStream, reinterpret_cast<const VkExternalImageFormatProperties*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: |
| { |
| marshal_VkPhysicalDeviceIDProperties(vkStream, reinterpret_cast<const VkPhysicalDeviceIDProperties*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: |
| { |
| marshal_VkExternalMemoryImageCreateInfo(vkStream, reinterpret_cast<const VkExternalMemoryImageCreateInfo*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: |
| { |
| marshal_VkExternalMemoryBufferCreateInfo(vkStream, reinterpret_cast<const VkExternalMemoryBufferCreateInfo*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: |
| { |
| marshal_VkExportMemoryAllocateInfo(vkStream, reinterpret_cast<const VkExportMemoryAllocateInfo*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: |
| { |
| marshal_VkExportFenceCreateInfo(vkStream, reinterpret_cast<const VkExportFenceCreateInfo*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: |
| { |
| marshal_VkExportSemaphoreCreateInfo(vkStream, reinterpret_cast<const VkExportSemaphoreCreateInfo*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: |
| { |
| marshal_VkPhysicalDeviceMaintenance3Properties(vkStream, reinterpret_cast<const VkPhysicalDeviceMaintenance3Properties*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES: |
| { |
| marshal_VkPhysicalDeviceShaderDrawParameterFeatures(vkStream, reinterpret_cast<const VkPhysicalDeviceShaderDrawParameterFeatures*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_KHR_swapchain |
| case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: |
| { |
| marshal_VkImageSwapchainCreateInfoKHR(vkStream, reinterpret_cast<const VkImageSwapchainCreateInfoKHR*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR: |
| { |
| marshal_VkBindImageMemorySwapchainInfoKHR(vkStream, reinterpret_cast<const VkBindImageMemorySwapchainInfoKHR*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR: |
| { |
| marshal_VkDeviceGroupPresentInfoKHR(vkStream, reinterpret_cast<const VkDeviceGroupPresentInfoKHR*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR: |
| { |
| marshal_VkDeviceGroupSwapchainCreateInfoKHR(vkStream, reinterpret_cast<const VkDeviceGroupSwapchainCreateInfoKHR*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_KHR_display_swapchain |
| case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR: |
| { |
| marshal_VkDisplayPresentInfoKHR(vkStream, reinterpret_cast<const VkDisplayPresentInfoKHR*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_KHR_external_memory_win32 |
| case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR: |
| { |
| marshal_VkImportMemoryWin32HandleInfoKHR(vkStream, reinterpret_cast<const VkImportMemoryWin32HandleInfoKHR*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR: |
| { |
| marshal_VkExportMemoryWin32HandleInfoKHR(vkStream, reinterpret_cast<const VkExportMemoryWin32HandleInfoKHR*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_KHR_external_memory_fd |
| case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR: |
| { |
| marshal_VkImportMemoryFdInfoKHR(vkStream, reinterpret_cast<const VkImportMemoryFdInfoKHR*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_KHR_win32_keyed_mutex |
| case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR: |
| { |
| marshal_VkWin32KeyedMutexAcquireReleaseInfoKHR(vkStream, reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoKHR*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_KHR_external_semaphore_win32 |
| case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR: |
| { |
| marshal_VkExportSemaphoreWin32HandleInfoKHR(vkStream, reinterpret_cast<const VkExportSemaphoreWin32HandleInfoKHR*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR: |
| { |
| marshal_VkD3D12FenceSubmitInfoKHR(vkStream, reinterpret_cast<const VkD3D12FenceSubmitInfoKHR*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_KHR_push_descriptor |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR: |
| { |
| marshal_VkPhysicalDevicePushDescriptorPropertiesKHR(vkStream, reinterpret_cast<const VkPhysicalDevicePushDescriptorPropertiesKHR*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_KHR_incremental_present |
| case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: |
| { |
| marshal_VkPresentRegionsKHR(vkStream, reinterpret_cast<const VkPresentRegionsKHR*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_KHR_shared_presentable_image |
| case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR: |
| { |
| marshal_VkSharedPresentSurfaceCapabilitiesKHR(vkStream, reinterpret_cast<const VkSharedPresentSurfaceCapabilitiesKHR*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_KHR_external_fence_win32 |
| case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR: |
| { |
| marshal_VkExportFenceWin32HandleInfoKHR(vkStream, reinterpret_cast<const VkExportFenceWin32HandleInfoKHR*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_KHR_image_format_list |
| case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR: |
| { |
| marshal_VkImageFormatListCreateInfoKHR(vkStream, reinterpret_cast<const VkImageFormatListCreateInfoKHR*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_KHR_8bit_storage |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR: |
| { |
| marshal_VkPhysicalDevice8BitStorageFeaturesKHR(vkStream, reinterpret_cast<const VkPhysicalDevice8BitStorageFeaturesKHR*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_ANDROID_native_buffer |
| case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID: |
| { |
| marshal_VkNativeBufferANDROID(vkStream, reinterpret_cast<const VkNativeBufferANDROID*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_debug_report |
| case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT: |
| { |
| marshal_VkDebugReportCallbackCreateInfoEXT(vkStream, reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_AMD_rasterization_order |
| case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD: |
| { |
| marshal_VkPipelineRasterizationStateRasterizationOrderAMD(vkStream, reinterpret_cast<const VkPipelineRasterizationStateRasterizationOrderAMD*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_NV_dedicated_allocation |
| case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV: |
| { |
| marshal_VkDedicatedAllocationImageCreateInfoNV(vkStream, reinterpret_cast<const VkDedicatedAllocationImageCreateInfoNV*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV: |
| { |
| marshal_VkDedicatedAllocationBufferCreateInfoNV(vkStream, reinterpret_cast<const VkDedicatedAllocationBufferCreateInfoNV*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV: |
| { |
| marshal_VkDedicatedAllocationMemoryAllocateInfoNV(vkStream, reinterpret_cast<const VkDedicatedAllocationMemoryAllocateInfoNV*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_AMD_texture_gather_bias_lod |
| case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD: |
| { |
| marshal_VkTextureLODGatherFormatPropertiesAMD(vkStream, reinterpret_cast<const VkTextureLODGatherFormatPropertiesAMD*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_NV_external_memory |
| case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV: |
| { |
| marshal_VkExternalMemoryImageCreateInfoNV(vkStream, reinterpret_cast<const VkExternalMemoryImageCreateInfoNV*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV: |
| { |
| marshal_VkExportMemoryAllocateInfoNV(vkStream, reinterpret_cast<const VkExportMemoryAllocateInfoNV*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_NV_external_memory_win32 |
| case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV: |
| { |
| marshal_VkImportMemoryWin32HandleInfoNV(vkStream, reinterpret_cast<const VkImportMemoryWin32HandleInfoNV*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV: |
| { |
| marshal_VkExportMemoryWin32HandleInfoNV(vkStream, reinterpret_cast<const VkExportMemoryWin32HandleInfoNV*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_NV_win32_keyed_mutex |
| case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV: |
| { |
| marshal_VkWin32KeyedMutexAcquireReleaseInfoNV(vkStream, reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoNV*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_validation_flags |
| case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT: |
| { |
| marshal_VkValidationFlagsEXT(vkStream, reinterpret_cast<const VkValidationFlagsEXT*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_conditional_rendering |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT: |
| { |
| marshal_VkPhysicalDeviceConditionalRenderingFeaturesEXT(vkStream, reinterpret_cast<const VkPhysicalDeviceConditionalRenderingFeaturesEXT*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT: |
| { |
| marshal_VkCommandBufferInheritanceConditionalRenderingInfoEXT(vkStream, reinterpret_cast<const VkCommandBufferInheritanceConditionalRenderingInfoEXT*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_NV_clip_space_w_scaling |
| case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV: |
| { |
| marshal_VkPipelineViewportWScalingStateCreateInfoNV(vkStream, reinterpret_cast<const VkPipelineViewportWScalingStateCreateInfoNV*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_display_control |
| case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT: |
| { |
| marshal_VkSwapchainCounterCreateInfoEXT(vkStream, reinterpret_cast<const VkSwapchainCounterCreateInfoEXT*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_GOOGLE_display_timing |
| case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE: |
| { |
| marshal_VkPresentTimesInfoGOOGLE(vkStream, reinterpret_cast<const VkPresentTimesInfoGOOGLE*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_NVX_multiview_per_view_attributes |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX: |
| { |
| marshal_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(vkStream, reinterpret_cast<const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_NV_viewport_swizzle |
| case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV: |
| { |
| marshal_VkPipelineViewportSwizzleStateCreateInfoNV(vkStream, reinterpret_cast<const VkPipelineViewportSwizzleStateCreateInfoNV*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_discard_rectangles |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT: |
| { |
| marshal_VkPhysicalDeviceDiscardRectanglePropertiesEXT(vkStream, reinterpret_cast<const VkPhysicalDeviceDiscardRectanglePropertiesEXT*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT: |
| { |
| marshal_VkPipelineDiscardRectangleStateCreateInfoEXT(vkStream, reinterpret_cast<const VkPipelineDiscardRectangleStateCreateInfoEXT*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_conservative_rasterization |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT: |
| { |
| marshal_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(vkStream, reinterpret_cast<const VkPhysicalDeviceConservativeRasterizationPropertiesEXT*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT: |
| { |
| marshal_VkPipelineRasterizationConservativeStateCreateInfoEXT(vkStream, reinterpret_cast<const VkPipelineRasterizationConservativeStateCreateInfoEXT*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_debug_utils |
| case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: |
| { |
| marshal_VkDebugUtilsMessengerCreateInfoEXT(vkStream, reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_ANDROID_external_memory_android_hardware_buffer |
| case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID: |
| { |
| marshal_VkAndroidHardwareBufferUsageANDROID(vkStream, reinterpret_cast<const VkAndroidHardwareBufferUsageANDROID*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID: |
| { |
| marshal_VkAndroidHardwareBufferFormatPropertiesANDROID(vkStream, reinterpret_cast<const VkAndroidHardwareBufferFormatPropertiesANDROID*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: |
| { |
| marshal_VkImportAndroidHardwareBufferInfoANDROID(vkStream, reinterpret_cast<const VkImportAndroidHardwareBufferInfoANDROID*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID: |
| { |
| marshal_VkExternalFormatANDROID(vkStream, reinterpret_cast<const VkExternalFormatANDROID*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_sampler_filter_minmax |
| case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT: |
| { |
| marshal_VkSamplerReductionModeCreateInfoEXT(vkStream, reinterpret_cast<const VkSamplerReductionModeCreateInfoEXT*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT: |
| { |
| marshal_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(vkStream, reinterpret_cast<const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_sample_locations |
| case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT: |
| { |
| marshal_VkSampleLocationsInfoEXT(vkStream, reinterpret_cast<const VkSampleLocationsInfoEXT*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT: |
| { |
| marshal_VkRenderPassSampleLocationsBeginInfoEXT(vkStream, reinterpret_cast<const VkRenderPassSampleLocationsBeginInfoEXT*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT: |
| { |
| marshal_VkPipelineSampleLocationsStateCreateInfoEXT(vkStream, reinterpret_cast<const VkPipelineSampleLocationsStateCreateInfoEXT*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT: |
| { |
| marshal_VkPhysicalDeviceSampleLocationsPropertiesEXT(vkStream, reinterpret_cast<const VkPhysicalDeviceSampleLocationsPropertiesEXT*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_blend_operation_advanced |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT: |
| { |
| marshal_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(vkStream, reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT: |
| { |
| marshal_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(vkStream, reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT: |
| { |
| marshal_VkPipelineColorBlendAdvancedStateCreateInfoEXT(vkStream, reinterpret_cast<const VkPipelineColorBlendAdvancedStateCreateInfoEXT*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_NV_fragment_coverage_to_color |
| case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV: |
| { |
| marshal_VkPipelineCoverageToColorStateCreateInfoNV(vkStream, reinterpret_cast<const VkPipelineCoverageToColorStateCreateInfoNV*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_NV_framebuffer_mixed_samples |
| case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV: |
| { |
| marshal_VkPipelineCoverageModulationStateCreateInfoNV(vkStream, reinterpret_cast<const VkPipelineCoverageModulationStateCreateInfoNV*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_validation_cache |
| case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT: |
| { |
| marshal_VkShaderModuleValidationCacheCreateInfoEXT(vkStream, reinterpret_cast<const VkShaderModuleValidationCacheCreateInfoEXT*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_descriptor_indexing |
| case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT: |
| { |
| marshal_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(vkStream, reinterpret_cast<const VkDescriptorSetLayoutBindingFlagsCreateInfoEXT*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT: |
| { |
| marshal_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(vkStream, reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingFeaturesEXT*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT: |
| { |
| marshal_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(vkStream, reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingPropertiesEXT*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT: |
| { |
| marshal_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(vkStream, reinterpret_cast<const VkDescriptorSetVariableDescriptorCountAllocateInfoEXT*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT: |
| { |
| marshal_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(vkStream, reinterpret_cast<const VkDescriptorSetVariableDescriptorCountLayoutSupportEXT*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_global_priority |
| case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT: |
| { |
| marshal_VkDeviceQueueGlobalPriorityCreateInfoEXT(vkStream, reinterpret_cast<const VkDeviceQueueGlobalPriorityCreateInfoEXT*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_external_memory_host |
| case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: |
| { |
| marshal_VkImportMemoryHostPointerInfoEXT(vkStream, reinterpret_cast<const VkImportMemoryHostPointerInfoEXT*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT: |
| { |
| marshal_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(vkStream, reinterpret_cast<const VkPhysicalDeviceExternalMemoryHostPropertiesEXT*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_AMD_shader_core_properties |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD: |
| { |
| marshal_VkPhysicalDeviceShaderCorePropertiesAMD(vkStream, reinterpret_cast<const VkPhysicalDeviceShaderCorePropertiesAMD*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_vertex_attribute_divisor |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: |
| { |
| marshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(vkStream, reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT: |
| { |
| marshal_VkPipelineVertexInputDivisorStateCreateInfoEXT(vkStream, reinterpret_cast<const VkPipelineVertexInputDivisorStateCreateInfoEXT*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_NV_device_diagnostic_checkpoints |
| case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV: |
| { |
| marshal_VkQueueFamilyCheckpointPropertiesNV(vkStream, reinterpret_cast<const VkQueueFamilyCheckpointPropertiesNV*>(structExtension)); |
| break; |
| } |
| #endif |
| #ifdef VK_GOOGLE_color_buffer |
| case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE: |
| { |
| marshal_VkImportColorBufferGOOGLE(vkStream, reinterpret_cast<const VkImportColorBufferGOOGLE*>(structExtension)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_IMPORT_PHYSICAL_ADDRESS_GOOGLE: |
| { |
| marshal_VkImportPhysicalAddressGOOGLE(vkStream, reinterpret_cast<const VkImportPhysicalAddressGOOGLE*>(structExtension)); |
| break; |
| } |
| #endif |
| default: |
| { |
| return; |
| } |
| } |
| } |
| |
| void unmarshal_extension_struct( |
| VulkanStreamGuest* vkStream, |
| void* structExtension_out) |
| { |
| if (!structExtension_out) |
| { |
| return; |
| } |
| uint32_t structType = (uint32_t)goldfish_vk_struct_type(structExtension_out); |
| switch(structType) |
| { |
| #ifdef VK_VERSION_1_1 |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: |
| { |
| unmarshal_VkPhysicalDeviceSubgroupProperties(vkStream, reinterpret_cast<VkPhysicalDeviceSubgroupProperties*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: |
| { |
| unmarshal_VkPhysicalDevice16BitStorageFeatures(vkStream, reinterpret_cast<VkPhysicalDevice16BitStorageFeatures*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: |
| { |
| unmarshal_VkMemoryDedicatedRequirements(vkStream, reinterpret_cast<VkMemoryDedicatedRequirements*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: |
| { |
| unmarshal_VkMemoryDedicatedAllocateInfo(vkStream, reinterpret_cast<VkMemoryDedicatedAllocateInfo*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: |
| { |
| unmarshal_VkMemoryAllocateFlagsInfo(vkStream, reinterpret_cast<VkMemoryAllocateFlagsInfo*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: |
| { |
| unmarshal_VkDeviceGroupRenderPassBeginInfo(vkStream, reinterpret_cast<VkDeviceGroupRenderPassBeginInfo*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: |
| { |
| unmarshal_VkDeviceGroupCommandBufferBeginInfo(vkStream, reinterpret_cast<VkDeviceGroupCommandBufferBeginInfo*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: |
| { |
| unmarshal_VkDeviceGroupSubmitInfo(vkStream, reinterpret_cast<VkDeviceGroupSubmitInfo*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: |
| { |
| unmarshal_VkDeviceGroupBindSparseInfo(vkStream, reinterpret_cast<VkDeviceGroupBindSparseInfo*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: |
| { |
| unmarshal_VkBindBufferMemoryDeviceGroupInfo(vkStream, reinterpret_cast<VkBindBufferMemoryDeviceGroupInfo*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: |
| { |
| unmarshal_VkBindImageMemoryDeviceGroupInfo(vkStream, reinterpret_cast<VkBindImageMemoryDeviceGroupInfo*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: |
| { |
| unmarshal_VkDeviceGroupDeviceCreateInfo(vkStream, reinterpret_cast<VkDeviceGroupDeviceCreateInfo*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: |
| { |
| unmarshal_VkPhysicalDeviceFeatures2(vkStream, reinterpret_cast<VkPhysicalDeviceFeatures2*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: |
| { |
| unmarshal_VkPhysicalDevicePointClippingProperties(vkStream, reinterpret_cast<VkPhysicalDevicePointClippingProperties*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: |
| { |
| unmarshal_VkRenderPassInputAttachmentAspectCreateInfo(vkStream, reinterpret_cast<VkRenderPassInputAttachmentAspectCreateInfo*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: |
| { |
| unmarshal_VkImageViewUsageCreateInfo(vkStream, reinterpret_cast<VkImageViewUsageCreateInfo*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: |
| { |
| unmarshal_VkPipelineTessellationDomainOriginStateCreateInfo(vkStream, reinterpret_cast<VkPipelineTessellationDomainOriginStateCreateInfo*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: |
| { |
| unmarshal_VkRenderPassMultiviewCreateInfo(vkStream, reinterpret_cast<VkRenderPassMultiviewCreateInfo*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: |
| { |
| unmarshal_VkPhysicalDeviceMultiviewFeatures(vkStream, reinterpret_cast<VkPhysicalDeviceMultiviewFeatures*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: |
| { |
| unmarshal_VkPhysicalDeviceMultiviewProperties(vkStream, reinterpret_cast<VkPhysicalDeviceMultiviewProperties*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES: |
| { |
| unmarshal_VkPhysicalDeviceVariablePointerFeatures(vkStream, reinterpret_cast<VkPhysicalDeviceVariablePointerFeatures*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: |
| { |
| unmarshal_VkPhysicalDeviceProtectedMemoryFeatures(vkStream, reinterpret_cast<VkPhysicalDeviceProtectedMemoryFeatures*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: |
| { |
| unmarshal_VkPhysicalDeviceProtectedMemoryProperties(vkStream, reinterpret_cast<VkPhysicalDeviceProtectedMemoryProperties*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: |
| { |
| unmarshal_VkProtectedSubmitInfo(vkStream, reinterpret_cast<VkProtectedSubmitInfo*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: |
| { |
| unmarshal_VkSamplerYcbcrConversionInfo(vkStream, reinterpret_cast<VkSamplerYcbcrConversionInfo*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: |
| { |
| unmarshal_VkBindImagePlaneMemoryInfo(vkStream, reinterpret_cast<VkBindImagePlaneMemoryInfo*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: |
| { |
| unmarshal_VkImagePlaneMemoryRequirementsInfo(vkStream, reinterpret_cast<VkImagePlaneMemoryRequirementsInfo*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: |
| { |
| unmarshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(vkStream, reinterpret_cast<VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: |
| { |
| unmarshal_VkSamplerYcbcrConversionImageFormatProperties(vkStream, reinterpret_cast<VkSamplerYcbcrConversionImageFormatProperties*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: |
| { |
| unmarshal_VkPhysicalDeviceExternalImageFormatInfo(vkStream, reinterpret_cast<VkPhysicalDeviceExternalImageFormatInfo*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: |
| { |
| unmarshal_VkExternalImageFormatProperties(vkStream, reinterpret_cast<VkExternalImageFormatProperties*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: |
| { |
| unmarshal_VkPhysicalDeviceIDProperties(vkStream, reinterpret_cast<VkPhysicalDeviceIDProperties*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: |
| { |
| unmarshal_VkExternalMemoryImageCreateInfo(vkStream, reinterpret_cast<VkExternalMemoryImageCreateInfo*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: |
| { |
| unmarshal_VkExternalMemoryBufferCreateInfo(vkStream, reinterpret_cast<VkExternalMemoryBufferCreateInfo*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: |
| { |
| unmarshal_VkExportMemoryAllocateInfo(vkStream, reinterpret_cast<VkExportMemoryAllocateInfo*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: |
| { |
| unmarshal_VkExportFenceCreateInfo(vkStream, reinterpret_cast<VkExportFenceCreateInfo*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: |
| { |
| unmarshal_VkExportSemaphoreCreateInfo(vkStream, reinterpret_cast<VkExportSemaphoreCreateInfo*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: |
| { |
| unmarshal_VkPhysicalDeviceMaintenance3Properties(vkStream, reinterpret_cast<VkPhysicalDeviceMaintenance3Properties*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES: |
| { |
| unmarshal_VkPhysicalDeviceShaderDrawParameterFeatures(vkStream, reinterpret_cast<VkPhysicalDeviceShaderDrawParameterFeatures*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_KHR_swapchain |
| case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: |
| { |
| unmarshal_VkImageSwapchainCreateInfoKHR(vkStream, reinterpret_cast<VkImageSwapchainCreateInfoKHR*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR: |
| { |
| unmarshal_VkBindImageMemorySwapchainInfoKHR(vkStream, reinterpret_cast<VkBindImageMemorySwapchainInfoKHR*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR: |
| { |
| unmarshal_VkDeviceGroupPresentInfoKHR(vkStream, reinterpret_cast<VkDeviceGroupPresentInfoKHR*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR: |
| { |
| unmarshal_VkDeviceGroupSwapchainCreateInfoKHR(vkStream, reinterpret_cast<VkDeviceGroupSwapchainCreateInfoKHR*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_KHR_display_swapchain |
| case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR: |
| { |
| unmarshal_VkDisplayPresentInfoKHR(vkStream, reinterpret_cast<VkDisplayPresentInfoKHR*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_KHR_external_memory_win32 |
| case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR: |
| { |
| unmarshal_VkImportMemoryWin32HandleInfoKHR(vkStream, reinterpret_cast<VkImportMemoryWin32HandleInfoKHR*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR: |
| { |
| unmarshal_VkExportMemoryWin32HandleInfoKHR(vkStream, reinterpret_cast<VkExportMemoryWin32HandleInfoKHR*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_KHR_external_memory_fd |
| case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR: |
| { |
| unmarshal_VkImportMemoryFdInfoKHR(vkStream, reinterpret_cast<VkImportMemoryFdInfoKHR*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_KHR_win32_keyed_mutex |
| case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR: |
| { |
| unmarshal_VkWin32KeyedMutexAcquireReleaseInfoKHR(vkStream, reinterpret_cast<VkWin32KeyedMutexAcquireReleaseInfoKHR*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_KHR_external_semaphore_win32 |
| case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR: |
| { |
| unmarshal_VkExportSemaphoreWin32HandleInfoKHR(vkStream, reinterpret_cast<VkExportSemaphoreWin32HandleInfoKHR*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR: |
| { |
| unmarshal_VkD3D12FenceSubmitInfoKHR(vkStream, reinterpret_cast<VkD3D12FenceSubmitInfoKHR*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_KHR_push_descriptor |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR: |
| { |
| unmarshal_VkPhysicalDevicePushDescriptorPropertiesKHR(vkStream, reinterpret_cast<VkPhysicalDevicePushDescriptorPropertiesKHR*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_KHR_incremental_present |
| case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: |
| { |
| unmarshal_VkPresentRegionsKHR(vkStream, reinterpret_cast<VkPresentRegionsKHR*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_KHR_shared_presentable_image |
| case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR: |
| { |
| unmarshal_VkSharedPresentSurfaceCapabilitiesKHR(vkStream, reinterpret_cast<VkSharedPresentSurfaceCapabilitiesKHR*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_KHR_external_fence_win32 |
| case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR: |
| { |
| unmarshal_VkExportFenceWin32HandleInfoKHR(vkStream, reinterpret_cast<VkExportFenceWin32HandleInfoKHR*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_KHR_image_format_list |
| case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR: |
| { |
| unmarshal_VkImageFormatListCreateInfoKHR(vkStream, reinterpret_cast<VkImageFormatListCreateInfoKHR*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_KHR_8bit_storage |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR: |
| { |
| unmarshal_VkPhysicalDevice8BitStorageFeaturesKHR(vkStream, reinterpret_cast<VkPhysicalDevice8BitStorageFeaturesKHR*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_ANDROID_native_buffer |
| case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID: |
| { |
| unmarshal_VkNativeBufferANDROID(vkStream, reinterpret_cast<VkNativeBufferANDROID*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_debug_report |
| case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT: |
| { |
| unmarshal_VkDebugReportCallbackCreateInfoEXT(vkStream, reinterpret_cast<VkDebugReportCallbackCreateInfoEXT*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_AMD_rasterization_order |
| case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD: |
| { |
| unmarshal_VkPipelineRasterizationStateRasterizationOrderAMD(vkStream, reinterpret_cast<VkPipelineRasterizationStateRasterizationOrderAMD*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_NV_dedicated_allocation |
| case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV: |
| { |
| unmarshal_VkDedicatedAllocationImageCreateInfoNV(vkStream, reinterpret_cast<VkDedicatedAllocationImageCreateInfoNV*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV: |
| { |
| unmarshal_VkDedicatedAllocationBufferCreateInfoNV(vkStream, reinterpret_cast<VkDedicatedAllocationBufferCreateInfoNV*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV: |
| { |
| unmarshal_VkDedicatedAllocationMemoryAllocateInfoNV(vkStream, reinterpret_cast<VkDedicatedAllocationMemoryAllocateInfoNV*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_AMD_texture_gather_bias_lod |
| case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD: |
| { |
| unmarshal_VkTextureLODGatherFormatPropertiesAMD(vkStream, reinterpret_cast<VkTextureLODGatherFormatPropertiesAMD*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_NV_external_memory |
| case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV: |
| { |
| unmarshal_VkExternalMemoryImageCreateInfoNV(vkStream, reinterpret_cast<VkExternalMemoryImageCreateInfoNV*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV: |
| { |
| unmarshal_VkExportMemoryAllocateInfoNV(vkStream, reinterpret_cast<VkExportMemoryAllocateInfoNV*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_NV_external_memory_win32 |
| case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV: |
| { |
| unmarshal_VkImportMemoryWin32HandleInfoNV(vkStream, reinterpret_cast<VkImportMemoryWin32HandleInfoNV*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV: |
| { |
| unmarshal_VkExportMemoryWin32HandleInfoNV(vkStream, reinterpret_cast<VkExportMemoryWin32HandleInfoNV*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_NV_win32_keyed_mutex |
| case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV: |
| { |
| unmarshal_VkWin32KeyedMutexAcquireReleaseInfoNV(vkStream, reinterpret_cast<VkWin32KeyedMutexAcquireReleaseInfoNV*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_validation_flags |
| case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT: |
| { |
| unmarshal_VkValidationFlagsEXT(vkStream, reinterpret_cast<VkValidationFlagsEXT*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_conditional_rendering |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT: |
| { |
| unmarshal_VkPhysicalDeviceConditionalRenderingFeaturesEXT(vkStream, reinterpret_cast<VkPhysicalDeviceConditionalRenderingFeaturesEXT*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT: |
| { |
| unmarshal_VkCommandBufferInheritanceConditionalRenderingInfoEXT(vkStream, 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: |
| { |
| unmarshal_VkPipelineViewportWScalingStateCreateInfoNV(vkStream, reinterpret_cast<VkPipelineViewportWScalingStateCreateInfoNV*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_display_control |
| case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT: |
| { |
| unmarshal_VkSwapchainCounterCreateInfoEXT(vkStream, reinterpret_cast<VkSwapchainCounterCreateInfoEXT*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_GOOGLE_display_timing |
| case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE: |
| { |
| unmarshal_VkPresentTimesInfoGOOGLE(vkStream, 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: |
| { |
| unmarshal_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(vkStream, reinterpret_cast<VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_NV_viewport_swizzle |
| case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV: |
| { |
| unmarshal_VkPipelineViewportSwizzleStateCreateInfoNV(vkStream, reinterpret_cast<VkPipelineViewportSwizzleStateCreateInfoNV*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_discard_rectangles |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT: |
| { |
| unmarshal_VkPhysicalDeviceDiscardRectanglePropertiesEXT(vkStream, reinterpret_cast<VkPhysicalDeviceDiscardRectanglePropertiesEXT*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT: |
| { |
| unmarshal_VkPipelineDiscardRectangleStateCreateInfoEXT(vkStream, reinterpret_cast<VkPipelineDiscardRectangleStateCreateInfoEXT*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_conservative_rasterization |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT: |
| { |
| unmarshal_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(vkStream, reinterpret_cast<VkPhysicalDeviceConservativeRasterizationPropertiesEXT*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT: |
| { |
| unmarshal_VkPipelineRasterizationConservativeStateCreateInfoEXT(vkStream, reinterpret_cast<VkPipelineRasterizationConservativeStateCreateInfoEXT*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_debug_utils |
| case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: |
| { |
| unmarshal_VkDebugUtilsMessengerCreateInfoEXT(vkStream, reinterpret_cast<VkDebugUtilsMessengerCreateInfoEXT*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_ANDROID_external_memory_android_hardware_buffer |
| case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID: |
| { |
| unmarshal_VkAndroidHardwareBufferUsageANDROID(vkStream, reinterpret_cast<VkAndroidHardwareBufferUsageANDROID*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID: |
| { |
| unmarshal_VkAndroidHardwareBufferFormatPropertiesANDROID(vkStream, reinterpret_cast<VkAndroidHardwareBufferFormatPropertiesANDROID*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: |
| { |
| unmarshal_VkImportAndroidHardwareBufferInfoANDROID(vkStream, reinterpret_cast<VkImportAndroidHardwareBufferInfoANDROID*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID: |
| { |
| unmarshal_VkExternalFormatANDROID(vkStream, reinterpret_cast<VkExternalFormatANDROID*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_sampler_filter_minmax |
| case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT: |
| { |
| unmarshal_VkSamplerReductionModeCreateInfoEXT(vkStream, reinterpret_cast<VkSamplerReductionModeCreateInfoEXT*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT: |
| { |
| unmarshal_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(vkStream, reinterpret_cast<VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_sample_locations |
| case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT: |
| { |
| unmarshal_VkSampleLocationsInfoEXT(vkStream, reinterpret_cast<VkSampleLocationsInfoEXT*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT: |
| { |
| unmarshal_VkRenderPassSampleLocationsBeginInfoEXT(vkStream, reinterpret_cast<VkRenderPassSampleLocationsBeginInfoEXT*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT: |
| { |
| unmarshal_VkPipelineSampleLocationsStateCreateInfoEXT(vkStream, reinterpret_cast<VkPipelineSampleLocationsStateCreateInfoEXT*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT: |
| { |
| unmarshal_VkPhysicalDeviceSampleLocationsPropertiesEXT(vkStream, reinterpret_cast<VkPhysicalDeviceSampleLocationsPropertiesEXT*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_blend_operation_advanced |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT: |
| { |
| unmarshal_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(vkStream, reinterpret_cast<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT: |
| { |
| unmarshal_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(vkStream, reinterpret_cast<VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT: |
| { |
| unmarshal_VkPipelineColorBlendAdvancedStateCreateInfoEXT(vkStream, 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: |
| { |
| unmarshal_VkPipelineCoverageToColorStateCreateInfoNV(vkStream, reinterpret_cast<VkPipelineCoverageToColorStateCreateInfoNV*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_NV_framebuffer_mixed_samples |
| case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV: |
| { |
| unmarshal_VkPipelineCoverageModulationStateCreateInfoNV(vkStream, reinterpret_cast<VkPipelineCoverageModulationStateCreateInfoNV*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_validation_cache |
| case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT: |
| { |
| unmarshal_VkShaderModuleValidationCacheCreateInfoEXT(vkStream, reinterpret_cast<VkShaderModuleValidationCacheCreateInfoEXT*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_descriptor_indexing |
| case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT: |
| { |
| unmarshal_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(vkStream, reinterpret_cast<VkDescriptorSetLayoutBindingFlagsCreateInfoEXT*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT: |
| { |
| unmarshal_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(vkStream, reinterpret_cast<VkPhysicalDeviceDescriptorIndexingFeaturesEXT*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT: |
| { |
| unmarshal_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(vkStream, reinterpret_cast<VkPhysicalDeviceDescriptorIndexingPropertiesEXT*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT: |
| { |
| unmarshal_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(vkStream, reinterpret_cast<VkDescriptorSetVariableDescriptorCountAllocateInfoEXT*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT: |
| { |
| unmarshal_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(vkStream, reinterpret_cast<VkDescriptorSetVariableDescriptorCountLayoutSupportEXT*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_global_priority |
| case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT: |
| { |
| unmarshal_VkDeviceQueueGlobalPriorityCreateInfoEXT(vkStream, reinterpret_cast<VkDeviceQueueGlobalPriorityCreateInfoEXT*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_external_memory_host |
| case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: |
| { |
| unmarshal_VkImportMemoryHostPointerInfoEXT(vkStream, reinterpret_cast<VkImportMemoryHostPointerInfoEXT*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT: |
| { |
| unmarshal_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(vkStream, reinterpret_cast<VkPhysicalDeviceExternalMemoryHostPropertiesEXT*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_AMD_shader_core_properties |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD: |
| { |
| unmarshal_VkPhysicalDeviceShaderCorePropertiesAMD(vkStream, reinterpret_cast<VkPhysicalDeviceShaderCorePropertiesAMD*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_EXT_vertex_attribute_divisor |
| case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: |
| { |
| unmarshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(vkStream, reinterpret_cast<VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT: |
| { |
| unmarshal_VkPipelineVertexInputDivisorStateCreateInfoEXT(vkStream, reinterpret_cast<VkPipelineVertexInputDivisorStateCreateInfoEXT*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_NV_device_diagnostic_checkpoints |
| case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV: |
| { |
| unmarshal_VkQueueFamilyCheckpointPropertiesNV(vkStream, reinterpret_cast<VkQueueFamilyCheckpointPropertiesNV*>(structExtension_out)); |
| break; |
| } |
| #endif |
| #ifdef VK_GOOGLE_color_buffer |
| case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE: |
| { |
| unmarshal_VkImportColorBufferGOOGLE(vkStream, reinterpret_cast<VkImportColorBufferGOOGLE*>(structExtension_out)); |
| break; |
| } |
| case VK_STRUCTURE_TYPE_IMPORT_PHYSICAL_ADDRESS_GOOGLE: |
| { |
| unmarshal_VkImportPhysicalAddressGOOGLE(vkStream, reinterpret_cast<VkImportPhysicalAddressGOOGLE*>(structExtension_out)); |
| break; |
| } |
| #endif |
| default: |
| { |
| return; |
| } |
| } |
| } |
| |
| const char* api_opcode_to_string( |
| const uint32_t opcode) |
| { |
| switch(opcode) |
| { |
| #ifdef VK_VERSION_1_0 |
| case OP_vkCreateInstance: |
| { |
| return "OP_vkCreateInstance"; |
| } |
| case OP_vkDestroyInstance: |
| { |
| return "OP_vkDestroyInstance"; |
| } |
| case OP_vkEnumeratePhysicalDevices: |
| { |
| return "OP_vkEnumeratePhysicalDevices"; |
| } |
| case OP_vkGetPhysicalDeviceFeatures: |
| { |
| return "OP_vkGetPhysicalDeviceFeatures"; |
| } |
| case OP_vkGetPhysicalDeviceFormatProperties: |
| { |
| return "OP_vkGetPhysicalDeviceFormatProperties"; |
| } |
| case OP_vkGetPhysicalDeviceImageFormatProperties: |
| { |
| return "OP_vkGetPhysicalDeviceImageFormatProperties"; |
| } |
| case OP_vkGetPhysicalDeviceProperties: |
| { |
| return "OP_vkGetPhysicalDeviceProperties"; |
| } |
| case OP_vkGetPhysicalDeviceQueueFamilyProperties: |
| { |
| return "OP_vkGetPhysicalDeviceQueueFamilyProperties"; |
| } |
| case OP_vkGetPhysicalDeviceMemoryProperties: |
| { |
| return "OP_vkGetPhysicalDeviceMemoryProperties"; |
| } |
| case OP_vkGetInstanceProcAddr: |
| { |
| return "OP_vkGetInstanceProcAddr"; |
| } |
| case OP_vkGetDeviceProcAddr: |
| { |
| return "OP_vkGetDeviceProcAddr"; |
| } |
| case OP_vkCreateDevice: |
| { |
| return "OP_vkCreateDevice"; |
| } |
| case OP_vkDestroyDevice: |
| { |
| return "OP_vkDestroyDevice"; |
| } |
| case OP_vkEnumerateInstanceExtensionProperties: |
| { |
| return "OP_vkEnumerateInstanceExtensionProperties"; |
| } |
| case OP_vkEnumerateDeviceExtensionProperties: |
| { |
| return "OP_vkEnumerateDeviceExtensionProperties"; |
| } |
| case OP_vkEnumerateInstanceLayerProperties: |
| { |
| return "OP_vkEnumerateInstanceLayerProperties"; |
| } |
| case OP_vkEnumerateDeviceLayerProperties: |
| { |
| return "OP_vkEnumerateDeviceLayerProperties"; |
| } |
| case OP_vkGetDeviceQueue: |
| { |
| return "OP_vkGetDeviceQueue"; |
| } |
| case OP_vkQueueSubmit: |
| { |
| return "OP_vkQueueSubmit"; |
| } |
| case OP_vkQueueWaitIdle: |
| { |
| return "OP_vkQueueWaitIdle"; |
| } |
| case OP_vkDeviceWaitIdle: |
| { |
| return "OP_vkDeviceWaitIdle"; |
| } |
| case OP_vkAllocateMemory: |
| { |
| return "OP_vkAllocateMemory"; |
| } |
| case OP_vkFreeMemory: |
| { |
| return "OP_vkFreeMemory"; |
| } |
| case OP_vkMapMemory: |
| { |
| return "OP_vkMapMemory"; |
| } |
| case OP_vkUnmapMemory: |
| { |
| return "OP_vkUnmapMemory"; |
| } |
| case OP_vkFlushMappedMemoryRanges: |
| { |
| return "OP_vkFlushMappedMemoryRanges"; |
| } |
| case OP_vkInvalidateMappedMemoryRanges: |
| { |
| return "OP_vkInvalidateMappedMemoryRanges"; |
| } |
| case OP_vkGetDeviceMemoryCommitment: |
| { |
| return "OP_vkGetDeviceMemoryCommitment"; |
| } |
| case OP_vkBindBufferMemory: |
| { |
| return "OP_vkBindBufferMemory"; |
| } |
| case OP_vkBindImageMemory: |
| { |
| return "OP_vkBindImageMemory"; |
| } |
| case OP_vkGetBufferMemoryRequirements: |
| { |
| return "OP_vkGetBufferMemoryRequirements"; |
| } |
| case OP_vkGetImageMemoryRequirements: |
| { |
| return "OP_vkGetImageMemoryRequirements"; |
| } |
| case OP_vkGetImageSparseMemoryRequirements: |
| { |
| return "OP_vkGetImageSparseMemoryRequirements"; |
| } |
| case OP_vkGetPhysicalDeviceSparseImageFormatProperties: |
| { |
| return "OP_vkGetPhysicalDeviceSparseImageFormatProperties"; |
| } |
| case OP_vkQueueBindSparse: |
| { |
| return "OP_vkQueueBindSparse"; |
| } |
| case OP_vkCreateFence: |
| { |
| return "OP_vkCreateFence"; |
| } |
| case OP_vkDestroyFence: |
| { |
| return "OP_vkDestroyFence"; |
| } |
| case OP_vkResetFences: |
| { |
| return "OP_vkResetFences"; |
| } |
| case OP_vkGetFenceStatus: |
| { |
| return "OP_vkGetFenceStatus"; |
| } |
| case OP_vkWaitForFences: |
| { |
| return "OP_vkWaitForFences"; |
| } |
| case OP_vkCreateSemaphore: |
| { |
| return "OP_vkCreateSemaphore"; |
| } |
| case OP_vkDestroySemaphore: |
| { |
| return "OP_vkDestroySemaphore"; |
| } |
| case OP_vkCreateEvent: |
| { |
| return "OP_vkCreateEvent"; |
| } |
| case OP_vkDestroyEvent: |
| { |
| return "OP_vkDestroyEvent"; |
| } |
| case OP_vkGetEventStatus: |
| { |
| return "OP_vkGetEventStatus"; |
| } |
| case OP_vkSetEvent: |
| { |
| return "OP_vkSetEvent"; |
| } |
| case OP_vkResetEvent: |
| { |
| return "OP_vkResetEvent"; |
| } |
| case OP_vkCreateQueryPool: |
| { |
| return "OP_vkCreateQueryPool"; |
| } |
| case OP_vkDestroyQueryPool: |
| { |
| return "OP_vkDestroyQueryPool"; |
| } |
| case OP_vkGetQueryPoolResults: |
| { |
| return "OP_vkGetQueryPoolResults"; |
| } |
| case OP_vkCreateBuffer: |
| { |
| return "OP_vkCreateBuffer"; |
| } |
| case OP_vkDestroyBuffer: |
| { |
| return "OP_vkDestroyBuffer"; |
| } |
| case OP_vkCreateBufferView: |
| { |
| return "OP_vkCreateBufferView"; |
| } |
| case OP_vkDestroyBufferView: |
| { |
| return "OP_vkDestroyBufferView"; |
| } |
| case OP_vkCreateImage: |
| { |
| return "OP_vkCreateImage"; |
| } |
| case OP_vkDestroyImage: |
| { |
| return "OP_vkDestroyImage"; |
| } |
| case OP_vkGetImageSubresourceLayout: |
| { |
| return "OP_vkGetImageSubresourceLayout"; |
| } |
| case OP_vkCreateImageView: |
| { |
| return "OP_vkCreateImageView"; |
| } |
| case OP_vkDestroyImageView: |
| { |
| return "OP_vkDestroyImageView"; |
| } |
| case OP_vkCreateShaderModule: |
| { |
| return "OP_vkCreateShaderModule"; |
| } |
| case OP_vkDestroyShaderModule: |
| { |
| return "OP_vkDestroyShaderModule"; |
| } |
| case OP_vkCreatePipelineCache: |
| { |
| return "OP_vkCreatePipelineCache"; |
| } |
| case OP_vkDestroyPipelineCache: |
| { |
| return "OP_vkDestroyPipelineCache"; |
| } |
| case OP_vkGetPipelineCacheData: |
| { |
| return "OP_vkGetPipelineCacheData"; |
| } |
| case OP_vkMergePipelineCaches: |
| { |
| return "OP_vkMergePipelineCaches"; |
| } |
| case OP_vkCreateGraphicsPipelines: |
| { |
| return "OP_vkCreateGraphicsPipelines"; |
| } |
| case OP_vkCreateComputePipelines: |
| { |
| return "OP_vkCreateComputePipelines"; |
| } |
| case OP_vkDestroyPipeline: |
| { |
| return "OP_vkDestroyPipeline"; |
| } |
| case OP_vkCreatePipelineLayout: |
| { |
| return "OP_vkCreatePipelineLayout"; |
| } |
| case OP_vkDestroyPipelineLayout: |
| { |
| return "OP_vkDestroyPipelineLayout"; |
| } |
| case OP_vkCreateSampler: |
| { |
| return "OP_vkCreateSampler"; |
| } |
| case OP_vkDestroySampler: |
| { |
| return "OP_vkDestroySampler"; |
| } |
| case OP_vkCreateDescriptorSetLayout: |
| { |
| return "OP_vkCreateDescriptorSetLayout"; |
| } |
| case OP_vkDestroyDescriptorSetLayout: |
| { |
| return "OP_vkDestroyDescriptorSetLayout"; |
| } |
| case OP_vkCreateDescriptorPool: |
| { |
| return "OP_vkCreateDescriptorPool"; |
| } |
| case OP_vkDestroyDescriptorPool: |
| { |
| return "OP_vkDestroyDescriptorPool"; |
| } |
| case OP_vkResetDescriptorPool: |
| { |
| return "OP_vkResetDescriptorPool"; |
| } |
| case OP_vkAllocateDescriptorSets: |
| { |
| return "OP_vkAllocateDescriptorSets"; |
| } |
| case OP_vkFreeDescriptorSets: |
| { |
| return "OP_vkFreeDescriptorSets"; |
| } |
| case OP_vkUpdateDescriptorSets: |
| { |
| return "OP_vkUpdateDescriptorSets"; |
| } |
| case OP_vkCreateFramebuffer: |
| { |
| return "OP_vkCreateFramebuffer"; |
| } |
| case OP_vkDestroyFramebuffer: |
| { |
| return "OP_vkDestroyFramebuffer"; |
| } |
| case OP_vkCreateRenderPass: |
| { |
| return "OP_vkCreateRenderPass"; |
| } |
| case OP_vkDestroyRenderPass: |
| { |
| return "OP_vkDestroyRenderPass"; |
| } |
| case OP_vkGetRenderAreaGranularity: |
| { |
| return "OP_vkGetRenderAreaGranularity"; |
| } |
| case OP_vkCreateCommandPool: |
| { |
| return "OP_vkCreateCommandPool"; |
| } |
| case OP_vkDestroyCommandPool: |
| { |
| return "OP_vkDestroyCommandPool"; |
| } |
| case OP_vkResetCommandPool: |
| { |
| return "OP_vkResetCommandPool"; |
| } |
| case OP_vkAllocateCommandBuffers: |
| { |
| return "OP_vkAllocateCommandBuffers"; |
| } |
| case OP_vkFreeCommandBuffers: |
| { |
| return "OP_vkFreeCommandBuffers"; |
| } |
| case OP_vkBeginCommandBuffer: |
| { |
| return "OP_vkBeginCommandBuffer"; |
| } |
| case OP_vkEndCommandBuffer: |
| { |
| return "OP_vkEndCommandBuffer"; |
| } |
| case OP_vkResetCommandBuffer: |
| { |
| return "OP_vkResetCommandBuffer"; |
| } |
| case OP_vkCmdBindPipeline: |
| { |
| return "OP_vkCmdBindPipeline"; |
| } |
| case OP_vkCmdSetViewport: |
| { |
| return "OP_vkCmdSetViewport"; |
| } |
| case OP_vkCmdSetScissor: |
| { |
| return "OP_vkCmdSetScissor"; |
| } |
| case OP_vkCmdSetLineWidth: |
| { |
| return "OP_vkCmdSetLineWidth"; |
| } |
| case OP_vkCmdSetDepthBias: |
| { |
| return "OP_vkCmdSetDepthBias"; |
| } |
| case OP_vkCmdSetBlendConstants: |
| { |
| return "OP_vkCmdSetBlendConstants"; |
| } |
| case OP_vkCmdSetDepthBounds: |
| { |
| return "OP_vkCmdSetDepthBounds"; |
| } |
| case OP_vkCmdSetStencilCompareMask: |
| { |
| return "OP_vkCmdSetStencilCompareMask"; |
| } |
| case OP_vkCmdSetStencilWriteMask: |
| { |
| return "OP_vkCmdSetStencilWriteMask"; |
| } |
| case OP_vkCmdSetStencilReference: |
| { |
| return "OP_vkCmdSetStencilReference"; |
| } |
| case OP_vkCmdBindDescriptorSets: |
| { |
| return "OP_vkCmdBindDescriptorSets"; |
| } |
| case OP_vkCmdBindIndexBuffer: |
| { |
| return "OP_vkCmdBindIndexBuffer"; |
| } |
| case OP_vkCmdBindVertexBuffers: |
| { |
| return "OP_vkCmdBindVertexBuffers"; |
| } |
| case OP_vkCmdDraw: |
| { |
| return "OP_vkCmdDraw"; |
| } |
| case OP_vkCmdDrawIndexed: |
| { |
| return "OP_vkCmdDrawIndexed"; |
| } |
| case OP_vkCmdDrawIndirect: |
| { |
| return "OP_vkCmdDrawIndirect"; |
| } |
| case OP_vkCmdDrawIndexedIndirect: |
| { |
| return "OP_vkCmdDrawIndexedIndirect"; |
| } |
| case OP_vkCmdDispatch: |
| { |
| return "OP_vkCmdDispatch"; |
| } |
| case OP_vkCmdDispatchIndirect: |
| { |
| return "OP_vkCmdDispatchIndirect"; |
| } |
| case OP_vkCmdCopyBuffer: |
| { |
| return "OP_vkCmdCopyBuffer"; |
| } |
| case OP_vkCmdCopyImage: |
| { |
| return "OP_vkCmdCopyImage"; |
| } |
| case OP_vkCmdBlitImage: |
| { |
| return "OP_vkCmdBlitImage"; |
| } |
| case OP_vkCmdCopyBufferToImage: |
| { |
| return "OP_vkCmdCopyBufferToImage"; |
| } |
| case OP_vkCmdCopyImageToBuffer: |
| { |
| return "OP_vkCmdCopyImageToBuffer"; |
| } |
| case OP_vkCmdUpdateBuffer: |
| { |
| return "OP_vkCmdUpdateBuffer"; |
| } |
| case OP_vkCmdFillBuffer: |
| { |
| return "OP_vkCmdFillBuffer"; |
| } |
| case OP_vkCmdClearColorImage: |
| { |
| return "OP_vkCmdClearColorImage"; |
| } |
| case OP_vkCmdClearDepthStencilImage: |
| { |
| return "OP_vkCmdClearDepthStencilImage"; |
| } |
| case OP_vkCmdClearAttachments: |
| { |
| return "OP_vkCmdClearAttachments"; |
| } |
| case OP_vkCmdResolveImage: |
| { |
| return "OP_vkCmdResolveImage"; |
| } |
| case OP_vkCmdSetEvent: |
| { |
| return "OP_vkCmdSetEvent"; |
| } |
| case OP_vkCmdResetEvent: |
| { |
| return "OP_vkCmdResetEvent"; |
| } |
| case OP_vkCmdWaitEvents: |
| { |
| return "OP_vkCmdWaitEvents"; |
| } |
| case OP_vkCmdPipelineBarrier: |
| { |
| return "OP_vkCmdPipelineBarrier"; |
| } |
| case OP_vkCmdBeginQuery: |
| { |
| return "OP_vkCmdBeginQuery"; |
| } |
| case OP_vkCmdEndQuery: |
| { |
| return "OP_vkCmdEndQuery"; |
| } |
| case OP_vkCmdResetQueryPool: |
| { |
| return "OP_vkCmdResetQueryPool"; |
| } |
| case OP_vkCmdWriteTimestamp: |
| { |
| return "OP_vkCmdWriteTimestamp"; |
| } |
| case OP_vkCmdCopyQueryPoolResults: |
| { |
| return "OP_vkCmdCopyQueryPoolResults"; |
| } |
| case OP_vkCmdPushConstants: |
| { |
| return "OP_vkCmdPushConstants"; |
| } |
| case OP_vkCmdBeginRenderPass: |
| { |
| return "OP_vkCmdBeginRenderPass"; |
| } |
| case OP_vkCmdNextSubpass: |
| { |
| return "OP_vkCmdNextSubpass"; |
| } |
| case OP_vkCmdEndRenderPass: |
| { |
| return "OP_vkCmdEndRenderPass"; |
| } |
| case OP_vkCmdExecuteCommands: |
| { |
| return "OP_vkCmdExecuteCommands"; |
| } |
| #endif |
| #ifdef VK_VERSION_1_1 |
| case OP_vkEnumerateInstanceVersion: |
| { |
| return "OP_vkEnumerateInstanceVersion"; |
| } |
| case OP_vkBindBufferMemory2: |
| { |
| return "OP_vkBindBufferMemory2"; |
| } |
| case OP_vkBindImageMemory2: |
| { |
| return "OP_vkBindImageMemory2"; |
| } |
| case OP_vkGetDeviceGroupPeerMemoryFeatures: |
| { |
| return "OP_vkGetDeviceGroupPeerMemoryFeatures"; |
| } |
| case OP_vkCmdSetDeviceMask: |
| { |
| return "OP_vkCmdSetDeviceMask"; |
| } |
| case OP_vkCmdDispatchBase: |
| { |
| return "OP_vkCmdDispatchBase"; |
| } |
| case OP_vkEnumeratePhysicalDeviceGroups: |
| { |
| return "OP_vkEnumeratePhysicalDeviceGroups"; |
| } |
| case OP_vkGetImageMemoryRequirements2: |
| { |
| return "OP_vkGetImageMemoryRequirements2"; |
| } |
| case OP_vkGetBufferMemoryRequirements2: |
| { |
| return "OP_vkGetBufferMemoryRequirements2"; |
| } |
| case OP_vkGetImageSparseMemoryRequirements2: |
| { |
| return "OP_vkGetImageSparseMemoryRequirements2"; |
| } |
| case OP_vkGetPhysicalDeviceFeatures2: |
| { |
| return "OP_vkGetPhysicalDeviceFeatures2"; |
| } |
| case OP_vkGetPhysicalDeviceProperties2: |
| { |
| return "OP_vkGetPhysicalDeviceProperties2"; |
| } |
| case OP_vkGetPhysicalDeviceFormatProperties2: |
| { |
| return "OP_vkGetPhysicalDeviceFormatProperties2"; |
| } |
| case OP_vkGetPhysicalDeviceImageFormatProperties2: |
| { |
| return "OP_vkGetPhysicalDeviceImageFormatProperties2"; |
| } |
| case OP_vkGetPhysicalDeviceQueueFamilyProperties2: |
| { |
| return "OP_vkGetPhysicalDeviceQueueFamilyProperties2"; |
| } |
| case OP_vkGetPhysicalDeviceMemoryProperties2: |
| { |
| return "OP_vkGetPhysicalDeviceMemoryProperties2"; |
| } |
| case OP_vkGetPhysicalDeviceSparseImageFormatProperties2: |
| { |
| return "OP_vkGetPhysicalDeviceSparseImageFormatProperties2"; |
| } |
| case OP_vkTrimCommandPool: |
| { |
| return "OP_vkTrimCommandPool"; |
| } |
| case OP_vkGetDeviceQueue2: |
| { |
| return "OP_vkGetDeviceQueue2"; |
| } |
| case OP_vkCreateSamplerYcbcrConversion: |
| { |
| return "OP_vkCreateSamplerYcbcrConversion"; |
| } |
| case OP_vkDestroySamplerYcbcrConversion: |
| { |
| return "OP_vkDestroySamplerYcbcrConversion"; |
| } |
| case OP_vkCreateDescriptorUpdateTemplate: |
| { |
| return "OP_vkCreateDescriptorUpdateTemplate"; |
| } |
| case OP_vkDestroyDescriptorUpdateTemplate: |
| { |
| return "OP_vkDestroyDescriptorUpdateTemplate"; |
| } |
| case OP_vkUpdateDescriptorSetWithTemplate: |
| { |
| return "OP_vkUpdateDescriptorSetWithTemplate"; |
| } |
| case OP_vkGetPhysicalDeviceExternalBufferProperties: |
| { |
| return "OP_vkGetPhysicalDeviceExternalBufferProperties"; |
| } |
| case OP_vkGetPhysicalDeviceExternalFenceProperties: |
| { |
| return "OP_vkGetPhysicalDeviceExternalFenceProperties"; |
| } |
| case OP_vkGetPhysicalDeviceExternalSemaphoreProperties: |
| { |
| return "OP_vkGetPhysicalDeviceExternalSemaphoreProperties"; |
| } |
| case OP_vkGetDescriptorSetLayoutSupport: |
| { |
| return "OP_vkGetDescriptorSetLayoutSupport"; |
| } |
| #endif |
| #ifdef VK_KHR_surface |
| case OP_vkDestroySurfaceKHR: |
| { |
| return "OP_vkDestroySurfaceKHR"; |
| } |
| case OP_vkGetPhysicalDeviceSurfaceSupportKHR: |
| { |
| return "OP_vkGetPhysicalDeviceSurfaceSupportKHR"; |
| } |
| case OP_vkGetPhysicalDeviceSurfaceCapabilitiesKHR: |
| { |
| return "OP_vkGetPhysicalDeviceSurfaceCapabilitiesKHR"; |
| } |
| case OP_vkGetPhysicalDeviceSurfaceFormatsKHR: |
| { |
| return "OP_vkGetPhysicalDeviceSurfaceFormatsKHR"; |
| } |
| case OP_vkGetPhysicalDeviceSurfacePresentModesKHR: |
| { |
| return "OP_vkGetPhysicalDeviceSurfacePresentModesKHR"; |
| } |
| #endif |
| #ifdef VK_KHR_swapchain |
| case OP_vkCreateSwapchainKHR: |
| { |
| return "OP_vkCreateSwapchainKHR"; |
| } |
| case OP_vkDestroySwapchainKHR: |
| { |
| return "OP_vkDestroySwapchainKHR"; |
| } |
| case OP_vkGetSwapchainImagesKHR: |
| { |
| return "OP_vkGetSwapchainImagesKHR"; |
| } |
| case OP_vkAcquireNextImageKHR: |
| { |
| return "OP_vkAcquireNextImageKHR"; |
| } |
| case OP_vkQueuePresentKHR: |
| { |
| return "OP_vkQueuePresentKHR"; |
| } |
| case OP_vkGetDeviceGroupPresentCapabilitiesKHR: |
| { |
| return "OP_vkGetDeviceGroupPresentCapabilitiesKHR"; |
| } |
| case OP_vkGetDeviceGroupSurfacePresentModesKHR: |
| { |
| return "OP_vkGetDeviceGroupSurfacePresentModesKHR"; |
| } |
| case OP_vkGetPhysicalDevicePresentRectanglesKHR: |
| { |
| return "OP_vkGetPhysicalDevicePresentRectanglesKHR"; |
| } |
| case OP_vkAcquireNextImage2KHR: |
| { |
| return "OP_vkAcquireNextImage2KHR"; |
| } |
| #endif |
| #ifdef VK_KHR_display |
| case OP_vkGetPhysicalDeviceDisplayPropertiesKHR: |
| { |
| return "OP_vkGetPhysicalDeviceDisplayPropertiesKHR"; |
| } |
| case OP_vkGetPhysicalDeviceDisplayPlanePropertiesKHR: |
| { |
| return "OP_vkGetPhysicalDeviceDisplayPlanePropertiesKHR"; |
| } |
| case OP_vkGetDisplayPlaneSupportedDisplaysKHR: |
| { |
| return "OP_vkGetDisplayPlaneSupportedDisplaysKHR"; |
| } |
| case OP_vkGetDisplayModePropertiesKHR: |
| { |
| return "OP_vkGetDisplayModePropertiesKHR"; |
| } |
| case OP_vkCreateDisplayModeKHR: |
| { |
| return "OP_vkCreateDisplayModeKHR"; |
| } |
| case OP_vkGetDisplayPlaneCapabilitiesKHR: |
| { |
| return "OP_vkGetDisplayPlaneCapabilitiesKHR"; |
| } |
| case OP_vkCreateDisplayPlaneSurfaceKHR: |
| { |
| return "OP_vkCreateDisplayPlaneSurfaceKHR"; |
| } |
| #endif |
| #ifdef VK_KHR_display_swapchain |
| case OP_vkCreateSharedSwapchainsKHR: |
| { |
| return "OP_vkCreateSharedSwapchainsKHR"; |
| } |
| #endif |
| #ifdef VK_KHR_xlib_surface |
| case OP_vkCreateXlibSurfaceKHR: |
| { |
| return "OP_vkCreateXlibSurfaceKHR"; |
| } |
| case OP_vkGetPhysicalDeviceXlibPresentationSupportKHR: |
| { |
| return "OP_vkGetPhysicalDeviceXlibPresentationSupportKHR"; |
| } |
| #endif |
| #ifdef VK_KHR_xcb_surface |
| case OP_vkCreateXcbSurfaceKHR: |
| { |
| return "OP_vkCreateXcbSurfaceKHR"; |
| } |
| case OP_vkGetPhysicalDeviceXcbPresentationSupportKHR: |
| { |
| return "OP_vkGetPhysicalDeviceXcbPresentationSupportKHR"; |
| } |
| #endif |
| #ifdef VK_KHR_wayland_surface |
| case OP_vkCreateWaylandSurfaceKHR: |
| { |
| return "OP_vkCreateWaylandSurfaceKHR"; |
| } |
| case OP_vkGetPhysicalDeviceWaylandPresentationSupportKHR: |
| { |
| return "OP_vkGetPhysicalDeviceWaylandPresentationSupportKHR"; |
| } |
| #endif |
| #ifdef VK_KHR_mir_surface |
| case OP_vkCreateMirSurfaceKHR: |
| { |
| return "OP_vkCreateMirSurfaceKHR"; |
| } |
| case OP_vkGetPhysicalDeviceMirPresentationSupportKHR: |
| { |
| return "OP_vkGetPhysicalDeviceMirPresentationSupportKHR"; |
| } |
| #endif |
| #ifdef VK_KHR_android_surface |
| case OP_vkCreateAndroidSurfaceKHR: |
| { |
| return "OP_vkCreateAndroidSurfaceKHR"; |
| } |
| #endif |
| #ifdef VK_KHR_win32_surface |
| case OP_vkCreateWin32SurfaceKHR: |
| { |
| return "OP_vkCreateWin32SurfaceKHR"; |
| } |
| case OP_vkGetPhysicalDeviceWin32PresentationSupportKHR: |
| { |
| return "OP_vkGetPhysicalDeviceWin32PresentationSupportKHR"; |
| } |
| #endif |
| #ifdef VK_KHR_get_physical_device_properties2 |
| case OP_vkGetPhysicalDeviceFeatures2KHR: |
| { |
| return "OP_vkGetPhysicalDeviceFeatures2KHR"; |
| } |
| case OP_vkGetPhysicalDeviceProperties2KHR: |
| { |
| return "OP_vkGetPhysicalDeviceProperties2KHR"; |
| } |
| case OP_vkGetPhysicalDeviceFormatProperties2KHR: |
| { |
| return "OP_vkGetPhysicalDeviceFormatProperties2KHR"; |
| } |
| case OP_vkGetPhysicalDeviceImageFormatProperties2KHR: |
| { |
| return "OP_vkGetPhysicalDeviceImageFormatProperties2KHR"; |
| } |
| case OP_vkGetPhysicalDeviceQueueFamilyProperties2KHR: |
| { |
| return "OP_vkGetPhysicalDeviceQueueFamilyProperties2KHR"; |
| } |
| case OP_vkGetPhysicalDeviceMemoryProperties2KHR: |
| { |
| return "OP_vkGetPhysicalDeviceMemoryProperties2KHR"; |
| } |
| case OP_vkGetPhysicalDeviceSparseImageFormatProperties2KHR: |
| { |
| return "OP_vkGetPhysicalDeviceSparseImageFormatProperties2KHR"; |
| } |
| #endif |
| #ifdef VK_KHR_device_group |
| case OP_vkGetDeviceGroupPeerMemoryFeaturesKHR: |
| { |
| return "OP_vkGetDeviceGroupPeerMemoryFeaturesKHR"; |
| } |
| case OP_vkCmdSetDeviceMaskKHR: |
| { |
| return "OP_vkCmdSetDeviceMaskKHR"; |
| } |
| case OP_vkCmdDispatchBaseKHR: |
| { |
| return "OP_vkCmdDispatchBaseKHR"; |
| } |
| #endif |
| #ifdef VK_KHR_maintenance1 |
| case OP_vkTrimCommandPoolKHR: |
| { |
| return "OP_vkTrimCommandPoolKHR"; |
| } |
| #endif |
| #ifdef VK_KHR_device_group_creation |
| case OP_vkEnumeratePhysicalDeviceGroupsKHR: |
| { |
| return "OP_vkEnumeratePhysicalDeviceGroupsKHR"; |
| } |
| #endif |
| #ifdef VK_KHR_external_memory_capabilities |
| case OP_vkGetPhysicalDeviceExternalBufferPropertiesKHR: |
| { |
| return "OP_vkGetPhysicalDeviceExternalBufferPropertiesKHR"; |
| } |
| #endif |
| #ifdef VK_KHR_external_memory_win32 |
| case OP_vkGetMemoryWin32HandleKHR: |
| { |
| return "OP_vkGetMemoryWin32HandleKHR"; |
| } |
| case OP_vkGetMemoryWin32HandlePropertiesKHR: |
| { |
| return "OP_vkGetMemoryWin32HandlePropertiesKHR"; |
| } |
| #endif |
| #ifdef VK_KHR_external_memory_fd |
| case OP_vkGetMemoryFdKHR: |
| { |
| return "OP_vkGetMemoryFdKHR"; |
| } |
| case OP_vkGetMemoryFdPropertiesKHR: |
| { |
| return "OP_vkGetMemoryFdPropertiesKHR"; |
| } |
| #endif |
| #ifdef VK_KHR_external_semaphore_capabilities |
| case OP_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR: |
| { |
| return "OP_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR"; |
| } |
| #endif |
| #ifdef VK_KHR_external_semaphore_win32 |
| case OP_vkImportSemaphoreWin32HandleKHR: |
| { |
| return "OP_vkImportSemaphoreWin32HandleKHR"; |
| } |
| case OP_vkGetSemaphoreWin32HandleKHR: |
| { |
| return "OP_vkGetSemaphoreWin32HandleKHR"; |
| } |
| #endif |
| #ifdef VK_KHR_external_semaphore_fd |
| case OP_vkImportSemaphoreFdKHR: |
| { |
| return "OP_vkImportSemaphoreFdKHR"; |
| } |
| case OP_vkGetSemaphoreFdKHR: |
| { |
| return "OP_vkGetSemaphoreFdKHR"; |
| } |
| #endif |
| #ifdef VK_KHR_push_descriptor |
| case OP_vkCmdPushDescriptorSetKHR: |
| { |
| return "OP_vkCmdPushDescriptorSetKHR"; |
| } |
| case OP_vkCmdPushDescriptorSetWithTemplateKHR: |
| { |
| return "OP_vkCmdPushDescriptorSetWithTemplateKHR"; |
| } |
| #endif |
| #ifdef VK_KHR_descriptor_update_template |
| case OP_vkCreateDescriptorUpdateTemplateKHR: |
| { |
| return "OP_vkCreateDescriptorUpdateTemplateKHR"; |
| } |
| case OP_vkDestroyDescriptorUpdateTemplateKHR: |
| { |
| return "OP_vkDestroyDescriptorUpdateTemplateKHR"; |
| } |
| case OP_vkUpdateDescriptorSetWithTemplateKHR: |
| { |
| return "OP_vkUpdateDescriptorSetWithTemplateKHR"; |
| } |
| #endif |
| #ifdef VK_KHR_create_renderpass2 |
| case OP_vkCreateRenderPass2KHR: |
| { |
| return "OP_vkCreateRenderPass2KHR"; |
| } |
| case OP_vkCmdBeginRenderPass2KHR: |
| { |
| return "OP_vkCmdBeginRenderPass2KHR"; |
| } |
| case OP_vkCmdNextSubpass2KHR: |
| { |
| return "OP_vkCmdNextSubpass2KHR"; |
| } |
| case OP_vkCmdEndRenderPass2KHR: |
| { |
| return "OP_vkCmdEndRenderPass2KHR"; |
| } |
| #endif |
| #ifdef VK_KHR_shared_presentable_image |
| case OP_vkGetSwapchainStatusKHR: |
| { |
| return "OP_vkGetSwapchainStatusKHR"; |
| } |
| #endif |
| #ifdef VK_KHR_external_fence_capabilities |
| case OP_vkGetPhysicalDeviceExternalFencePropertiesKHR: |
| { |
| return "OP_vkGetPhysicalDeviceExternalFencePropertiesKHR"; |
| } |
| #endif |
| #ifdef VK_KHR_external_fence_win32 |
| case OP_vkImportFenceWin32HandleKHR: |
| { |
| return "OP_vkImportFenceWin32HandleKHR"; |
| } |
| case OP_vkGetFenceWin32HandleKHR: |
| { |
| return "OP_vkGetFenceWin32HandleKHR"; |
| } |
| #endif |
| #ifdef VK_KHR_external_fence_fd |
| case OP_vkImportFenceFdKHR: |
| { |
| return "OP_vkImportFenceFdKHR"; |
| } |
| case OP_vkGetFenceFdKHR: |
| { |
| return "OP_vkGetFenceFdKHR"; |
| } |
| #endif |
| #ifdef VK_KHR_get_surface_capabilities2 |
| case OP_vkGetPhysicalDeviceSurfaceCapabilities2KHR: |
| { |
| return "OP_vkGetPhysicalDeviceSurfaceCapabilities2KHR"; |
| } |
| case OP_vkGetPhysicalDeviceSurfaceFormats2KHR: |
| { |
| return "OP_vkGetPhysicalDeviceSurfaceFormats2KHR"; |
| } |
| #endif |
| #ifdef VK_KHR_get_display_properties2 |
| case OP_vkGetPhysicalDeviceDisplayProperties2KHR: |
| { |
| return "OP_vkGetPhysicalDeviceDisplayProperties2KHR"; |
| } |
| case OP_vkGetPhysicalDeviceDisplayPlaneProperties2KHR: |
| { |
| return "OP_vkGetPhysicalDeviceDisplayPlaneProperties2KHR"; |
| } |
| case OP_vkGetDisplayModeProperties2KHR: |
| { |
| return "OP_vkGetDisplayModeProperties2KHR"; |
| } |
| case OP_vkGetDisplayPlaneCapabilities2KHR: |
| { |
| return "OP_vkGetDisplayPlaneCapabilities2KHR"; |
| } |
| #endif |
| #ifdef VK_KHR_get_memory_requirements2 |
| case OP_vkGetImageMemoryRequirements2KHR: |
| { |
| return "OP_vkGetImageMemoryRequirements2KHR"; |
| } |
| case OP_vkGetBufferMemoryRequirements2KHR: |
| { |
| return "OP_vkGetBufferMemoryRequirements2KHR"; |
| } |
| case OP_vkGetImageSparseMemoryRequirements2KHR: |
| { |
| return "OP_vkGetImageSparseMemoryRequirements2KHR"; |
| } |
| #endif |
| #ifdef VK_KHR_sampler_ycbcr_conversion |
| case OP_vkCreateSamplerYcbcrConversionKHR: |
| { |
| return "OP_vkCreateSamplerYcbcrConversionKHR"; |
| } |
| case OP_vkDestroySamplerYcbcrConversionKHR: |
| { |
| return "OP_vkDestroySamplerYcbcrConversionKHR"; |
| } |
| #endif |
| #ifdef VK_KHR_bind_memory2 |
| case OP_vkBindBufferMemory2KHR: |
| { |
| return "OP_vkBindBufferMemory2KHR"; |
| } |
| case OP_vkBindImageMemory2KHR: |
| { |
| return "OP_vkBindImageMemory2KHR"; |
| } |
| #endif |
| #ifdef VK_KHR_maintenance3 |
| case OP_vkGetDescriptorSetLayoutSupportKHR: |
| { |
| return "OP_vkGetDescriptorSetLayoutSupportKHR"; |
| } |
| #endif |
| #ifdef VK_KHR_draw_indirect_count |
| case OP_vkCmdDrawIndirectCountKHR: |
| { |
| return "OP_vkCmdDrawIndirectCountKHR"; |
| } |
| case OP_vkCmdDrawIndexedIndirectCountKHR: |
| { |
| return "OP_vkCmdDrawIndexedIndirectCountKHR"; |
| } |
| #endif |
| #ifdef VK_ANDROID_native_buffer |
| case OP_vkGetSwapchainGrallocUsageANDROID: |
| { |
| return "OP_vkGetSwapchainGrallocUsageANDROID"; |
| } |
| case OP_vkAcquireImageANDROID: |
| { |
| return "OP_vkAcquireImageANDROID"; |
| } |
| case OP_vkQueueSignalReleaseImageANDROID: |
| { |
| return "OP_vkQueueSignalReleaseImageANDROID"; |
| } |
| #endif |
| #ifdef VK_EXT_debug_report |
| case OP_vkCreateDebugReportCallbackEXT: |
| { |
| return "OP_vkCreateDebugReportCallbackEXT"; |
| } |
| case OP_vkDestroyDebugReportCallbackEXT: |
| { |
| return "OP_vkDestroyDebugReportCallbackEXT"; |
| } |
| case OP_vkDebugReportMessageEXT: |
| { |
| return "OP_vkDebugReportMessageEXT"; |
| } |
| #endif |
| #ifdef VK_EXT_debug_marker |
| case OP_vkDebugMarkerSetObjectTagEXT: |
| { |
| return "OP_vkDebugMarkerSetObjectTagEXT"; |
| } |
| case OP_vkDebugMarkerSetObjectNameEXT: |
| { |
| return "OP_vkDebugMarkerSetObjectNameEXT"; |
| } |
| case OP_vkCmdDebugMarkerBeginEXT: |
| { |
| return "OP_vkCmdDebugMarkerBeginEXT"; |
| } |
| case OP_vkCmdDebugMarkerEndEXT: |
| { |
| return "OP_vkCmdDebugMarkerEndEXT"; |
| } |
| case OP_vkCmdDebugMarkerInsertEXT: |
| { |
| return "OP_vkCmdDebugMarkerInsertEXT"; |
| } |
| #endif |
| #ifdef VK_AMD_draw_indirect_count |
| case OP_vkCmdDrawIndirectCountAMD: |
| { |
| return "OP_vkCmdDrawIndirectCountAMD"; |
| } |
| case OP_vkCmdDrawIndexedIndirectCountAMD: |
| { |
| return "OP_vkCmdDrawIndexedIndirectCountAMD"; |
| } |
| #endif |
| #ifdef VK_AMD_shader_info |
| case OP_vkGetShaderInfoAMD: |
| { |
| return "OP_vkGetShaderInfoAMD"; |
| } |
| #endif |
| #ifdef VK_NV_external_memory_capabilities |
| case OP_vkGetPhysicalDeviceExternalImageFormatPropertiesNV: |
| { |
| return "OP_vkGetPhysicalDeviceExternalImageFormatPropertiesNV"; |
| } |
| #endif |
| #ifdef VK_NV_external_memory_win32 |
| case OP_vkGetMemoryWin32HandleNV: |
| { |
| return "OP_vkGetMemoryWin32HandleNV"; |
| } |
| #endif |
| #ifdef VK_NN_vi_surface |
| case OP_vkCreateViSurfaceNN: |
| { |
| return "OP_vkCreateViSurfaceNN"; |
| } |
| #endif |
| #ifdef VK_EXT_conditional_rendering |
| case OP_vkCmdBeginConditionalRenderingEXT: |
| { |
| return "OP_vkCmdBeginConditionalRenderingEXT"; |
| } |
| case OP_vkCmdEndConditionalRenderingEXT: |
| { |
| return "OP_vkCmdEndConditionalRenderingEXT"; |
| } |
| #endif |
| #ifdef VK_NVX_device_generated_commands |
| case OP_vkCmdProcessCommandsNVX: |
| { |
| return "OP_vkCmdProcessCommandsNVX"; |
| } |
| case OP_vkCmdReserveSpaceForCommandsNVX: |
| { |
| return "OP_vkCmdReserveSpaceForCommandsNVX"; |
| } |
| case OP_vkCreateIndirectCommandsLayoutNVX: |
| { |
| return "OP_vkCreateIndirectCommandsLayoutNVX"; |
| } |
| case OP_vkDestroyIndirectCommandsLayoutNVX: |
| { |
| return "OP_vkDestroyIndirectCommandsLayoutNVX"; |
| } |
| case OP_vkCreateObjectTableNVX: |
| { |
| return "OP_vkCreateObjectTableNVX"; |
| } |
| case OP_vkDestroyObjectTableNVX: |
| { |
| return "OP_vkDestroyObjectTableNVX"; |
| } |
| case OP_vkRegisterObjectsNVX: |
| { |
| return "OP_vkRegisterObjectsNVX"; |
| } |
| case OP_vkUnregisterObjectsNVX: |
| { |
| return "OP_vkUnregisterObjectsNVX"; |
| } |
| case OP_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX: |
| { |
| return "OP_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX"; |
| } |
| #endif |
| #ifdef VK_NV_clip_space_w_scaling |
| case OP_vkCmdSetViewportWScalingNV: |
| { |
| return "OP_vkCmdSetViewportWScalingNV"; |
| } |
| #endif |
| #ifdef VK_EXT_direct_mode_display |
| case OP_vkReleaseDisplayEXT: |
| { |
| return "OP_vkReleaseDisplayEXT"; |
| } |
| #endif |
| #ifdef VK_EXT_acquire_xlib_display |
| case OP_vkAcquireXlibDisplayEXT: |
| { |
| return "OP_vkAcquireXlibDisplayEXT"; |
| } |
| case OP_vkGetRandROutputDisplayEXT: |
| { |
| return "OP_vkGetRandROutputDisplayEXT"; |
| } |
| #endif |
| #ifdef VK_EXT_display_surface_counter |
| case OP_vkGetPhysicalDeviceSurfaceCapabilities2EXT: |
| { |
| return "OP_vkGetPhysicalDeviceSurfaceCapabilities2EXT"; |
| } |
| #endif |
| #ifdef VK_EXT_display_control |
| case OP_vkDisplayPowerControlEXT: |
| { |
| return "OP_vkDisplayPowerControlEXT"; |
| } |
| case OP_vkRegisterDeviceEventEXT: |
| { |
| return "OP_vkRegisterDeviceEventEXT"; |
| } |
| case OP_vkRegisterDisplayEventEXT: |
| { |
| return "OP_vkRegisterDisplayEventEXT"; |
| } |
| case OP_vkGetSwapchainCounterEXT: |
| { |
| return "OP_vkGetSwapchainCounterEXT"; |
| } |
| #endif |
| #ifdef VK_GOOGLE_display_timing |
| case OP_vkGetRefreshCycleDurationGOOGLE: |
| { |
| return "OP_vkGetRefreshCycleDurationGOOGLE"; |
| } |
| case OP_vkGetPastPresentationTimingGOOGLE: |
| { |
| return "OP_vkGetPastPresentationTimingGOOGLE"; |
| } |
| #endif |
| #ifdef VK_EXT_discard_rectangles |
| case OP_vkCmdSetDiscardRectangleEXT: |
| { |
| return "OP_vkCmdSetDiscardRectangleEXT"; |
| } |
| #endif |
| #ifdef VK_EXT_hdr_metadata |
| case OP_vkSetHdrMetadataEXT: |
| { |
| return "OP_vkSetHdrMetadataEXT"; |
| } |
| #endif |
| #ifdef VK_MVK_ios_surface |
| case OP_vkCreateIOSSurfaceMVK: |
| { |
| return "OP_vkCreateIOSSurfaceMVK"; |
| } |
| #endif |
| #ifdef VK_MVK_macos_surface |
| case OP_vkCreateMacOSSurfaceMVK: |
| { |
| return "OP_vkCreateMacOSSurfaceMVK"; |
| } |
| #endif |
| #ifdef VK_EXT_debug_utils |
| case OP_vkSetDebugUtilsObjectNameEXT: |
| { |
| return "OP_vkSetDebugUtilsObjectNameEXT"; |
| } |
| case OP_vkSetDebugUtilsObjectTagEXT: |
| { |
| return "OP_vkSetDebugUtilsObjectTagEXT"; |
| } |
| case OP_vkQueueBeginDebugUtilsLabelEXT: |
| { |
| return "OP_vkQueueBeginDebugUtilsLabelEXT"; |
| } |
| case OP_vkQueueEndDebugUtilsLabelEXT: |
| { |
| return "OP_vkQueueEndDebugUtilsLabelEXT"; |
| } |
| case OP_vkQueueInsertDebugUtilsLabelEXT: |
| { |
| return "OP_vkQueueInsertDebugUtilsLabelEXT"; |
| } |
| case OP_vkCmdBeginDebugUtilsLabelEXT: |
| { |
| return "OP_vkCmdBeginDebugUtilsLabelEXT"; |
| } |
| case OP_vkCmdEndDebugUtilsLabelEXT: |
| { |
| return "OP_vkCmdEndDebugUtilsLabelEXT"; |
| } |
| case OP_vkCmdInsertDebugUtilsLabelEXT: |
| { |
| return "OP_vkCmdInsertDebugUtilsLabelEXT"; |
| } |
| case OP_vkCreateDebugUtilsMessengerEXT: |
| { |
| return "OP_vkCreateDebugUtilsMessengerEXT"; |
| } |
| case OP_vkDestroyDebugUtilsMessengerEXT: |
| { |
| return "OP_vkDestroyDebugUtilsMessengerEXT"; |
| } |
| case OP_vkSubmitDebugUtilsMessageEXT: |
| { |
| return "OP_vkSubmitDebugUtilsMessageEXT"; |
| } |
| #endif |
| #ifdef VK_ANDROID_external_memory_android_hardware_buffer |
| case OP_vkGetAndroidHardwareBufferPropertiesANDROID: |
| { |
| return "OP_vkGetAndroidHardwareBufferPropertiesANDROID"; |
| } |
| case OP_vkGetMemoryAndroidHardwareBufferANDROID: |
| { |
| return "OP_vkGetMemoryAndroidHardwareBufferANDROID"; |
| } |
| #endif |
| #ifdef VK_EXT_sample_locations |
| case OP_vkCmdSetSampleLocationsEXT: |
| { |
| return "OP_vkCmdSetSampleLocationsEXT"; |
| } |
| case OP_vkGetPhysicalDeviceMultisamplePropertiesEXT: |
| { |
| return "OP_vkGetPhysicalDeviceMultisamplePropertiesEXT"; |
| } |
| #endif |
| #ifdef VK_EXT_validation_cache |
| case OP_vkCreateValidationCacheEXT: |
| { |
| return "OP_vkCreateValidationCacheEXT"; |
| } |
| case OP_vkDestroyValidationCacheEXT: |
| { |
| return "OP_vkDestroyValidationCacheEXT"; |
| } |
| case OP_vkMergeValidationCachesEXT: |
| { |
| return "OP_vkMergeValidationCachesEXT"; |
| } |
| case OP_vkGetValidationCacheDataEXT: |
| { |
| return "OP_vkGetValidationCacheDataEXT"; |
| } |
| #endif |
| #ifdef VK_EXT_external_memory_host |
| case OP_vkGetMemoryHostPointerPropertiesEXT: |
| { |
| return "OP_vkGetMemoryHostPointerPropertiesEXT"; |
| } |
| #endif |
| #ifdef VK_AMD_buffer_marker |
| case OP_vkCmdWriteBufferMarkerAMD: |
| { |
| return "OP_vkCmdWriteBufferMarkerAMD"; |
| } |
| #endif |
| #ifdef VK_NV_device_diagnostic_checkpoints |
| case OP_vkCmdSetCheckpointNV: |
| { |
| return "OP_vkCmdSetCheckpointNV"; |
| } |
| case OP_vkGetQueueCheckpointDataNV: |
| { |
| return "OP_vkGetQueueCheckpointDataNV"; |
| } |
| #endif |
| #ifdef VK_GOOGLE_address_space |
| case OP_vkMapMemoryIntoAddressSpaceGOOGLE: |
| { |
| return "OP_vkMapMemoryIntoAddressSpaceGOOGLE"; |
| } |
| #endif |
| #ifdef VK_GOOGLE_color_buffer |
| case OP_vkRegisterImageColorBufferGOOGLE: |
| { |
| return "OP_vkRegisterImageColorBufferGOOGLE"; |
| } |
| case OP_vkRegisterBufferColorBufferGOOGLE: |
| { |
| return "OP_vkRegisterBufferColorBufferGOOGLE"; |
| } |
| #endif |
| #ifdef VK_GOOGLE_sized_descriptor_update_template |
| case OP_vkUpdateDescriptorSetWithTemplateSizedGOOGLE: |
| { |
| return "OP_vkUpdateDescriptorSetWithTemplateSizedGOOGLE"; |
| } |
| #endif |
| #ifdef VK_GOOGLE_async_command_buffers |
| case OP_vkBeginCommandBufferAsyncGOOGLE: |
| { |
| return "OP_vkBeginCommandBufferAsyncGOOGLE"; |
| } |
| case OP_vkEndCommandBufferAsyncGOOGLE: |
| { |
| return "OP_vkEndCommandBufferAsyncGOOGLE"; |
| } |
| case OP_vkResetCommandBufferAsyncGOOGLE: |
| { |
| return "OP_vkResetCommandBufferAsyncGOOGLE"; |
| } |
| case OP_vkCommandBufferHostSyncGOOGLE: |
| { |
| return "OP_vkCommandBufferHostSyncGOOGLE"; |
| } |
| #endif |
| #ifdef VK_GOOGLE_create_resources_with_requirements |
| case OP_vkCreateImageWithRequirementsGOOGLE: |
| { |
| return "OP_vkCreateImageWithRequirementsGOOGLE"; |
| } |
| case OP_vkCreateBufferWithRequirementsGOOGLE: |
| { |
| return "OP_vkCreateBufferWithRequirementsGOOGLE"; |
| } |
| #endif |
| #ifdef VK_GOOGLE_address_space_info |
| case OP_vkGetMemoryHostAddressInfoGOOGLE: |
| { |
| return "OP_vkGetMemoryHostAddressInfoGOOGLE"; |
| } |
| #endif |
| #ifdef VK_GOOGLE_free_memory_sync |
| case OP_vkFreeMemorySyncGOOGLE: |
| { |
| return "OP_vkFreeMemorySyncGOOGLE"; |
| } |
| #endif |
| default: |
| { |
| return "OP_UNKNOWN_API_CALL"; |
| } |
| } |
| } |
| |
| |
| } // namespace goldfish_vk |