mesa/src/gfxstream
utzcoz 88cfa8ff29 gfxstream: Fix vkSetDebugUtilsObjectNameEXT crash for unwrapped objects
Mesa's vk_common_SetDebugUtilsObjectNameEXT assumes every Vulkan object
handle is a pointer to a vk_object_base struct. In gfxstream, only a
subset of objects (instance, device, queue, command buffer, command pool,
buffer, fence, semaphore) carry a Mesa wrapper. All other non-dispatchable
handles (shader modules, pipelines, render passes, etc.) are opaque host
handles that are not valid pointers.

Passing such an unwrapped handle to the common path causes it to be cast
to a vk_object_base pointer and dereferenced, resulting in a SIGSEGV
(null-pointer dereference at offset 0x40).

Override the function in the gfxstream driver to store debug names on
vk_object_base for wrapped objects and return VK_SUCCESS for unwrapped
objects.

Fixes: 7b50e62179 ("gfxstream: mega-change to support guest Linux WSI with gfxstream")
Test: Verified with hellovk (with validation layers) on Android Emulator - no crashes.
(cherry picked from commit bf8862b49f)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40752>
2026-04-01 11:45:35 +02:00
..
aemu gfxstream: meson format -i {all meson files} 2025-11-12 16:05:12 +00:00
codegen gfxstream: Add VK_EXT_frame_boundary support 2026-01-20 20:27:10 +00:00
guest gfxstream: Fix vkSetDebugUtilsObjectNameEXT crash for unwrapped objects 2026-04-01 11:45:35 +02:00
.clang-format gfxstream: add clang-format 2024-10-09 22:53:05 +00:00
meson.build gfxstream: explicitly list Python dependencies for gfxstream codegen 2026-01-08 08:02:37 -08:00