From 5065a55291b67f584d7b0be3fa3cfc4e29a3cd1c Mon Sep 17 00:00:00 2001 From: Dan Stoza Date: Tue, 17 Mar 2015 16:23:42 -0700 Subject: libgui: Pass surface damage through BufferQueue This change adds support for passing surface damage all of the way down from the EGL interface through the consumer side of the BufferQueue. Depends on system/core change Ie645e6a52b37b5c1b3be19481e8348570d1aa62c Bug: 11239309 Change-Id: I4457ea826e9ade4ec187f973851d855b7b93a31b --- include/gui/IGraphicBufferProducer.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'include/gui/IGraphicBufferProducer.h') diff --git a/include/gui/IGraphicBufferProducer.h b/include/gui/IGraphicBufferProducer.h index 374245a..2d99f24 100644 --- a/include/gui/IGraphicBufferProducer.h +++ b/include/gui/IGraphicBufferProducer.h @@ -28,6 +28,7 @@ #include #include #include +#include namespace android { // ---------------------------------------------------------------------------- @@ -281,7 +282,7 @@ public: : timestamp(timestamp), isAutoTimestamp(isAutoTimestamp), dataSpace(dataSpace), crop(crop), scalingMode(scalingMode), transform(transform), stickyTransform(sticky), - async(async), fence(fence) { } + async(async), fence(fence), surfaceDamage() { } inline void deflate(int64_t* outTimestamp, bool* outIsAutoTimestamp, android_dataspace* outDataSpace, Rect* outCrop, int* outScalingMode, @@ -306,6 +307,9 @@ public: status_t flatten(void*& buffer, size_t& size, int*& fds, size_t& count) const; status_t unflatten(void const*& buffer, size_t& size, int const*& fds, size_t& count); + const Region& getSurfaceDamage() const { return surfaceDamage; } + void setSurfaceDamage(const Region& damage) { surfaceDamage = damage; } + private: int64_t timestamp; int isAutoTimestamp; @@ -316,6 +320,7 @@ public: uint32_t stickyTransform; int async; sp fence; + Region surfaceDamage; }; // QueueBufferOutput must be a POD structure -- cgit v1.1