Merge "Use gralloc usage conversion library" into oc-dev
diff --git a/graphics/allocator/2.0/default/Android.bp b/graphics/allocator/2.0/default/Android.bp
index b8d4fde..0baef89 100644
--- a/graphics/allocator/2.0/default/Android.bp
+++ b/graphics/allocator/2.0/default/Android.bp
@@ -41,4 +41,5 @@
include_dirs: ["system/core/libsync/include"],
cflags: ["-Wall", "-Wextra", "-Wno-unused-parameter"],
export_include_dirs: ["."],
+ whole_static_libs: ["libgrallocusage"],
}
diff --git a/graphics/allocator/2.0/default/Gralloc1On0Adapter.cpp b/graphics/allocator/2.0/default/Gralloc1On0Adapter.cpp
index 4b9c9e1..f722429 100644
--- a/graphics/allocator/2.0/default/Gralloc1On0Adapter.cpp
+++ b/graphics/allocator/2.0/default/Gralloc1On0Adapter.cpp
@@ -21,6 +21,8 @@
#include "Gralloc1On0Adapter.h"
#include "gralloc1-adapter.h"
+#include <grallocusage/GrallocUsageConversion.h>
+
#include <hardware/gralloc.h>
#include <utils/Log.h>
@@ -240,8 +242,8 @@
// 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,
@@ -438,7 +440,7 @@
{
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);
if (result != 0) {
@@ -448,7 +450,7 @@
syncWaitForever(acquireFence, "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);