X Tutup
Skip to content

Create new pools when they become fragmented on Vulkan.#114313

Merged
akien-mga merged 1 commit intogodotengine:masterfrom
blueskythlikesclouds:handle-descriptor-fragmentation
Jan 1, 2026
Merged

Create new pools when they become fragmented on Vulkan.#114313
akien-mga merged 1 commit intogodotengine:masterfrom
blueskythlikesclouds:handle-descriptor-fragmentation

Conversation

@blueskythlikesclouds
Copy link
Contributor

Confirmed to fix #112157.

Should be cherry-picked to 4.5.2 as well.

Copy link
Contributor

@AdriaandeJongh AdriaandeJongh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Confirmed this to fix the issue in Rift Riff on Android, thus hopefully reducing crash rate on android by at least 60-80%! Before this change, on one of my shitty android devices, the game would crash after 1–5 minutes. After this change, I can no longer reproduce the bug at all on that same device – no crash during a full hour of automated play through.

i already pushed a new version of rift riff to google play and will know in two weeks from now whether this fix has fully eliminated the crash.

massive thanks to @clayjohn, @akien-mga, @Alex2782, and @blueskythlikesclouds for all their help debugging and fixing this issue!

(here is the 525-replies megathread where we debugged and discussed this issue.)

@akien-mga akien-mga added the cherrypick:4.5 Considered for cherry-picking into a future 4.5.x release label Dec 24, 2025
Copy link
Member

@clayjohn clayjohn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great to me!

We are still trying to understand why we are getting fragmented pools with this strategy, but this code should work in the meantime. edit (Dario found out why lol #114657)

In the long term, we may want to overhaul our descriptor set management code altogether since it can likely be made to be more efficient on all platforms, both in terms of per-frame CPU cost and memory usage

@akien-mga akien-mga merged commit 7692a3d into godotengine:master Jan 1, 2026
20 checks passed
@akien-mga
Copy link
Member

Thanks!

@akien-mga
Copy link
Member

Cherry-picked for 4.5.2.

@akien-mga akien-mga removed the cherrypick:4.5 Considered for cherry-picking into a future 4.5.x release label Jan 6, 2026
@blueskythlikesclouds blueskythlikesclouds deleted the handle-descriptor-fragmentation branch January 15, 2026 09:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ARM Mali crash in _uniform_set_update_shared()

4 participants

X Tutup