Skip to content

Device using Qualcomm Adreno 308 (supports OpenGL ES 3.0) crashes with current OpenGL ES 3.1 #36130

@ghost

Description

I have my app running on Android 7 to 9, except on a Samsung J6+ which has a Qualcomm Adreno 308, supporting OpenGL 3.0.

AndroidManifest.xml already contains:

<uses-feature android:glEsVersion="0x00030000" android:required="true" />

Gradle:

    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.1'
        classpath 'com.google.gms:google-services:4.2.0'
        classpath 'io.fabric.tools:gradle:1.29.0'
    }

App Gradle:

    defaultConfig {
        applicationId "br.com.xx.xx.xx"
        minSdkVersion 22
        targetSdkVersion 29
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    . . .

    implementation 'androidx.core:core:1.0.2'
    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'androidx.preference:preference:1.0.0'
    implementation 'androidx.legacy:legacy-support-core-utils:1.0.0'
    implementation 'com.google.android.material:material:1.1.0-alpha07'
    implementation 'androidx.multidex:multidex:2.0.0'

    implementation 'com.google.firebase:firebase-database:17.0.0'
    implementation 'com.google.firebase:firebase-auth:17.0.0'
    implementation 'com.google.firebase:firebase-crash:16.2.1'
    implementation 'com.google.android.gms:play-services-base:17.0.0'
    implementation 'com.google.android.gms:play-services-auth:17.0.0'
    implementation 'com.google.android.gms:play-services-location:17.0.0'
    implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'

    androidTestImplementation 'androidx.test:runner:1.2.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

What am I getting wrong? Is there any way to have the app forcibly compiled with OpenGL ES 3.0 ?

Steps to Reproduce

Run on a real J6+ device.

Logs

Syncing files to device SM J610G...
D/ViewRootImpl@adfe2db[MainActivity](28843): MSG_WINDOW_FOCUS_CHANGED 1 1
D/InputMethodManager(28843): prepareNavigationBarInfo() DecorView@6cbb45d[MainActivity]
D/InputMethodManager(28843): getNavigationBarColor() -855310
D/InputMethodManager(28843): prepareNavigationBarInfo() DecorView@6cbb45d[MainActivity]
D/InputMethodManager(28843): getNavigationBarColor() -855310
V/InputMethodManager(28843): Starting input: tba=br.com.xx.xx.xx ic=null mNaviBarColor -855310 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
D/InputMethodManager(28843): startInputInner - Id : 0
I/InputMethodManager(28843): startInputInner - mService.startInputOrWindowGainedFocus
D/ViewRootImpl@adfe2db[MainActivity](28843): MSG_RESIZED_REPORT: frame=[0,0][720,1480] ci=[0,42][0,84] vi=[0,42][0,84] or=1
D/InputTransport(28843): Input channel constructed: fd=101
D/InputMethodManager(28843): prepareNavigationBarInfo() DecorView@6cbb45d[MainActivity]
D/InputMethodManager(28843): getNavigationBarColor() -855310
V/InputMethodManager(28843): Starting input: tba=br.com.xx.xx.xx ic=null mNaviBarColor -855310 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
D/InputMethodManager(28843): startInputInner - Id : 0
I/flutter (28843): AppScoped.setupModels()
I/flutter (28843): MainApp.build() -> user not authenticated
**I/Adreno  (28843): ERROR: The GPU does not support this version of OpenGL ES, try an older version**
D/skia    (28843): Shader compilation error
D/skia    (28843): ------------------------
D/skia    (28843):    1	#version 310 es
D/skia    (28843):    2	
D/skia    (28843):    3	in highp vec4 sk_FragCoord_Workaround;
D/skia    (28843):    4	precision mediump float;
D/skia    (28843):    5	out mediump vec4 sk_FragColor;
D/skia    (28843):    6	in mediump vec4 vcolor_Stage0;
D/skia    (28843):    7	void main() {
D/skia    (28843):    8	    mediump vec4 outputColor_Stage0;
D/skia    (28843):    9	    {
D/skia    (28843):   10	        outputColor_Stage0 = vcolor_Stage0;
D/skia    (28843):   11	    }
D/skia    (28843):   12	    {
D/skia    (28843):   13	        sk_FragColor = outputColor_Stage0;
D/skia    (28843):   14	    }
D/skia    (28843):   15	}
D/skia    (28843):   16	
D/skia    (28843): Errors:
D/skia    (28843): ERROR: The GPU does not support this version of OpenGL ES, try an older version
D/skia    (28843): 
I/Adreno  (28843): ERROR: The GPU does not support this version of OpenGL ES, try an older version
D/skia    (28843): Shader compilation error
D/skia    (28843): ------------------------
D/skia    (28843):    1	#version 310 es
D/skia    (28843):    2	
D/skia    (28843):    3	in highp vec4 sk_FragCoord_Workaround;
D/skia    (28843):    4	precision mediump float;
D/skia    (28843):    5	out mediump vec4 sk_FragColor;
D/skia    (28843):    6	in highp vec4 vinCircleEdge_Stage0;
D/skia    (28843):    7	in mediump vec4 vinColor_Stage0;
D/skia    (28843):    8	void main() {
D/skia    (28843):    9	    mediump vec4 outputColor_Stage0;
D/skia    (28843):   10	    mediump vec4 outputCoverage_Stage0;
D/skia    (28843):   11	    {
D/skia    (28843):   12	        highp vec4 circleEdge;
D/skia    (28843):   13	        circleEdge = vinCircleEdge_Stage0;
D/skia    (28843):   14	        outputColor_Stage0 = vinColor_Stage0;
D/skia    (28843):   15	        highp float d = length(circleEdge.xy);
D/skia    (28843):   16	        mediump float distanceToOuterEdge = circleEdge.z * (1.0 - d);
D/skia    (28843):   17	        mediump float edgeAlpha = clamp(distanceToOuterEdge, 0.0, 1.0);
D/skia    (28843):   18	        mediump float distanceToInnerEdge = circleEdge.z * (d - circleEdge.w);
D/skia    (28843):   19	        mediump float innerAlpha = clamp(distanceToInnerEdge, 0.0, 1.0);
D/skia    (28843):   20	        edgeAlpha *= innerAlpha;
D/skia    (28843):   21	        outputCoverage_Stage0 = vec4(edgeAlpha);
D/skia    (28843):   22	    }
D/skia    (28843):   23	    {
D/skia    (28843):   24	        sk_FragColor = outputColor_Stage0 * outputCoverage_Stage0;
D/skia    (28843):   25	    }
D/skia    (28843):   26	}
D/skia    (28843):   27	
D/skia    (28843): Errors:
D/skia    (28843): ERROR: The GPU does not support this version of OpenGL ES, try an older version


flutter doctor -v results:

[√] Flutter (Channel dev, v1.8.0, on Microsoft Windows [Version 10.0.15063], locale pt-BR)
    • Flutter version 1.8.0 at C:\Users\fernando\AppData\Local\Flutter
    • Framework revision 2fefa8c731 (12 days ago), 2019-07-01 11:33:22 -0700
    • Engine revision 45b66b722e
    • Dart version 2.4.0

[!] Android toolchain - develop for Android devices (Android SDK version 29.0.0)
    • Android SDK at C:\Users\fernando\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.0
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses

[√] Android Studio (version 3.4)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 36.1.1
    • Dart plugin version 183.6270
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)

[√] VS Code (version 1.36.1)
    • VS Code at C:\Users\fernando\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.2.0

[√] Connected device (1 available)
    • SM J610G • 715690a3 • android-arm • Android 9 (API 28)

! Doctor found issues in 1 category.


Metadata

Metadata

Assignees

Labels

c: crashStack traces logged to the consolec: regressionIt was better in the past than it is nowcustomer: crowdAffects or could affect many people, though not necessarily a specific customer.customer: googleVarious Google teamsdependency: skiaSkia team may need to help usplatform-androidAndroid applications specificallywaiting for PR to land (fixed)A fix is in flight

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions