Android Vulkan: fix null vkCmdPushDescriptorSetKHR crash + silence spurious SetFormat notification - #291
Merged
Conversation
…IGSEGV Agent-Logs-Url: https://github.com/winnerspiros/osu/sessions/47bccd72-9ce0-4acd-b9af-3a7ba592a5bb Co-authored-by: winnerspiros <1675249+winnerspiros@users.noreply.github.com>
Agent-Logs-Url: https://github.com/winnerspiros/osu/sessions/2b0680fd-aeb5-4b8a-b119-8da1afbb018d Co-authored-by: winnerspiros <1675249+winnerspiros@users.noreply.github.com>
Copilot created this pull request from a session on behalf of
winnerspiros
May 2, 2026 21:10
View session
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Vulkan crashed on every frame on Android (SIGSEGV PC=0 on Draw thread) due to
vkCmdPushDescriptorSetKHRbeing a null pointer. A second unrelated annoyance: anImportant-level log was popping a HUD notification on every OpenGL/Auto launch.Vulkan null function pointer (veldrid + framework bump)
On Android,
libvulkan.sodoes not export device-level extension functions viadlsym.ppy.Vk'sVulkanNativeloads all function pointers at startup viadlsym, sovkCmdPushDescriptorSetKHR_ptr = IntPtr.Zero. Veldrid sawVK_KHR_push_descriptorin the extension list, setHasPushDescriptors = true, and routed every resource set throughpushDescriptorSet()→ call through null ptr → crash.Fix in
winnerspiros/veldrid: loadvkCmdPushDescriptorSetKHRviagetDeviceProcAddr(same pattern asCmdBeginRendering,CmdSetFragmentShadingRate, etc.) and gateHasPushDescriptorson the pointer being non-null:Bumps
ppy.osu.Framework/.Android/.iOS2026.502.3→2026.502.4which ships this fix.Spurious HUD notification
OsuGameActivitylogged "SurfaceHolder.SetFormat skipped (OpenGL/Auto renderer — SDL3 handles format)" atLogLevel.Importanton every OpenGL/Auto launch. This is the normal, expected code path — demoted toLogLevel.Debugso it stays in the log file only.