Merge "only clear FB when asked for the opaque layer" into klp-dev

This commit is contained in:
Dave Burke 2013-10-02 17:36:40 +00:00 committed by Android (Google) Code Review
commit 0699350336

View File

@ -1597,9 +1597,10 @@ void SurfaceFlinger::doComposeSurfaces(const sp<const DisplayDevice>& hw, const
if (!clip.isEmpty()) { if (!clip.isEmpty()) {
switch (cur->getCompositionType()) { switch (cur->getCompositionType()) {
case HWC_OVERLAY: { case HWC_OVERLAY: {
const Layer::State& state(layer->getDrawingState());
if ((cur->getHints() & HWC_HINT_CLEAR_FB) if ((cur->getHints() & HWC_HINT_CLEAR_FB)
&& i && i
&& layer->isOpaque() && layer->isOpaque() && (state.alpha == 0xFF)
&& hasGlesComposition) { && hasGlesComposition) {
// never clear the very first layer since we're // never clear the very first layer since we're
// guaranteed the FB is already cleared // guaranteed the FB is already cleared