[vulkan] Fix enough to pass dEQP-VK.api.smoke.*

bug: 111137294

Test: dEQP-VK.api.smoke.* all succeed with host AEMU
platform build:

./android/scripts/build-deqp.sh
cd ../deqp/build/external/vulkancts/modules/vulkan
./deqp-vk --deqp-case=dEQP-VK.api.smoke.*

- Start up the Toplevel earlier in dEQP AEMU platform.
- Ensure Vulkan dispatch is loaded early.
- Forgot to generated overridden vk(Create|Destroy)Device.
- Suppress extensions and GetPhysicalDeviceProperties2.
- Fixed bug in encoder where the not yet unwrapped handle would get sent
to host if it was getting destroyed.
- Fixed bug in encoder where code was not emitted for readback of memory
for vkInvalidateMappedMemoryRanges.

+ Fix bug that prevented dEQP-VK.api.info from completing:
Do not free underlying pointer in VulkanStream::alloc
if the size argument is zero, as that could corrupt guest
assumptions.

+ Free the stream's pool when done decoding to fix
memory leaks.
+ Disable allocation callbacks for now.
+ Don't pass through vkEnumerateInstanceVersion
+ Look for libvulkan.so.1 on Lunix
+ Suppress pNext for now
+ Fix bug around VK_WHOLE_SIZE being treated as an actual
number of bytes to stream

Change-Id: I39a1a8c44083a046b75889436b2a902c07a3aef3
4 files changed
tree: c245b96eec7ca98194d3ef486dfb2bb816607bb7
  1. registry/