... to avoid more duplicate symbol definitions when
building Gfxstream VK ICD.
Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
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.
Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
Wrappers are used to generate host and guest variants of
modules. Thus, modules allow differentiation between guest
and host codegen, which wrappers do not.
Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
It would be great if we could get the moduleName from
a moduleType, but couldn't determine how it's done.
So just create a tuple.
Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
We accidentially changed the xml definition for
vkQueueSignalReleaseImageANDROID. As a result it changed its encoding
and decoding, which breaks Android emulator when launching old system
images (API level 29~32).
To fix this, we overwrite it with the old definition so that it keeps
using the old encoding/decoding.
Note that API 33+ uses vkQueueSignalReleaseImageANDROIDAsyncGOOGLE which
does not have this problem.
Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
In newer versions of vk.xml, VK_EXT_host_image_copy also
provides vkGetImageSubresourceLayout2EXT. Autogen for
VK_EXT_host_image_copy fails without VK_KHR_maintainance5.
For some reason, onGenCmd(..) for vkGetImageSubresourceLayout2EXT
is requires VK_EXT_host_image_copy. This goes back into reg.py
in vulkan-docs.
Interestingly, the Android's libvulkan doesn't use
vkGetImageSubresourceLayout2EXT, nor does it check for
VK_EXT_image_compression_control before using it.
https://android-review.googlesource.com/c/platform/frameworks/native/+/2016419
Thus, we can have VK_EXT_host_image_copy provide the function.
Maybe we can revert this if the function isn't used by libvulkan
aswell.
Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
Simpler version of the generate-vulkan-sources.sh
script.
Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
We shouldn't autogenerate this header, since it's a forked header
specific to gfxstream.
Plus, this particular extension is disabled in the Vulkan anyways,
and used between Android libvulkan <--> ICD only.
We should just call it "vk_android_native_buffer_gfxstream.h" to
avoid namespace conflicts.
Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
This adds custom the cereal generator as an option to genvk.py
gfxstream specific options like "-registryGfxstream" are also
added.
Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
The newest version of Vulkan docs doesn't have this, and it
needs to be patched in.
Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
This imports the cereal generator into the next gen
Vulkan docs.
Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
This is based on 463f8c ("Change log for October
20, 2023 Vulkan 1.3.269 spec update").
Right now, the current version of vulkan-docs seems to
be 2021. Need to update. Import here without
modifications so we can track the changes that were
needed to support cereal.
Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>