gfxstream: codegen EXT_swapchain_maintenance1 + KHR_swapchain host only We really shouldn't be encoding/decoding EXT_swapchain_maintenance1 or KHR_swapchain at all, for Android. The driver needs to expose VK_ANDROID_native_buffer and Android's libvulkan implements swapchain in terms of that. However, Android's libvulkan doesn't filter out structs or definitions related to those extensions, and for U, niether does gfxstream. That means older images pass down the extensions. Newer versions of gfxstream guest should do filtering and in fact we have some host side filtering logic too. So isolate the extensions host side for now. This also removes an abort(..) in unwrap_VkBindImageMemorySwapchainInfoKHR. Since were aren't auto-generating KHR_swapchain anymore, so things don't get copied, and the abort(..) gets triggered. However, as gfxstream is not a validation layer, removing the abort is harmless. BUG=315319874 TEST=launch_cvd --gpu_mode=gfxstream_guest_angle Change-Id: I1aad28d38841b3a7d7ffa920848f87af730f32a8
diff --git a/guest/vulkan_enc/ResourceTracker.cpp b/guest/vulkan_enc/ResourceTracker.cpp index 4ce1e40..fd89d73 100644 --- a/guest/vulkan_enc/ResourceTracker.cpp +++ b/guest/vulkan_enc/ResourceTracker.cpp
@@ -5696,8 +5696,7 @@ } if (!outputBimsi || !outputBimsi->swapchain) { - ALOGE("FATAL: Local VkBindImageMemorySwapchainInfoKHR not properly allocated!"); - abort(); + return; } // Android based swapchains are implemented by the Android framework's