Parse more ext structs in vkAllocateMemory and vkCreateBuffer

Bug: 303509063
Test: dEQP-VK.binding_model.buffer_device_address.set0.*
Change-Id: I61654c246830257c016dfebd8ce70859b436a698
diff --git a/guest/vulkan_enc/ResourceTracker.cpp b/guest/vulkan_enc/ResourceTracker.cpp
index 892e649..600cb95 100644
--- a/guest/vulkan_enc/ResourceTracker.cpp
+++ b/guest/vulkan_enc/ResourceTracker.cpp
@@ -5119,6 +5119,23 @@
         vk_append_struct(&structChainIter, &localExtBufCi);
     }
 
+
+    VkBufferOpaqueCaptureAddressCreateInfo localCapAddrCi;
+    const VkBufferOpaqueCaptureAddressCreateInfo* pCapAddrCi =
+        vk_find_struct<VkBufferOpaqueCaptureAddressCreateInfo>(pCreateInfo);
+    if (pCapAddrCi) {
+        localCapAddrCi = vk_make_orphan_copy(*pCapAddrCi);
+        vk_append_struct(&structChainIter, &localCapAddrCi);
+    }
+
+    VkBufferDeviceAddressCreateInfoEXT localDevAddrCi;
+    const VkBufferDeviceAddressCreateInfoEXT* pDevAddrCi =
+        vk_find_struct<VkBufferDeviceAddressCreateInfoEXT>(pCreateInfo);
+    if (pDevAddrCi) {
+        localDevAddrCi = vk_make_orphan_copy(*pDevAddrCi);
+        vk_append_struct(&structChainIter, &localDevAddrCi);
+    }
+
 #ifdef VK_USE_PLATFORM_FUCHSIA
     Optional<zx::vmo> vmo;
     bool isSysmemBackedMemory = false;