From d7b3a8bcf9946a32213812a46f9c88a910151686 Mon Sep 17 00:00:00 2001 From: Alec Mouri Date: Thu, 21 Mar 2019 11:44:18 -0700 Subject: Create EGLImages during buffer allocation EGLImage creation is now performed on an async binder thread, so now GPU composition should rarely be stalled by expensive image creation. Bug: 129008989 Test: systrace Change-Id: I9732f866933a8950a4c69ff51d5ac1622bbb3470 --- libs/gui/BufferQueue.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'libs/gui/BufferQueue.cpp') diff --git a/libs/gui/BufferQueue.cpp b/libs/gui/BufferQueue.cpp index 5fb3f0b80f..d87228fbbd 100644 --- a/libs/gui/BufferQueue.cpp +++ b/libs/gui/BufferQueue.cpp @@ -59,6 +59,13 @@ void BufferQueue::ProxyConsumerListener::onFrameReplaced( } } +void BufferQueue::ProxyConsumerListener::onBufferAllocated(const BufferItem& item) { + sp listener(mConsumerListener.promote()); + if (listener != nullptr) { + listener->onBufferAllocated(item); + } +} + void BufferQueue::ProxyConsumerListener::onBuffersReleased() { sp listener(mConsumerListener.promote()); if (listener != nullptr) { -- cgit v1.2.3-59-g8ed1b