From 13f0d1a7684dcbc9a339c5e9cb3ff2d2bf80f186 Mon Sep 17 00:00:00 2001 From: Valerie Hau Date: Fri, 22 Mar 2019 10:35:42 -0700 Subject: Return to manual slot use instead of slot generation ION memory increase in composer process due to slot generation. Revert to old slot generation for BufferQueue Bug: 127655433 Test: build, boot, HwcBufferCacheTest Change-Id: Ifbb5747a7878aef97c92ba09e2dc72d663d78066 --- services/surfaceflinger/BufferQueueLayer.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'services/surfaceflinger/BufferQueueLayer.cpp') diff --git a/services/surfaceflinger/BufferQueueLayer.cpp b/services/surfaceflinger/BufferQueueLayer.cpp index e4179ee43a..d3b36fe354 100644 --- a/services/surfaceflinger/BufferQueueLayer.cpp +++ b/services/surfaceflinger/BufferQueueLayer.cpp @@ -361,8 +361,12 @@ void BufferQueueLayer::setHwcLayerBuffer(const sp& display) uint32_t hwcSlot = 0; sp hwcBuffer; + + // INVALID_BUFFER_SLOT is used to identify BufferStateLayers. Default to 0 + // for BufferQueueLayers + int slot = (mActiveBufferSlot == BufferQueue::INVALID_BUFFER_SLOT) ? 0 : mActiveBufferSlot; (*outputLayer->editState().hwc) - .hwcBufferCache.getHwcBuffer(mActiveBuffer, &hwcSlot, &hwcBuffer); + .hwcBufferCache.getHwcBuffer(slot, mActiveBuffer, &hwcSlot, &hwcBuffer); auto acquireFence = mConsumer->getCurrentFence(); auto error = hwcLayer->setBuffer(hwcSlot, hwcBuffer, acquireFence); -- cgit v1.2.3-59-g8ed1b