Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ee956053 authored by Jim Miller's avatar Jim Miller
Browse files

Make sure we have a native Surface in nContextSetSurface.

I was seeing a problem running RenderScript in the system process
because mNativeSurface was null.  This works around the problem
by forcing the native surface to be created when we set the surface.

Change-Id: I3abf6cef1b049864e4e063669b6df547de008c93
parent 2c5678d7
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@
#include "jni.h"
#include "JNIHelp.h"
#include "android_runtime/AndroidRuntime.h"
#include "android_runtime/android_view_Surface.h"

#include <RenderScript.h>
#include <RenderScriptEnv.h>
@@ -184,9 +185,7 @@ nContextSetSurface(JNIEnv *_env, jobject _this, RsContext con, jint width, jint
    if (wnd == NULL) {

    } else {
        jclass surface_class = _env->FindClass("android/view/Surface");
        jfieldID surfaceFieldID = _env->GetFieldID(surface_class, ANDROID_VIEW_SURFACE_JNI_ID, "I");
        window = (Surface*)_env->GetIntField(wnd, surfaceFieldID);
        window = (Surface*) android_Surface_getNativeWindow(_env, wnd).get();
    }

    rsContextSetSurface(con, width, height, window);