[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");;
}