diff options
author | Stan Iliev <stani@google.com> | 2020-01-13 11:29:18 -0500 |
---|---|---|
committer | Stan Iliev <stani@google.com> | 2020-01-17 20:09:19 +0000 |
commit | 5af5d3077f921994b90e9bad89d393421f3cc160 (patch) | |
tree | e583f7767a51589a55ce7701e4e7f0ace3992b96 /native | |
parent | 25e6dd3ed13346a0fe7056d02ad9faf1328367e2 (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.bp | 3 | ||||
-rw-r--r-- | native/android/surface_texture.cpp | 70 |
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(); -} |