Remove unused "mNormal" uniform to fix crash on GLES2 with shaders #13843
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.
Fixes #13841.
Clients with
video_driver = ogles2
andenable_shaders = true
(the defaults on Android) sometimes crash with the following error:I have no minimal reproducible example for triggering the crash, but you can trigger it by playing the "Murder" minigame as seen on the "[Minigames] A.E.S." server.
The crash occurs in the code that is responsible for calculating the value of the
mNormal
shader uniform on GLES2. I have no idea what's going on there, maybe the math is wrong, but: The uniform is unused, and it looks like it has been unused since its introduction in #10506.Since
mNormal
is unused, I simply removed it. That fixes the crash.To do
This PR is a Ready for Review.
How to test
Compile Minetest with
ENABLE_GLES2=TRUE
and putvideo_driver = ogles2
andenable_shaders = true
into yourminetest.conf
.OR
Use an Android build.
Join the "[Minigames] A.E.S." server on the public serverlist with three clients and play the "Murder" minigame.
Verify that none of your clients crash during the game.