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

Commit 4354ae98 authored by John Reck's avatar John Reck Committed by android-build-merger
Browse files

Merge "fix race condition between HWUI cache and renderThread"

am: 2c2b5e85

* commit '2c2b5e85':
  fix race condition between HWUI cache and renderThread
parents 26ada7e7 2c2b5e85
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -102,10 +102,16 @@ static void android_view_DisplayListCanvas_callDrawGLFunction(JNIEnv* env, jobje
// ----------------------------------------------------------------------------

static jint android_view_DisplayListCanvas_getMaxTextureWidth(JNIEnv* env, jobject clazz) {
    if (!Caches::hasInstance()) {
        android::uirenderer::renderthread::RenderProxy::staticFence();
    }
    return Caches::getInstance().maxTextureSize;
}

static jint android_view_DisplayListCanvas_getMaxTextureHeight(JNIEnv* env, jobject clazz) {
    if (!Caches::hasInstance()) {
        android::uirenderer::renderthread::RenderProxy::staticFence();
    }
    return Caches::getInstance().maxTextureSize;
}

+6 −0
Original line number Diff line number Diff line
@@ -385,6 +385,12 @@ void RenderProxy::fence() {
    postAndWait(task);
}

void RenderProxy::staticFence() {
    SETUP_TASK(fence);
    UNUSED(args);
    staticPostAndWait(task);
}

CREATE_BRIDGE1(stopDrawing, CanvasContext* context) {
    args->context->stopDrawing();
    return nullptr;
+1 −0
Original line number Diff line number Diff line
@@ -94,6 +94,7 @@ public:
    ANDROID_API static void overrideProperty(const char* name, const char* value);

    ANDROID_API void fence();
    ANDROID_API static void staticFence();
    ANDROID_API void stopDrawing();
    ANDROID_API void notifyFramePending();