summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2017-07-21 01:17:50 -0700
committerTobrun <tobrun@mapbox.com>2017-07-21 10:17:50 +0200
commitfb8d40ae6754ef1becd09cd91d45b1f980cf19e5 (patch)
tree24d8b18bca429654676726b7276faf5505b51a23
parentf6871f7339aff7cd052cd5d177141ccbf35426cf (diff)
downloadqtlocation-mapboxgl-fb8d40ae6754ef1becd09cd91d45b1f980cf19e5.tar.gz
[core] Work around Adreno 2xx GPU bugs (#9573)
-rw-r--r--src/mbgl/gl/context.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mbgl/gl/context.cpp b/src/mbgl/gl/context.cpp
index 35683cff89..1a8d5c0775 100644
--- a/src/mbgl/gl/context.cpp
+++ b/src/mbgl/gl/context.cpp
@@ -615,6 +615,13 @@ void Context::setDrawMode(const TriangleStrip&) {
void Context::setDepthMode(const DepthMode& depth) {
if (depth.func == DepthMode::Always && !depth.mask) {
depthTest = false;
+
+ // Workaround for rendering errors on Adreno 2xx GPUs. Depth-related state should
+ // not matter when the depth test is disabled, but on these GPUs it apparently does.
+ // https://github.com/mapbox/mapbox-gl-native/issues/9164
+ depthFunc = depth.func;
+ depthMask = depth.mask;
+ depthRange = depth.range;
} else {
depthTest = true;
depthFunc = depth.func;