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

Commit 71dfab31 authored by Jason Macnak's avatar Jason Macnak Committed by Gerrit Code Review
Browse files

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

parents a6de6d01 77477858
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;