OSDN Git Service

Fix OffscreenBuffer leak
authorChris Craik <ccraik@google.com>
Tue, 5 Apr 2016 20:18:56 +0000 (13:18 -0700)
committerChris Craik <ccraik@google.com>
Tue, 5 Apr 2016 20:42:37 +0000 (20:42 +0000)
commit74af6e282f8a8f75928a071e8200039517cf5c12
treee45fe0baae9cf967636ccc67c1a3c5932601b42e
parent505a8d9ddfb7ce24a01666aaf40c81801e9d9afb
Fix OffscreenBuffer leak

Fixes: 27941148

Make OffscreenBuffer lifecycle an explicit (and tested) contract between
FrameBuilder and BakedOpRenderer, entirely separate from dispatch. This
makes it safe to reject any rendering work via overdraw content
rejection (before it gets to a BakedOpDispatcher).

Adds a couple tests around OffscreenBuffer leaks, and switches
OffscreenBuffer tests to RENDERTHREAD_TEST macro, as appropriate.

Change-Id: Id114b835d042708ae921028fb4b17e5fa485fe64
libs/hwui/BakedOpDispatcher.cpp
libs/hwui/BakedOpRenderer.cpp
libs/hwui/BakedOpRenderer.h
libs/hwui/FrameBuilder.h
libs/hwui/RecordedOp.h
libs/hwui/renderstate/OffscreenBufferPool.cpp
libs/hwui/tests/unit/FrameBuilderTests.cpp
libs/hwui/tests/unit/LeakCheckTests.cpp
libs/hwui/tests/unit/OffscreenBufferPoolTests.cpp