Commits

Romain Guy authored 84962f2fe6c
We need to go deeper. Bug #3431907 When drawing layers inside a layer, the wrong target FBO would be used. This would happen for instance with app widgets using a ViewFlipper in Launcher. The ViewFlipper uses a fade animation that triggers a call to saveLayerAlpha(), which in turns creates an FBO. If this happened during a scroll, the ViewFlipper's FBO would be composited back directly inside FBO 0, i.e. the screen. This properly initializes the snapshots of hardware layers to use the layer's FBO as the default compositing target instead of using 0. This problem did not happen when drawing hardware layers inside hardware layers because LayerRenderer already takes care of figuring out the FBO it needs to composite into. The bug would occur only with layers generated with saveLayer() and its saveLayerAlpha() variation. Layers inside hardware layers insider layers inside hardware layers now work properly. Change-Id: Ibe852301087f3d414ad8a18436eebc81f8ac66f5