diff options
author | Alec Mouri <alecmouri@google.com> | 2020-05-08 23:54:17 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2020-05-08 23:54:17 +0000 |
commit | 00f681a5827512248c79180a5fdb364f6140a660 (patch) | |
tree | 0cf13dfd87715c5904c5b7150d5059599af84618 /native | |
parent | 0d85a392afcb57a5111a8620ce68944850235626 (diff) | |
parent | cf3ad873ddd7f1abf3804936befa511b2fbb12b6 (diff) |
Merge "Dispatch refresh rate callbacks from DMS" into rvc-dev
Diffstat (limited to 'native')
-rw-r--r-- | native/android/Android.bp | 7 | ||||
-rw-r--r-- | native/android/choreographer.cpp | 52 | ||||
-rw-r--r-- | native/android/surface_texture.cpp | 52 |
3 files changed, 109 insertions, 2 deletions
diff --git a/native/android/Android.bp b/native/android/Android.bp index ed73f39e57f8..797d3fd8c2ff 100644 --- a/native/android/Android.bp +++ b/native/android/Android.bp @@ -37,6 +37,7 @@ cc_library_shared { srcs: [ "asset_manager.cpp", + "choreographer.cpp", "configuration.cpp", "hardware_buffer_jni.cpp", "input.cpp", @@ -49,6 +50,7 @@ cc_library_shared { "sharedmem.cpp", "storage_manager.cpp", "surface_control.cpp", + "surface_texture.cpp", "system_fonts.cpp", "trace.cpp", "thermal.cpp" @@ -76,6 +78,7 @@ cc_library_shared { "libpowermanager", "android.hardware.configstore@1.0", "android.hardware.configstore-utils", + "libnativedisplay", ], static_libs: [ @@ -83,9 +86,9 @@ cc_library_shared { "libarect", ], - header_libs: [ "libhwui_internal_headers" ], + header_libs: [ "libhwui_internal_headers",], - whole_static_libs: ["libnativedisplay", "libnativewindow"], + whole_static_libs: ["libnativewindow"], export_static_lib_headers: ["libarect"], diff --git a/native/android/choreographer.cpp b/native/android/choreographer.cpp new file mode 100644 index 000000000000..38641de0efb3 --- /dev/null +++ b/native/android/choreographer.cpp @@ -0,0 +1,52 @@ +/* + * Copyright 2020 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 <private/android/choreographer.h> + +using namespace android; + +AChoreographer* AChoreographer_getInstance() { + return AChoreographer_routeGetInstance(); +} +void AChoreographer_postFrameCallback(AChoreographer* choreographer, + AChoreographer_frameCallback callback, void* data) { + return AChoreographer_routePostFrameCallback(choreographer, callback, data); +} +void AChoreographer_postFrameCallbackDelayed(AChoreographer* choreographer, + AChoreographer_frameCallback callback, void* data, + long delayMillis) { + return AChoreographer_routePostFrameCallbackDelayed(choreographer, callback, data, delayMillis); +} +void AChoreographer_postFrameCallback64(AChoreographer* choreographer, + AChoreographer_frameCallback64 callback, void* data) { + return AChoreographer_routePostFrameCallback64(choreographer, callback, data); +} +void AChoreographer_postFrameCallbackDelayed64(AChoreographer* choreographer, + AChoreographer_frameCallback64 callback, void* data, + uint32_t delayMillis) { + return AChoreographer_routePostFrameCallbackDelayed64(choreographer, callback, data, + delayMillis); +} +void AChoreographer_registerRefreshRateCallback(AChoreographer* choreographer, + AChoreographer_refreshRateCallback callback, + void* data) { + return AChoreographer_routeRegisterRefreshRateCallback(choreographer, callback, data); +} +void AChoreographer_unregisterRefreshRateCallback(AChoreographer* choreographer, + AChoreographer_refreshRateCallback callback, + void* data) { + return AChoreographer_routeUnregisterRefreshRateCallback(choreographer, callback, data); +} diff --git a/native/android/surface_texture.cpp b/native/android/surface_texture.cpp new file mode 100644 index 000000000000..ff35204b2ec9 --- /dev/null +++ b/native/android/surface_texture.cpp @@ -0,0 +1,52 @@ +/* + * Copyright 2020 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_jni.h> +#include <surfacetexture/surface_texture_platform.h> + +using namespace android; + +ANativeWindow* ASurfaceTexture_acquireANativeWindow(ASurfaceTexture* st) { + return ASurfaceTexture_routeAcquireANativeWindow(st); +} + +int ASurfaceTexture_attachToGLContext(ASurfaceTexture* st, uint32_t texName) { + return ASurfaceTexture_routeAttachToGLContext(st, texName); +} + +int ASurfaceTexture_detachFromGLContext(ASurfaceTexture* st) { + return ASurfaceTexture_routeDetachFromGLContext(st); +} + +void ASurfaceTexture_release(ASurfaceTexture* st) { + return ASurfaceTexture_routeRelease(st); +} + +int ASurfaceTexture_updateTexImage(ASurfaceTexture* st) { + return ASurfaceTexture_routeUpdateTexImage(st); +} + +void ASurfaceTexture_getTransformMatrix(ASurfaceTexture* st, float mtx[16]) { + return ASurfaceTexture_routeGetTransformMatrix(st, mtx); +} + +int64_t ASurfaceTexture_getTimestamp(ASurfaceTexture* st) { + return ASurfaceTexture_routeGetTimestamp(st); +} + +ASurfaceTexture* ASurfaceTexture_fromSurfaceTexture(JNIEnv* env, jobject surfacetexture) { + return ASurfaceTexture_routeFromSurfaceTexture(env, surfacetexture); +} |