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

Commit d787577e authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Use gralloc usage conversion library" into oc-dev

parents 3ae337c4 7992781a
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@

#include <android/native_window.h>

#include <grallocusage/GrallocUsageConversion.h>
// from nativewindow/includes/system/window.h
// (not to be confused with the compatibility-only window.h from system/core/includes)
#include <system/window.h>
@@ -187,8 +188,7 @@ int ANativeWindow_cancelBuffer(ANativeWindow* window, ANativeWindowBuffer* buffe
int ANativeWindow_setUsage(ANativeWindow* window, uint64_t usage0, uint64_t usage1) {
    uint64_t pUsage, cUsage;
    AHardwareBuffer_convertToGrallocUsageBits(&pUsage, &cUsage, usage0, usage1);
    uint32_t gralloc_usage = uint32_t(pUsage | cUsage);
    return native_window_set_usage(window, gralloc_usage);
    return native_window_set_usage(window, android_convertGralloc1To0Usage(pUsage, cUsage));
}

int ANativeWindow_setBufferCount(ANativeWindow* window, size_t bufferCount) {
+1 −0
Original line number Diff line number Diff line
@@ -53,6 +53,7 @@ cc_library {

    static_libs: [
        "libarect",
        "libgrallocusage",
    ],

    // headers we include in our public headers
+1 −0
Original line number Diff line number Diff line
@@ -78,6 +78,7 @@ cc_library_shared {

    static_libs: [
        "libarect",
        "libgrallocusage",
        "libmath",
    ],

+7 −6
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@

#include <ui/Gralloc1On0Adapter.h>

#include <grallocusage/GrallocUsageConversion.h>

#include <hardware/gralloc.h>

@@ -248,8 +249,8 @@ gralloc1_error_t Gralloc1On0Adapter::allocate(
    // pointer, which only occurs when mDevice has been loaded successfully and
    // we are permitted to allocate

    int usage = static_cast<int>(descriptor->producerUsage) |
            static_cast<int>(descriptor->consumerUsage);
    int usage = android_convertGralloc1To0Usage(descriptor->producerUsage,
            descriptor->consumerUsage);
    buffer_handle_t handle = nullptr;
    int stride = 0;
    ALOGV("Calling alloc(%p, %u, %u, %i, %u)", mDevice, descriptor->width,
@@ -374,7 +375,7 @@ gralloc1_error_t Gralloc1On0Adapter::lock(
{
    if (mMinorVersion >= 3) {
        int result = mModule->lockAsync(mModule, buffer->getHandle(),
                static_cast<int32_t>(producerUsage | consumerUsage),
                android_convertGralloc1To0Usage(producerUsage, consumerUsage),
                accessRegion.left, accessRegion.top, accessRegion.width,
                accessRegion.height, outData, acquireFence->dup());
        if (result != 0) {
@@ -383,7 +384,7 @@ gralloc1_error_t Gralloc1On0Adapter::lock(
    } else {
        acquireFence->waitForever("Gralloc1On0Adapter::lock");
        int result = mModule->lock(mModule, buffer->getHandle(),
                static_cast<int32_t>(producerUsage | consumerUsage),
                android_convertGralloc1To0Usage(producerUsage, consumerUsage),
                accessRegion.left, accessRegion.top, accessRegion.width,
                accessRegion.height, outData);
        ALOGV("gralloc0 lock returned %d", result);
@@ -415,7 +416,7 @@ gralloc1_error_t Gralloc1On0Adapter::lockYCbCr(
{
    if (mMinorVersion >= 3 && mModule->lockAsync_ycbcr) {
        int result = mModule->lockAsync_ycbcr(mModule, buffer->getHandle(),
                static_cast<int>(producerUsage | consumerUsage),
                android_convertGralloc1To0Usage(producerUsage, consumerUsage),
                accessRegion.left, accessRegion.top, accessRegion.width,
                accessRegion.height, outData, acquireFence->dup());
        if (result != 0) {
@@ -424,7 +425,7 @@ gralloc1_error_t Gralloc1On0Adapter::lockYCbCr(
    } else if (mModule->lock_ycbcr) {
        acquireFence->waitForever("Gralloc1On0Adapter::lockYCbCr");
        int result = mModule->lock_ycbcr(mModule, buffer->getHandle(),
                static_cast<int>(producerUsage | consumerUsage),
                android_convertGralloc1To0Usage(producerUsage, consumerUsage),
                accessRegion.left, accessRegion.top, accessRegion.width,
                accessRegion.height, outData);
        ALOGV("gralloc0 lockYCbCr returned %d", result);
+4 −4
Original line number Diff line number Diff line
@@ -16,12 +16,12 @@

#define LOG_TAG "GraphicBuffer"

#include <cutils/atomic.h>

#include <ui/GraphicBuffer.h>

#include <cutils/atomic.h>

#include <grallocusage/GrallocUsageConversion.h>

#include <ui/GrallocMapper.h>
#include <ui/GraphicBufferAllocator.h>
#include <ui/GraphicBufferMapper.h>
@@ -114,7 +114,7 @@ GraphicBuffer::GraphicBuffer(uint32_t inWidth, uint32_t inHeight,
    stride = static_cast<int>(inStride);
    format = inFormat;
    layerCount = inLayerCount;
    usage  = static_cast<int>(inConsumerUsage | inProducerUsage);
    usage = android_convertGralloc1To0Usage(inProducerUsage, inConsumerUsage);
    handle = inHandle;
}

@@ -221,7 +221,7 @@ status_t GraphicBuffer::initSize(uint32_t inWidth, uint32_t inHeight,
        height = static_cast<int>(inHeight);
        format = inFormat;
        layerCount = inLayerCount;
        usage = static_cast<int>(inProducerUsage | inConsumerUsage);
        usage = android_convertGralloc1To0Usage(inProducerUsage, inConsumerUsage);
        stride = static_cast<int>(outStride);
    }
    return err;
Loading