Add all PowerVR devices to the transform feedback shader cache ban list#111329
Conversation
97e3dc8 to
8b023eb
Compare
02be35b to
42a76b7
Compare
|
#94915 (comment) Is there anything else I should test? |
Nope. The bug this fixes is caused by loading particle shaders from the cache. So the only thing that needs to be tested is particles and multiple runs so the cache is triggered |
|
Needs rebase to pass CI (and the commit can be amended with BTW, #111729 (comment) might he a hint of this issue also affecting latest Pixel 10, so excluding all PowerVR devices does seem like the best approach. |
42a76b7 to
756a5df
Compare
…eedback shader cache
756a5df to
b20466d
Compare
|
Updated! Should be good to go now |
There was a problem hiding this comment.
Unfortunately, I can't restart the app on Firebase Test Lab to test the cache. Restarting the app ends the session. Let's implement these changes and see if they reduce the crash rate in the Android Godot Editor.
Tests on Firebase Test Lab
extends Control
func _ready():
await get_tree().create_timer(3.0).timeout
%GPUParticles2D.visible = true
if FileAccess.file_exists("user://shader_cache_tested.txt"):
print("Second launch")
else:
var f = FileAccess.open("user://shader_cache_tested.txt", FileAccess.WRITE)
f.store_string("done")
f.close()
print("First launch")
await get_tree().create_timer(5.0).timeout
restart_app()
func restart_app():
var exe = OS.get_executable_path()
OS.create_process(exe, [])
get_tree().quit()
moto g54 5G
On this device, the video runs longer (the test session was active for a longer time); on other devices, the session ends immediately. However, restarting worked on my Samsung Tab S7, Android 13.
web-build_20251019_riol_cancunf-34-en_US-landscape_video.mp4
Devices: Pixel 10, Galaxy A12, moto g54 5G, Galaxy A03s
No crash reproduced with GPUParticles2D (first start, without cache)
v4.5.stable.official [876b290]
|
Thanks! |
|
Cherry-picked for 4.5.2. |
|
Cherry-picked for 4.4.2. |
Based on the feedback from @kisg and the comments in #94915 it seems safest to just disable the shader cache for transform feedback shaders for all PowerVR devices. From what we have learned the latest devices may no longer have the bug that causes this crash. But for users it is much better for us to put a stop to this crash once and for all, and then later evaluate opting in to drivers above a certain version threshold.
We should merge this PR soon for 4.6 and then prioritize it for 4.5.2 so that we can quickly help reduce crash rates for released games