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

Commit 07b920e0 authored by Mathias Agopian's avatar Mathias Agopian
Browse files

AHardwareBuffer now reports its stride

Test: compile / manual
Bug: 37686713
Change-Id: I1d75c67816717dc5d8ef4c71c1ca45d1d86aefb3
parent 2c38b56d
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -50,8 +50,8 @@ int AHardwareBuffer_allocate(const AHardwareBuffer_Desc* desc, AHardwareBuffer**
        return BAD_VALUE;
    }

    if (desc->reserved != 0) {
        ALOGE("AHardwareBuffer_Desc::reserved field must be 0");
    if (desc->rfu0 != 0 || desc->rfu1 != 0) {
        ALOGE("AHardwareBuffer_Desc::rfu fields must be 0");
        return BAD_VALUE;
    }

@@ -101,10 +101,11 @@ void AHardwareBuffer_describe(const AHardwareBuffer* buffer,
    outDesc->width = gbuffer->getWidth();
    outDesc->height = gbuffer->getHeight();
    outDesc->layers = gbuffer->getLayerCount();
    outDesc->format = AHardwareBuffer_convertFromPixelFormat(
            static_cast<uint32_t>(gbuffer->getPixelFormat()));
    outDesc->format = AHardwareBuffer_convertFromPixelFormat(uint32_t(gbuffer->getPixelFormat()));
    outDesc->usage = AHardwareBuffer_convertFromGrallocUsageBits(gbuffer->getUsage());
    outDesc->reserved = 0;
    outDesc->stride = gbuffer->getStride();
    outDesc->rfu0 = 0;
    outDesc->rfu1 = 0;
}

int AHardwareBuffer_lock(AHardwareBuffer* buffer, uint64_t usage,
+6 −4
Original line number Diff line number Diff line
@@ -137,12 +137,14 @@ enum {
};

typedef struct AHardwareBuffer_Desc {
    uint32_t    width;
    uint32_t    height;
    uint32_t    layers;
    uint32_t    width;      // width in pixels
    uint32_t    height;     // height in pixels
    uint32_t    layers;     // number of images
    uint32_t    format;     // One of AHARDWAREBUFFER_FORMAT_*
    uint64_t    usage;      // Combination of AHARDWAREBUFFER_USAGE_*
    uint64_t    reserved;   // Initialize to zero, reserved for future use
    uint32_t    stride;     // Stride in pixels, ignored for AHardwareBuffer_allocate()
    uint32_t    rfu0;       // Initialize to zero, reserved for future use
    uint64_t    rfu1;       // Initialize to zero, reserved for future use
} AHardwareBuffer_Desc;

typedef struct AHardwareBuffer AHardwareBuffer;