summaryrefslogtreecommitdiff
path: root/native
diff options
context:
space:
mode:
authorStan Iliev <stani@google.com>2020-01-13 11:29:18 -0500
committerStan Iliev <stani@google.com>2020-01-17 20:09:19 +0000
commit5af5d3077f921994b90e9bad89d393421f3cc160 (patch)
treee583f7767a51589a55ce7701e4e7f0ace3992b96 /native
parent25e6dd3ed13346a0fe7056d02ad9faf1328367e2 (diff)
Refactor TextureLayer JNI to use only APEX APIs
Move ASurfaceTexture JNI implementation from libandroid to libnativedisplay. TextureLayer uses ASurfaceTexture_fromSurfaceTexture from libnativedisplay instead of libandroid_runtime code. libgui is no longer leaked through surface_texture_platform.h. DeferredLayerUpdater uses ASurfaceTexture_release instead of private ASurfaceTexture dtor. Test: pass CtsUiRenderingTestCases and CtsViewTestCases Bug: 147060713 Exempt-From-Owner-Approval: Changed only a header path in android_hardware_camera2_legacy_LegacyCameraDevice.cpp Change-Id: I9720d9c383f8120f9db116fd2b74fc241af84396
Diffstat (limited to 'native')
-rw-r--r--native/android/Android.bp3
-rw-r--r--native/android/surface_texture.cpp70
2 files changed, 2 insertions, 71 deletions
diff --git a/native/android/Android.bp b/native/android/Android.bp
index 9d93c9b7b605..0c6f507787d9 100644
--- a/native/android/Android.bp
+++ b/native/android/Android.bp
@@ -47,7 +47,6 @@ cc_library_shared {
"sensor.cpp",
"sharedmem.cpp",
"storage_manager.cpp",
- "surface_texture.cpp",
"surface_control.cpp",
"system_fonts.cpp",
"trace.cpp",
@@ -70,6 +69,8 @@ cc_library_shared {
"libnetd_client",
"libhwui",
"libxml2",
+ "libEGL",
+ "libGLESv2",
"android.hardware.configstore@1.0",
"android.hardware.configstore-utils",
],
diff --git a/native/android/surface_texture.cpp b/native/android/surface_texture.cpp
deleted file mode 100644
index 3049ec16e2d4..000000000000
--- a/native/android/surface_texture.cpp
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <android/surface_texture.h>
-#include <android/surface_texture_jni.h>
-
-#define LOG_TAG "ASurfaceTexture"
-
-#include <utils/Log.h>
-
-#include <gui/Surface.h>
-
-#include <gui/surfacetexture/surface_texture_platform.h>
-
-#include <android_runtime/android_graphics_SurfaceTexture.h>
-
-using namespace android;
-
-ASurfaceTexture* ASurfaceTexture_fromSurfaceTexture(JNIEnv* env, jobject surfacetexture) {
- if (!surfacetexture || !android_SurfaceTexture_isInstanceOf(env, surfacetexture)) {
- return nullptr;
- }
- auto consumer = SurfaceTexture_getSurfaceTexture(env, surfacetexture);
- auto producer = SurfaceTexture_getProducer(env, surfacetexture);
- return ASurfaceTexture_create(consumer, producer);
-}
-
-ANativeWindow* ASurfaceTexture_acquireANativeWindow(ASurfaceTexture* st) {
- sp<Surface> surface = new Surface(st->producer);
- ANativeWindow* win(surface.get());
- ANativeWindow_acquire(win);
- return win;
-}
-
-void ASurfaceTexture_release(ASurfaceTexture* st) {
- delete st;
-}
-
-int ASurfaceTexture_attachToGLContext(ASurfaceTexture* st, uint32_t tex) {
- return st->consumer->attachToContext(tex);
-}
-
-int ASurfaceTexture_detachFromGLContext(ASurfaceTexture* st) {
- return st->consumer->detachFromContext();
-}
-
-int ASurfaceTexture_updateTexImage(ASurfaceTexture* st) {
- return st->consumer->updateTexImage();
-}
-
-void ASurfaceTexture_getTransformMatrix(ASurfaceTexture* st, float mtx[16]) {
- st->consumer->getTransformMatrix(mtx);
-}
-
-int64_t ASurfaceTexture_getTimestamp(ASurfaceTexture* st) {
- return st->consumer->getTimestamp();
-}