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

Commit dc99c0c2 authored by Jason Macnak's avatar Jason Macnak Committed by Automerger Merge Worker
Browse files

Merge "Make ReliableSurface's fallback buffer match ANW size" into main am:...

Merge "Make ReliableSurface's fallback buffer match ANW size" into main am: 71dfab31 am: 8489f89c

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



Change-Id: Idbbf1378e7244fb3cdcae277bb028eddb7dbf68d
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents c4b46046 8489f89c
Loading
Loading
Loading
Loading
+20 −4
Original line number Diff line number Diff line
@@ -149,9 +149,25 @@ ANativeWindowBuffer* ReliableSurface::acquireFallbackBuffer(int error) {
        return AHardwareBuffer_to_ANativeWindowBuffer(mScratchBuffer.get());
    }

    int width = -1;
    int result = mWindow->query(mWindow, NATIVE_WINDOW_DEFAULT_WIDTH, &width);
    if (result != OK || width < 0) {
        ALOGW("Failed to query window default width: %s (%d) value=%d", strerror(-result), result,
              width);
        width = 1;
    }

    int height = -1;
    result = mWindow->query(mWindow, NATIVE_WINDOW_DEFAULT_HEIGHT, &height);
    if (result != OK || height < 0) {
        ALOGW("Failed to query window default height: %s (%d) value=%d", strerror(-result), result,
              height);
        height = 1;
    }

    AHardwareBuffer_Desc desc = AHardwareBuffer_Desc{
            .width = 1,
            .height = 1,
            .width = static_cast<uint32_t>(width),
            .height = static_cast<uint32_t>(height),
            .layers = 1,
            .format = mFormat,
            .usage = mUsage,
@@ -160,9 +176,9 @@ ANativeWindowBuffer* ReliableSurface::acquireFallbackBuffer(int error) {
    };

    AHardwareBuffer* newBuffer;
    int result = AHardwareBuffer_allocate(&desc, &newBuffer);
    result = AHardwareBuffer_allocate(&desc, &newBuffer);

    if (result != NO_ERROR) {
    if (result != OK) {
        // Allocate failed, that sucks
        ALOGW("Failed to allocate scratch buffer, error=%d", result);
        return nullptr;