diff --git a/android/app/src/main/kotlin/com/edde746/plezy/FlutterRendererPolicy.kt b/android/app/src/main/kotlin/com/edde746/plezy/FlutterRendererPolicy.kt index 18d96b02..0cc9ac99 100644 --- a/android/app/src/main/kotlin/com/edde746/plezy/FlutterRendererPolicy.kt +++ b/android/app/src/main/kotlin/com/edde746/plezy/FlutterRendererPolicy.kt @@ -5,8 +5,7 @@ internal enum class FlutterRenderer( val shellArgument: String? ) { SKIA("Skia", "--enable-impeller=false"), - IMPELLER("Impeller", null), - IMPELLER_OPEN_GLES("Impeller (OpenGLES)", "--impeller-backend=opengles") + IMPELLER("Impeller", null) } /** Selects the Flutter UI renderer before the engine starts. */ @@ -33,11 +32,11 @@ internal object FlutterRendererPolicy { return FlutterRenderer.SKIA } - // PowerVR BXE-4-32 drivers in TCL's 32-bit Android 12 TV platform leave - // stale Vulkan frames on screen while scrolling (#1658, flutter/flutter#189767). - // Impeller's OpenGLES backend renders correctly on the same hardware. + // Impeller's Vulkan and OpenGLES backends both leave stale frames on the + // affected 32-bit TCL TV when Plezy uses its transparent TextureView + // composition (#1658). Restore the pre-2.9.0 Skia path for this hardware. if (!is64Bit && manufacturer.equals("TCL", ignoreCase = true)) { - return FlutterRenderer.IMPELLER_OPEN_GLES + return FlutterRenderer.SKIA } return FlutterRenderer.IMPELLER diff --git a/android/app/src/test/kotlin/com/edde746/plezy/FlutterRendererPolicyTest.kt b/android/app/src/test/kotlin/com/edde746/plezy/FlutterRendererPolicyTest.kt index 5ff2bfc2..7d2e042f 100644 --- a/android/app/src/test/kotlin/com/edde746/plezy/FlutterRendererPolicyTest.kt +++ b/android/app/src/test/kotlin/com/edde746/plezy/FlutterRendererPolicyTest.kt @@ -6,12 +6,12 @@ import org.junit.Test class FlutterRendererPolicyTest { @Test - fun affected32BitTclTvUsesImpellerOpenGles() { + fun affected32BitTclTvUsesSkia() { val renderer = select(manufacturer = "TCL", is64Bit = false) - assertEquals(FlutterRenderer.IMPELLER_OPEN_GLES, renderer) - assertEquals("--impeller-backend=opengles", renderer.shellArgument) - assertEquals("Impeller (OpenGLES)", renderer.diagnosticName) + assertEquals(FlutterRenderer.SKIA, renderer) + assertEquals("--enable-impeller=false", renderer.shellArgument) + assertEquals("Skia", renderer.diagnosticName) } @Test