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

Commit 8489f89c 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: 71dfab31

parents 30d51da9 71dfab31
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;