Workaround for failure to clear depth buffer on some Android devices. #7471
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 issue #3437.
We don't expect
gl.depthRange
to affect the behavior ofgl.clearDepth
, but experimentally, it appears that we're failing to clear the depth buffer on some Android devices, and resetting the depth range before the clear call appears to fix the problem (maybe because some drivers implementclearDepth
in terms of just drawing a full screen quad to the depth buffer?). This only happens once per frame, so should be negligibly expensive.The only place I could reproduce this issue was on a BrowserStack Galaxy S6 image running Chrome 68.0.3440.85/Android 5.0.2 -- we'll need to collect feedback from other people who have encountered #3437 to see how full a fix this is.
write tests for all new functionalitydocument any changes to public APIspost benchmark scorestagged@mapbox/studio
and/or@mapbox/maps-design
if this PR includes style spec changes/cc @ansis @mollymerp @chloekraw