From 175d98757d7d9003d4f64756cf4c2b366ba77e97 Mon Sep 17 00:00:00 2001 From: Mathias Agopian Date: Mon, 15 May 2017 18:00:34 -0700 Subject: use 64-bits usage bits almost everywhere Test: manual, build Bug: 33350696 Change-Id: Ida33c2a902155044651158467bb99d664e958c41 --- libs/gui/Surface.cpp | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) (limited to 'libs/gui/Surface.cpp') diff --git a/libs/gui/Surface.cpp b/libs/gui/Surface.cpp index ff0a5d4324..04e51a41e6 100644 --- a/libs/gui/Surface.cpp +++ b/libs/gui/Surface.cpp @@ -20,6 +20,8 @@ #include +#include + #include #include @@ -471,7 +473,7 @@ int Surface::dequeueBuffer(android_native_buffer_t** buffer, int* fenceFd) { uint32_t reqWidth; uint32_t reqHeight; PixelFormat reqFormat; - uint32_t reqUsage; + uint64_t reqUsage; bool enableFrameTimestamps; { @@ -511,8 +513,8 @@ int Surface::dequeueBuffer(android_native_buffer_t** buffer, int* fenceFd) { if (result < 0) { ALOGV("dequeueBuffer: IGraphicBufferProducer::dequeueBuffer" - "(%d, %d, %d, %d) failed: %d", reqWidth, reqHeight, reqFormat, - reqUsage, result); + "(%d, %d, %d, %#" PRIx64 ") failed: %d", + reqWidth, reqHeight, reqFormat, reqUsage, result); return result; } @@ -959,6 +961,9 @@ int Surface::perform(int operation, va_list args) case NATIVE_WINDOW_GET_HDR_SUPPORT: res = dispatchGetHdrSupport(args); break; + case NATIVE_WINDOW_SET_USAGE64: + res = dispatchSetUsage64(args); + break; default: res = NAME_NOT_FOUND; break; @@ -977,8 +982,13 @@ int Surface::dispatchDisconnect(va_list args) { } int Surface::dispatchSetUsage(va_list args) { - int usage = va_arg(args, int); - return setUsage(static_cast(usage)); + uint64_t usage = va_arg(args, uint32_t); + return setUsage(usage); +} + +int Surface::dispatchSetUsage64(va_list args) { + uint64_t usage = va_arg(args, uint64_t); + return setUsage(usage); } int Surface::dispatchSetCrop(va_list args) { @@ -1256,8 +1266,7 @@ int Surface::attachBuffer(ANativeWindowBuffer* buffer) uint32_t priorGeneration = graphicBuffer->mGenerationNumber; graphicBuffer->mGenerationNumber = mGenerationNumber; int32_t attachedSlot = -1; - status_t result = mGraphicBufferProducer->attachBuffer( - &attachedSlot, graphicBuffer); + status_t result = mGraphicBufferProducer->attachBuffer(&attachedSlot, graphicBuffer); if (result != NO_ERROR) { ALOGE("attachBuffer: IGraphicBufferProducer call failed (%d)", result); graphicBuffer->mGenerationNumber = priorGeneration; @@ -1271,7 +1280,7 @@ int Surface::attachBuffer(ANativeWindowBuffer* buffer) return NO_ERROR; } -int Surface::setUsage(uint32_t reqUsage) +int Surface::setUsage(uint64_t reqUsage) { ALOGV("Surface::setUsage"); Mutex::Autolock lock(mMutex); -- cgit v1.2.3-59-g8ed1b