summaryrefslogtreecommitdiff
path: root/libs/hwui/DeferredLayerUpdater.cpp
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2020-07-17 14:49:03 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2020-07-17 14:49:03 +0000
commit1ca53a09012014fb635da24ce87e3b9acec3eb53 (patch)
tree30089107cf08f7ab9ed076089988e1d135132230 /libs/hwui/DeferredLayerUpdater.cpp
parent7368ed7d038667d01b14cccfef050ef45e78d784 (diff)
parent6b8abeba401a674e37ecb291319abc0494b31c1d (diff)
Merge "Fix TextureView calling eglCreateImage with a destructed buffer" into rvc-dev
Diffstat (limited to 'libs/hwui/DeferredLayerUpdater.cpp')
-rw-r--r--libs/hwui/DeferredLayerUpdater.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/libs/hwui/DeferredLayerUpdater.cpp b/libs/hwui/DeferredLayerUpdater.cpp
index 5a50245a3765..67d8c07e61de 100644
--- a/libs/hwui/DeferredLayerUpdater.cpp
+++ b/libs/hwui/DeferredLayerUpdater.cpp
@@ -149,6 +149,9 @@ void DeferredLayerUpdater::apply() {
sk_sp<SkImage> layerImage = mImageSlots[slot].createIfNeeded(
hardwareBuffer, dataspace, newContent,
mRenderState.getRenderThread().getGrContext());
+ // unref to match the ref added by ASurfaceTexture_dequeueBuffer. eglCreateImageKHR
+ // (invoked by createIfNeeded) will add a ref to the AHardwareBuffer.
+ AHardwareBuffer_release(hardwareBuffer);
if (layerImage.get()) {
SkMatrix textureTransform;
mat4(transformMatrix).copyTo(textureTransform);