From ee3ffa8cec05c0d5cb1a3aef6ae926dbb077b478 Mon Sep 17 00:00:00 2001 From: Hannes Janetzek Date: Thu, 8 May 2014 12:33:22 +0200 Subject: [PATCH] dont use vbo texture-layers for samsung devices with kitkat --- vtm-android/src/org/oscim/android/MapView.java | 7 +++++++ vtm/src/org/oscim/backend/GLAdapter.java | 8 +++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/vtm-android/src/org/oscim/android/MapView.java b/vtm-android/src/org/oscim/android/MapView.java index 4c430f1d..f5d04765 100644 --- a/vtm-android/src/org/oscim/android/MapView.java +++ b/vtm-android/src/org/oscim/android/MapView.java @@ -27,6 +27,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import android.content.Context; +import android.os.Build; import android.util.AttributeSet; import android.util.DisplayMetrics; import android.view.GestureDetector; @@ -58,6 +59,12 @@ public class MapView extends RelativeLayout { AndroidAssets.init(context); GLAdapter.init(new AndroidGL()); + /* Use workaround for adreno driver bug in some + * samsung S4 and Note3 models */ + if (Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT + && "samsung".equals(Build.MANUFACTURER)) + GLAdapter.VBO_TEXTURE_LAYERS = false; + DisplayMetrics metrics = getResources().getDisplayMetrics(); CanvasAdapter.dpi = (int) Math.max(metrics.xdpi, metrics.ydpi); diff --git a/vtm/src/org/oscim/backend/GLAdapter.java b/vtm/src/org/oscim/backend/GLAdapter.java index ac41af74..e9ddbfe1 100644 --- a/vtm/src/org/oscim/backend/GLAdapter.java +++ b/vtm/src/org/oscim/backend/GLAdapter.java @@ -24,16 +24,14 @@ public class GLAdapter { /** The instance provided by backend */ private static GL20 g; - public static boolean GDX_DESKTOP_QUIRKS; - public static boolean GDX_WEBGL_QUIRKS; - - public static boolean NON_PREMUL_CANVAS; + public static boolean GDX_DESKTOP_QUIRKS = false; + public static boolean GDX_WEBGL_QUIRKS = false; /** * Set false as workaround for adreno driver issue: * https://github.com/opensciencemap/vtm/issues/52 */ - public static boolean VBO_TEXTURE_LAYERS = false; + public static boolean VBO_TEXTURE_LAYERS = true; public static GL20 get() { if (g == null)