Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Adreno 3xx compatibility for devices with newer driver versions #92741

Merged
merged 1 commit into from
Jun 14, 2024

Conversation

Alex2782
Copy link
Contributor

@Alex2782 Alex2782 commented Jun 3, 2024

Fixes #92662

Adreno 3xx devices with newer driver version are not affected.

@Alex2782 Alex2782 force-pushed the fix_adreno_3xx_compatibility branch from e53ace8 to 12c981c Compare June 3, 2024 23:08
@akien-mga akien-mga changed the title Fix Adreno 3xx Compatibility Fix Adreno 3xx compatibility for devices with newer driver versions Jun 11, 2024
@akien-mga akien-mga requested a review from clayjohn June 11, 2024 11:06
@Alex2782 Alex2782 force-pushed the fix_adreno_3xx_compatibility branch from 12c981c to aed6b02 Compare June 11, 2024 21:24
@Alex2782
Copy link
Contributor Author

Alex2782 commented Jun 13, 2024

I could not reproduce a crash when GPUParticles2D is active. Invisible, or only visible for a few milliseconds.
Should we remove disable_particles_workaround again?

Tests on Firebase Test Lab

Moto Z, Android API 24, Adreno (TM) 530, GLES 3.2 [email protected]

web-build_20240613_7bwb_griffin-24-en_US-landscape_video.mp4

moto e5 play, Android API 27, Adreno (TM) 308, GLES 3.0 [email protected]

web-build_20240613_7bwb_pettyl-27-en_US-landscape_video.mp4

Note: on Adreno 5xx with Vulkan Mobile the GPUParticles does not work either, invisible. (#[compute] maybe)

https://docs.godotengine.org/en/stable/tutorials/shaders/compute_shaders.html

Note that compute shader support is generally poor on mobile devices (due to driver bugs), even if they are technically supported.

@Alex2782 Alex2782 requested a review from clayjohn June 13, 2024 15:42
@clayjohn
Copy link
Member

I could not reproduce a crash when GPUParticles2D is active. Invisible, or only visible for a few milliseconds.
Should we remove disable_particles_workaround again?

Looking back at #88816 I am reminded that joined72 was able to fix the crash, but the particles still do not show up. In the end, we decided to disable them because they were invisible anyway and they reduced performance a lot #88816 (comment). Accordingly, I would keep the disable_particles_workaround for now

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 good to me. We still don't know exactly what driver version the flip_xy bug was fixed in, but the code looks great. We can adjust the exact driver version in the check once we have confirmation from Qualcomm

@akien-mga akien-mga merged commit 3b7c7d8 into godotengine:master Jun 14, 2024
16 checks passed
@akien-mga
Copy link
Member

Thanks!

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.

godot 4.3 beta 1 mobile is rendering inversely to the screen.
4 participants