[vulkan] Take codegen fixes

bug: 111137294
bug: 125481123

- Fix extension object creation/destruction
- Fix VkBindImageMemoryInfo transform error

Test:

android/scripts/unix/run-deqp-vk-mustpass.sh on Linux NVIDIA Quadro K2200

Failures: 7 -> 6

Change-Id: Id11325c120198e017610bfde211f7bbdbe755151
diff --git a/system/vulkan_enc/VkEncoder.cpp b/system/vulkan_enc/VkEncoder.cpp
index 874d248..10bbeab 100644
--- a/system/vulkan_enc/VkEncoder.cpp
+++ b/system/vulkan_enc/VkEncoder.cpp
@@ -15644,9 +15644,11 @@
     stream->write((uint64_t*)&cgen_var_1054, 8);
     stream->setHandleMapping(resources->unwrapMapping());
     AEMU_SCOPED_TRACE("vkCreateDescriptorUpdateTemplateKHR readParams");
+    stream->setHandleMapping(resources->createMapping());
     uint64_t cgen_var_1055;
     stream->read((uint64_t*)&cgen_var_1055, 8);
     stream->handleMapping()->mapHandles_u64_VkDescriptorUpdateTemplate(&cgen_var_1055, (VkDescriptorUpdateTemplate*)pDescriptorUpdateTemplate, 1);
+    stream->unsetHandleMapping();
     AEMU_SCOPED_TRACE("vkCreateDescriptorUpdateTemplateKHR returnUnmarshal");
     VkResult vkCreateDescriptorUpdateTemplateKHR_VkResult_return = (VkResult)0;
     stream->read(&vkCreateDescriptorUpdateTemplateKHR_VkResult_return, sizeof(VkResult));
@@ -15721,6 +15723,7 @@
     }
     AEMU_SCOPED_TRACE("vkDestroyDescriptorUpdateTemplateKHR readParams");
     AEMU_SCOPED_TRACE("vkDestroyDescriptorUpdateTemplateKHR returnUnmarshal");
+    resources->destroyMapping()->mapHandles_VkDescriptorUpdateTemplate((VkDescriptorUpdateTemplate*)&descriptorUpdateTemplate);
     mImpl->log("finish vkDestroyDescriptorUpdateTemplateKHR");;
 }
 
@@ -17247,9 +17250,11 @@
     stream->write((uint64_t*)&cgen_var_1152, 8);
     stream->setHandleMapping(resources->unwrapMapping());
     AEMU_SCOPED_TRACE("vkCreateSamplerYcbcrConversionKHR readParams");
+    stream->setHandleMapping(resources->createMapping());
     uint64_t cgen_var_1153;
     stream->read((uint64_t*)&cgen_var_1153, 8);
     stream->handleMapping()->mapHandles_u64_VkSamplerYcbcrConversion(&cgen_var_1153, (VkSamplerYcbcrConversion*)pYcbcrConversion, 1);
+    stream->unsetHandleMapping();
     AEMU_SCOPED_TRACE("vkCreateSamplerYcbcrConversionKHR returnUnmarshal");
     VkResult vkCreateSamplerYcbcrConversionKHR_VkResult_return = (VkResult)0;
     stream->read(&vkCreateSamplerYcbcrConversionKHR_VkResult_return, sizeof(VkResult));
@@ -17324,6 +17329,7 @@
     }
     AEMU_SCOPED_TRACE("vkDestroySamplerYcbcrConversionKHR readParams");
     AEMU_SCOPED_TRACE("vkDestroySamplerYcbcrConversionKHR returnUnmarshal");
+    resources->destroyMapping()->mapHandles_VkSamplerYcbcrConversion((VkSamplerYcbcrConversion*)&ycbcrConversion);
     mImpl->log("finish vkDestroySamplerYcbcrConversionKHR");;
 }