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

Commit a097f754 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix override setBufferCount" am: 378fa1b4 am: 736519b8

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1441702

Change-Id: I219352a252a5fa4e083916d7837663decb093c45
parents bf6e7310 736519b8
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -139,7 +139,7 @@ void CanvasContext::destroy() {
    mAnimationContext->destroy();
}

static void setBufferCount(ANativeWindow* window, uint32_t extraBuffers) {
static void setBufferCount(ANativeWindow* window) {
    int query_value;
    int err = window->query(window, NATIVE_WINDOW_MIN_UNDEQUEUED_BUFFERS, &query_value);
    if (err != 0 || query_value < 0) {
@@ -148,7 +148,9 @@ static void setBufferCount(ANativeWindow* window, uint32_t extraBuffers) {
    }
    auto min_undequeued_buffers = static_cast<uint32_t>(query_value);

    int bufferCount = min_undequeued_buffers + 2 + extraBuffers;
    // We only need to set min_undequeued + 2 because the renderahead amount was already factored into the
    // query for min_undequeued
    int bufferCount = min_undequeued_buffers + 2;
    native_window_set_buffer_count(window, bufferCount);
}

@@ -179,7 +181,8 @@ void CanvasContext::setSurface(ANativeWindow* window, bool enableTimeout) {
            mNativeSurface ? mNativeSurface->getNativeWindow() : nullptr, mSwapBehavior);

    if (mNativeSurface && !mNativeSurface->didSetExtraBuffers()) {
        setBufferCount(mNativeSurface->getNativeWindow(), mRenderAheadCapacity);
        setBufferCount(mNativeSurface->getNativeWindow());

    }

    mFrameNumber = -1;