summaryrefslogtreecommitdiff
path: root/libs/gui/GLConsumer.cpp
diff options
context:
space:
mode:
author Eino-Ville Talvala <etalvala@google.com> 2015-02-19 16:10:43 -0800
committer Dan Stoza <stoza@google.com> 2015-04-07 11:11:43 -0700
commit1c2001efcf56d7f65242249fa4e5833f03a68e37 (patch)
tree79227b4adfac5c3aa4d7ef31bcfce17acc42acf0 /libs/gui/GLConsumer.cpp
parent2d4cf62a2cdfbfbbca5757eb7dd1498d118bf7c9 (diff)
Cherry-pick dataSpace and BufferItem changes
Add dataSpace to buffer queues; remove old format enums. (cherry picked from commit 82c6bcc9705eabcaf5b9e45bc81867b0e2d61a02) libgui: Prepare for IGBC::BufferItem removal (cherry picked from commit cf3834db104e0b052056e3a06d46e3f222f0d372) SurfaceFlinger: Stop using IGBC::BufferItem (cherry picked from commit 11611f9be590480d7ea27bf0153558573ddcded2) Change-Id: Ic2e4770b916d2d1477e5ce98c4b49a0072ea03ff (cherry picked from commit 6c450101753d0219b151e79007bcded1bfbb058b)
Diffstat (limited to 'libs/gui/GLConsumer.cpp')
-rw-r--r--libs/gui/GLConsumer.cpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/libs/gui/GLConsumer.cpp b/libs/gui/GLConsumer.cpp
index a0f68b4c1f..d256ae5389 100644
--- a/libs/gui/GLConsumer.cpp
+++ b/libs/gui/GLConsumer.cpp
@@ -29,6 +29,7 @@
#include <hardware/hardware.h>
+#include <gui/BufferItem.h>
#include <gui/GLConsumer.h>
#include <gui/IGraphicBufferAlloc.h>
#include <gui/ISurfaceComposer.h>
@@ -210,7 +211,7 @@ status_t GLConsumer::updateTexImage() {
return err;
}
- BufferQueue::BufferItem item;
+ BufferItem item;
// Acquire the next buffer.
// In asynchronous mode the list is guaranteed to be one buffer
@@ -342,7 +343,7 @@ sp<GraphicBuffer> GLConsumer::getDebugTexImageBuffer() {
return sReleasedTexImageBuffer;
}
-status_t GLConsumer::acquireBufferLocked(BufferQueue::BufferItem *item,
+status_t GLConsumer::acquireBufferLocked(BufferItem *item,
nsecs_t presentWhen) {
status_t err = ConsumerBase::acquireBufferLocked(item, presentWhen);
if (err != NO_ERROR) {
@@ -360,6 +361,17 @@ status_t GLConsumer::acquireBufferLocked(BufferQueue::BufferItem *item,
return NO_ERROR;
}
+status_t GLConsumer::acquireBufferLocked(BufferQueue::BufferItem *outItem,
+ nsecs_t presentWhen) {
+ BufferItem item;
+ status_t result = acquireBufferLocked(&item, presentWhen);
+ if (result != NO_ERROR) {
+ return result;
+ }
+ *outItem = item;
+ return NO_ERROR;
+}
+
status_t GLConsumer::releaseBufferLocked(int buf,
sp<GraphicBuffer> graphicBuffer,
EGLDisplay display, EGLSyncKHR eglFence) {
@@ -1023,6 +1035,12 @@ status_t GLConsumer::setDefaultBufferFormat(PixelFormat defaultFormat) {
return mConsumer->setDefaultBufferFormat(defaultFormat);
}
+status_t GLConsumer::setDefaultBufferDataSpace(
+ android_dataspace defaultDataSpace) {
+ Mutex::Autolock lock(mMutex);
+ return mConsumer->setDefaultBufferDataSpace(defaultDataSpace);
+}
+
status_t GLConsumer::setConsumerUsageBits(uint32_t usage) {
Mutex::Autolock lock(mMutex);
usage |= DEFAULT_USAGE_FLAGS;