(3/8) vulkan_enc: Add VkImportBufferGOOGLE
We add a struct VkImportBufferGOOGLE used for host-guest
Vulkan interop.
This struct is similar to VkImportColorBufferGOOGLE but the
handle passed in should be a handle of host "Buffer" instead
of "ColorBuffer".
Change-Id: I1f22e94d2b3c8b81d670b35e181b0e902deecb5d
diff --git a/system/vulkan_enc/goldfish_vk_deepcopy_guest.cpp b/system/vulkan_enc/goldfish_vk_deepcopy_guest.cpp
index e2d3294..8e81c7f 100644
--- a/system/vulkan_enc/goldfish_vk_deepcopy_guest.cpp
+++ b/system/vulkan_enc/goldfish_vk_deepcopy_guest.cpp
@@ -6363,6 +6363,22 @@
}
}
+void deepcopy_VkImportBufferGOOGLE(
+ Pool* pool,
+ const VkImportBufferGOOGLE* from,
+ VkImportBufferGOOGLE* to)
+{
+ (void)pool;
+ *to = *from;
+ size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
+ to->pNext = nullptr;
+ if (pNext_size)
+ {
+ to->pNext = (void*)pool->alloc(pNext_size);
+ deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
+ }
+}
+
void deepcopy_VkImportPhysicalAddressGOOGLE(
Pool* pool,
const VkImportPhysicalAddressGOOGLE* from,
@@ -7041,6 +7057,11 @@
deepcopy_VkImportColorBufferGOOGLE(pool, reinterpret_cast<const VkImportColorBufferGOOGLE*>(structExtension), reinterpret_cast<VkImportColorBufferGOOGLE*>(structExtension_out));
break;
}
+ case VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE:
+ {
+ deepcopy_VkImportBufferGOOGLE(pool, reinterpret_cast<const VkImportBufferGOOGLE*>(structExtension), reinterpret_cast<VkImportBufferGOOGLE*>(structExtension_out));
+ break;
+ }
case VK_STRUCTURE_TYPE_IMPORT_PHYSICAL_ADDRESS_GOOGLE:
{
deepcopy_VkImportPhysicalAddressGOOGLE(pool, reinterpret_cast<const VkImportPhysicalAddressGOOGLE*>(structExtension), reinterpret_cast<VkImportPhysicalAddressGOOGLE*>(structExtension_out));