gfxstream: use standard Vulkan headers and new auto-gen flow

This modifies gfxstream to use standard Vulkan headers,
and updates to 1.3.269.

Previously, the headers were mostly standard, but added in
vk_android_native_buffer into vulkan_core.h.  That breaks down
when using auto-gen scripts from outside gfxstream, which will
happen in a subsequent patchset.

For vk_native_buffer_android, we can simply provide a
vk_android_native_buffer_gfxstream.h.

Long-term, vk_native_buffer_android.h should be deprecated in
favor of VK_ANDROID_external_memory_android_hardware_buffer, in
Android's libvulkan and elsewhere.

For the Vulkan headers, the new procedure is generate them in the
directions found here in the following repos:

https://github.com/KhronosGroup/Vulkan-Headers
https://github.com/KhronosGroup/Vulkan-Hpp

Those headers can be copied over using cp.  For gfxstream encoder
+ decoders, that's still generated via ./generate-gfxstream-vulkan.sh

The only catch is you must use the same vk.xml for Vulkan-Headers,
Vulkan-Hpp, and for the cereal generator.  The recommended flow
is use whatever the xml is in Vulkan-Headers ToT and copy to
Vulkan-Hpp and cerealgenerator.py before running those scripts.

The End2End tests that relied on vk_android_native_buffer were
also modified.  Long-term, the AHB extension could be used
instead of ANB for tests.

BUG=310206667
TEST=launch_cvd --gpu_mode=gfxstream_guest_angle

Change-Id: Ib43d8555cf37a9e9a7189ec7597f78f12cd53b5d
diff --git a/host/vulkan/VkSubDecoder.cpp b/host/vulkan/VkSubDecoder.cpp
index b18596e..69eab14 100644
--- a/host/vulkan/VkSubDecoder.cpp
+++ b/host/vulkan/VkSubDecoder.cpp
@@ -15,9 +15,9 @@
 
 // Autogenerated module VkSubDecoder
 //
-// (impl) generated by codegen/vulkan/vulkan-docs/scripts/genvk.py -registry
-// codegen/vulkan/vulkan-docs/xml/vk.xml -registryGfxstream
-// codegen/vulkan/vulkan-docs/xml/vk_gfxstream.xml cereal -o host/vulkan/cereal
+// (impl) generated by codegen/vulkan/vulkan-docs-next/scripts/genvk.py -registry
+// codegen/vulkan/vulkan-docs-next/xml/vk.xml -registryGfxstream
+// codegen/vulkan/vulkan-docs-next/xml/vk_gfxstream.xml cereal -o host/vulkan/cereal
 //
 // Please do not modify directly;
 // re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
@@ -2454,6 +2454,29 @@
 #endif
 #ifdef VK_KHR_maintenance4
 #endif
+#ifdef VK_KHR_maintenance5
+            case OP_vkCmdBindIndexBuffer2KHR: {
+                android::base::beginTrace("vkCmdBindIndexBuffer2KHR subdecode");
+                VkBuffer buffer;
+                VkDeviceSize offset;
+                VkDeviceSize size;
+                VkIndexType indexType;
+                uint64_t cgen_var_0;
+                memcpy((uint64_t*)&cgen_var_0, *readStreamPtrPtr, 1 * 8);
+                *readStreamPtrPtr += 1 * 8;
+                *(VkBuffer*)&buffer = (VkBuffer)unbox_VkBuffer((VkBuffer)(*&cgen_var_0));
+                memcpy((VkDeviceSize*)&offset, *readStreamPtrPtr, sizeof(VkDeviceSize));
+                *readStreamPtrPtr += sizeof(VkDeviceSize);
+                memcpy((VkDeviceSize*)&size, *readStreamPtrPtr, sizeof(VkDeviceSize));
+                *readStreamPtrPtr += sizeof(VkDeviceSize);
+                memcpy((VkIndexType*)&indexType, *readStreamPtrPtr, sizeof(VkIndexType));
+                *readStreamPtrPtr += sizeof(VkIndexType);
+                vk->vkCmdBindIndexBuffer2KHR((VkCommandBuffer)dispatchHandle, buffer, offset, size,
+                                             indexType);
+                android::base::endTrace();
+                break;
+            }
+#endif
 #ifdef VK_ANDROID_native_buffer
 #endif
 #ifdef VK_EXT_transform_feedback
@@ -2979,6 +3002,8 @@
                 break;
             }
 #endif
+#ifdef VK_EXT_host_image_copy
+#endif
 #ifdef VK_EXT_swapchain_maintenance1
 #endif
 #ifdef VK_EXT_shader_demote_to_helper_invocation