summaryrefslogtreecommitdiff
path: root/native/android/surface_texture.cpp
diff options
context:
space:
mode:
authorAlec Mouri <alecmouri@google.com>2020-04-27 22:36:17 -0700
committerAlec Mouri <alecmouri@google.com>2020-05-07 19:19:23 -0700
commitcf3ad873ddd7f1abf3804936befa511b2fbb12b6 (patch)
treed9b7cf1ed40b747c1a08bc1d691e2704a8153f8f /native/android/surface_texture.cpp
parent075da89ba91832537f1d77990523930f8e366aed (diff)
Dispatch refresh rate callbacks from DMS
AChoreographer will consume these callbacks in lieu of going through SF for the callbacks. This is so that DMS can update its view of display configs before apps receive the refresh rate callback so that apps can get consistent information. Bug: 154874011 Test: ChoreographerNativeTest Test: Manually verify that HWUI is receiving callbacks Change-Id: I992c247fd16ef414f94a259bbd300bea3e4c9467
Diffstat (limited to 'native/android/surface_texture.cpp')
-rw-r--r--native/android/surface_texture.cpp52
1 files changed, 52 insertions, 0 deletions
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);
+}