From b6dc2ee0a78cffc19b59b41b8e5fbf8e0e7a699c Mon Sep 17 00:00:00 2001 From: Alexus Allen Date: Fri, 12 Aug 2022 12:10:28 +0000 Subject: [PATCH] SurfaceFlingerPerfTests: Buffer clean up for SurfaceFlingerPerfTests. Added freeBuffers() function which will be called at the end of tests. It destroys all buffers in queue instead of waiting for GC to clean up. Test: atest SurfaceFlingerPerfTests Bug: b/230039226 Change-Id: I28e280b8df2d7140fb51fb05fd4e897e23478143 --- .../src/android/surfaceflinger/BufferFlinger.java | 6 ++++++ .../src/android/surfaceflinger/SurfaceFlingerPerfTest.java | 1 + 2 files changed, 7 insertions(+) diff --git a/apct-tests/perftests/surfaceflinger/src/android/surfaceflinger/BufferFlinger.java b/apct-tests/perftests/surfaceflinger/src/android/surfaceflinger/BufferFlinger.java index 27699194e011b..52fb8a6023f12 100644 --- a/apct-tests/perftests/surfaceflinger/src/android/surfaceflinger/BufferFlinger.java +++ b/apct-tests/perftests/surfaceflinger/src/android/surfaceflinger/BufferFlinger.java @@ -70,4 +70,10 @@ public class BufferFlinger { } mBufferQ.add(buffer); } + + public void freeBuffers() { + for (GraphicBuffer buffer : mBufferQ) { + buffer.destroy(); + } + } } diff --git a/apct-tests/perftests/surfaceflinger/src/android/surfaceflinger/SurfaceFlingerPerfTest.java b/apct-tests/perftests/surfaceflinger/src/android/surfaceflinger/SurfaceFlingerPerfTest.java index 36007be1ef20e..f4d0c053fb66e 100644 --- a/apct-tests/perftests/surfaceflinger/src/android/surfaceflinger/SurfaceFlingerPerfTest.java +++ b/apct-tests/perftests/surfaceflinger/src/android/surfaceflinger/SurfaceFlingerPerfTest.java @@ -60,6 +60,7 @@ public class SurfaceFlingerPerfTest { bufferflinger.addBuffer(t, sc); t.apply(); } + bufferflinger.freeBuffers(); } }