summaryrefslogtreecommitdiffstats
path: root/core/jni/android_view_ThreadedRenderer.cpp
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2014-06-27 14:45:25 -0700
committerJohn Reck <jreck@google.com>2014-06-27 22:34:16 +0000
commit918ad523b2780e0c893f3d2a32d4ec13f2a7e921 (patch)
treea10eb15752acf14bbf50b6e250ca8e8beeb2f736 /core/jni/android_view_ThreadedRenderer.cpp
parent81af3aef9a0d015311f6c97e318c81092c74eb47 (diff)
downloadframeworks_base-918ad523b2780e0c893f3d2a32d4ec13f2a7e921.zip
frameworks_base-918ad523b2780e0c893f3d2a32d4ec13f2a7e921.tar.gz
frameworks_base-918ad523b2780e0c893f3d2a32d4ec13f2a7e921.tar.bz2
More cleanups
Change-Id: Id5967944b949a2aec57e4fe9fdcdc04c11b8c35a
Diffstat (limited to 'core/jni/android_view_ThreadedRenderer.cpp')
-rw-r--r--core/jni/android_view_ThreadedRenderer.cpp42
1 files changed, 8 insertions, 34 deletions
diff --git a/core/jni/android_view_ThreadedRenderer.cpp b/core/jni/android_view_ThreadedRenderer.cpp
index 3e62d0b..e63c475 100644
--- a/core/jni/android_view_ThreadedRenderer.cpp
+++ b/core/jni/android_view_ThreadedRenderer.cpp
@@ -47,8 +47,6 @@ namespace android {
using namespace android::uirenderer;
using namespace android::uirenderer::renderthread;
-static jmethodID gRunnableMethod;
-
static JNIEnv* getenv(JavaVM* vm) {
JNIEnv* env;
if (vm->GetEnv(reinterpret_cast<void**>(&env), JNI_VERSION_1_6) != JNI_OK) {
@@ -57,25 +55,6 @@ static JNIEnv* getenv(JavaVM* vm) {
return env;
}
-class JavaTask : public RenderTask {
-public:
- JavaTask(JNIEnv* env, jobject jrunnable) {
- env->GetJavaVM(&mVm);
- mRunnable = env->NewGlobalRef(jrunnable);
- }
-
- virtual void run() {
- JNIEnv* env = getenv(mVm);
- env->CallVoidMethod(mRunnable, gRunnableMethod);
- env->DeleteGlobalRef(mRunnable);
- delete this;
- };
-
-private:
- JavaVM* mVm;
- jobject mRunnable;
-};
-
class OnFinishedEvent {
public:
OnFinishedEvent(BaseRenderNodeAnimator* animator, AnimationListener* listener)
@@ -276,13 +255,6 @@ static void android_view_ThreadedRenderer_invokeFunctor(JNIEnv* env, jobject cla
RenderProxy::invokeFunctor(functor, waitForCompletion);
}
-static void android_view_ThreadedRenderer_runWithGlContext(JNIEnv* env, jobject clazz,
- jlong proxyPtr, jobject jrunnable) {
- RenderProxy* proxy = reinterpret_cast<RenderProxy*>(proxyPtr);
- RenderTask* task = new JavaTask(env, jrunnable);
- proxy->runWithGlContext(task);
-}
-
static jlong android_view_ThreadedRenderer_createDisplayListLayer(JNIEnv* env, jobject clazz,
jlong proxyPtr, jint width, jint height) {
RenderProxy* proxy = reinterpret_cast<RenderProxy*>(proxyPtr);
@@ -319,6 +291,13 @@ static void android_view_ThreadedRenderer_cancelLayerUpdate(JNIEnv* env, jobject
proxy->cancelLayerUpdate(layer);
}
+static void android_view_ThreadedRenderer_detachSurfaceTexture(JNIEnv* env, jobject clazz,
+ jlong proxyPtr, jlong layerPtr) {
+ RenderProxy* proxy = reinterpret_cast<RenderProxy*>(proxyPtr);
+ DeferredLayerUpdater* layer = reinterpret_cast<DeferredLayerUpdater*>(layerPtr);
+ proxy->detachSurfaceTexture(layer);
+}
+
static void android_view_ThreadedRenderer_flushCaches(JNIEnv* env, jobject clazz,
jlong proxyPtr, jint flushMode) {
RenderProxy* proxy = reinterpret_cast<RenderProxy*>(proxyPtr);
@@ -380,12 +359,12 @@ static JNINativeMethod gMethods[] = {
{ "nSyncAndDrawFrame", "(JJJF)I", (void*) android_view_ThreadedRenderer_syncAndDrawFrame },
{ "nDestroyCanvasAndSurface", "(J)V", (void*) android_view_ThreadedRenderer_destroyCanvasAndSurface },
{ "nInvokeFunctor", "(JZ)V", (void*) android_view_ThreadedRenderer_invokeFunctor },
- { "nRunWithGlContext", "(JLjava/lang/Runnable;)V", (void*) android_view_ThreadedRenderer_runWithGlContext },
{ "nCreateDisplayListLayer", "(JII)J", (void*) android_view_ThreadedRenderer_createDisplayListLayer },
{ "nCreateTextureLayer", "(J)J", (void*) android_view_ThreadedRenderer_createTextureLayer },
{ "nCopyLayerInto", "(JJJ)Z", (void*) android_view_ThreadedRenderer_copyLayerInto },
{ "nPushLayerUpdate", "(JJ)V", (void*) android_view_ThreadedRenderer_pushLayerUpdate },
{ "nCancelLayerUpdate", "(JJ)V", (void*) android_view_ThreadedRenderer_cancelLayerUpdate },
+ { "nDetachSurfaceTexture", "(JJ)V", (void*) android_view_ThreadedRenderer_detachSurfaceTexture },
{ "nFlushCaches", "(JI)V", (void*) android_view_ThreadedRenderer_flushCaches },
{ "nFence", "(J)V", (void*) android_view_ThreadedRenderer_fence },
{ "nNotifyFramePending", "(J)V", (void*) android_view_ThreadedRenderer_notifyFramePending },
@@ -396,11 +375,6 @@ static JNINativeMethod gMethods[] = {
};
int register_android_view_ThreadedRenderer(JNIEnv* env) {
-#ifdef USE_OPENGL_RENDERER
- jclass cls = env->FindClass("java/lang/Runnable");
- gRunnableMethod = env->GetMethodID(cls, "run", "()V");
- env->DeleteLocalRef(cls);
-#endif
return AndroidRuntime::registerNativeMethods(env, kClassPathName, gMethods, NELEM(gMethods));
}