Revert "Apply transform to textures on android (#4486)" (#4502)
This reverts commit eee4a1ed821e98922476f2ce0b1e99ce1a606704.
Original commit caused external_ui integration test failure on Android.
diff --git a/shell/platform/android/android_external_texture_gl.cc b/shell/platform/android/android_external_texture_gl.cc
index 305ee4f..41a89cc 100644
--- a/shell/platform/android/android_external_texture_gl.cc
+++ b/shell/platform/android/android_external_texture_gl.cc
@@ -4,6 +4,7 @@
#include "flutter/shell/platform/android/android_external_texture_gl.h"
+// #include <GLES/gl.h>
#include <GLES/glext.h>
#include "flutter/common/threads.h"
#include "flutter/shell/platform/android/platform_view_android_jni.h"
@@ -14,7 +15,7 @@
AndroidExternalTextureGL::AndroidExternalTextureGL(
int64_t id,
const fml::jni::JavaObjectWeakGlobalRef& surfaceTexture)
- : Texture(id), surface_texture_(surfaceTexture), transform(SkMatrix::I()) {}
+ : Texture(id), surface_texture_(surfaceTexture) {}
AndroidExternalTextureGL::~AndroidExternalTextureGL() = default;
@@ -43,42 +44,16 @@
new_frame_ready_ = false;
}
GrGLTextureInfo textureInfo = {GL_TEXTURE_EXTERNAL_OES, texture_name_};
- GrBackendTexture backendTexture(1, 1, kRGBA_8888_GrPixelConfig, textureInfo);
+ GrBackendTexture backendTexture(bounds.width(), bounds.height(),
+ kRGBA_8888_GrPixelConfig, textureInfo);
sk_sp<SkImage> image = SkImage::MakeFromTexture(
canvas.getGrContext(), backendTexture, kTopLeft_GrSurfaceOrigin,
SkAlphaType::kPremul_SkAlphaType, nullptr);
if (image) {
- SkAutoCanvasRestore autoRestore(&canvas, true);
- canvas.translate(bounds.x(), bounds.y());
- canvas.scale(bounds.width(), bounds.height());
- if (!transform.isIdentity()) {
- SkMatrix transformAroundCenter(transform);
-
- transformAroundCenter.preTranslate(-0.5, -0.5);
- transformAroundCenter.postScale(1, -1);
- transformAroundCenter.postTranslate(0.5, 0.5);
- canvas.concat(transformAroundCenter);
- }
- canvas.drawImage(image, 0, 0);
+ canvas.drawImage(image, bounds.x(), bounds.y());
}
}
-void AndroidExternalTextureGL::UpdateTransform() {
- JNIEnv* env = fml::jni::AttachCurrentThread();
- fml::jni::ScopedJavaLocalRef<jobject> surfaceTexture =
- surface_texture_.get(env);
- jfloatArray transformMatrix = env->NewFloatArray(16);
- SurfaceTextureGetTransformMatrix(env, surfaceTexture.obj(), transformMatrix);
- float* m = env->GetFloatArrayElements(transformMatrix, nullptr);
- SkScalar matrix3[] = {
- m[0], m[1], m[2], //
- m[4], m[5], m[6], //
- m[8], m[9], m[10], //
- };
- env->ReleaseFloatArrayElements(transformMatrix, m, JNI_ABORT);
- transform.set9(matrix3);
-}
-
void AndroidExternalTextureGL::OnGrContextDestroyed() {
ASSERT_IS_GPU_THREAD;
if (state_ == AttachmentState::attached) {
@@ -102,7 +77,6 @@
surface_texture_.get(env);
if (!surfaceTexture.is_null()) {
SurfaceTextureUpdateTexImage(env, surfaceTexture.obj());
- UpdateTransform();
}
}
diff --git a/shell/platform/android/android_external_texture_gl.h b/shell/platform/android/android_external_texture_gl.h
index df890b9..73b1de2 100644
--- a/shell/platform/android/android_external_texture_gl.h
+++ b/shell/platform/android/android_external_texture_gl.h
@@ -35,8 +35,6 @@
void Detach();
- void UpdateTransform();
-
enum class AttachmentState { uninitialized, attached, detached };
fml::jni::JavaObjectWeakGlobalRef surface_texture_;
@@ -47,8 +45,6 @@
GLuint texture_name_ = 0;
- SkMatrix transform;
-
FXL_DISALLOW_COPY_AND_ASSIGN(AndroidExternalTextureGL);
};
diff --git a/shell/platform/android/platform_view_android_jni.cc b/shell/platform/android/platform_view_android_jni.cc
index be70ff4..448e809 100644
--- a/shell/platform/android/platform_view_android_jni.cc
+++ b/shell/platform/android/platform_view_android_jni.cc
@@ -90,15 +90,6 @@
FXL_CHECK(CheckException(env));
}
-static jmethodID g_get_transform_matrix_method = nullptr;
-void SurfaceTextureGetTransformMatrix(JNIEnv* env,
- jobject obj,
- jfloatArray result) {
- ASSERT_IS_GPU_THREAD;
- env->CallVoidMethod(obj, g_get_transform_matrix_method, result);
- FXL_CHECK(CheckException(env));
-}
-
static jmethodID g_detach_from_gl_context_method = nullptr;
void SurfaceTextureDetachFromGLContext(JNIEnv* env, jobject obj) {
ASSERT_IS_GPU_THREAD;
@@ -511,13 +502,6 @@
return false;
}
- g_get_transform_matrix_method = env->GetMethodID(
- g_surface_texture_class->obj(), "getTransformMatrix", "([F)V");
-
- if (g_get_transform_matrix_method == nullptr) {
- return false;
- }
-
g_detach_from_gl_context_method = env->GetMethodID(
g_surface_texture_class->obj(), "detachFromGLContext", "()V");
diff --git a/shell/platform/android/platform_view_android_jni.h b/shell/platform/android/platform_view_android_jni.h
index 65dff97..7691573 100644
--- a/shell/platform/android/platform_view_android_jni.h
+++ b/shell/platform/android/platform_view_android_jni.h
@@ -33,10 +33,6 @@
void SurfaceTextureUpdateTexImage(JNIEnv* env, jobject obj);
-void SurfaceTextureGetTransformMatrix(JNIEnv* env,
- jobject obj,
- jfloatArray result);
-
void SurfaceTextureDetachFromGLContext(JNIEnv* env, jobject obj);
} // namespace shell