diff options
| author | 2009-06-29 17:32:20 -0700 | |
|---|---|---|
| committer | 2009-06-29 17:32:20 -0700 | |
| commit | 446ff920387052887bc905cc0cc439a7e3c38b83 (patch) | |
| tree | 2ada36e85d16b8107862ca03e2322073733cb47c /libs/surfaceflinger/LayerDim.cpp | |
| parent | 295eff200867d58bbd1b21711c6ef0a7c10c9f95 (diff) | |
don't use a 1/4th of the screen size texture for the dim layer
we can't use a texture of 1/4th of the screen for the dim layer, because the mdp internal input resultion is alwyas integers and for very small blits of a couple pixels the scale factor can get way out of range, for instance for a 7 pixels source, the scale factor would be either 7 (7/1) or 3.5 (7/2) instead of 4 (7/1.75). This caused the mdp to fail in some cases and revert to software. we now always use a texture of the actual screen size, so the problem will never happen. This burns 300KB of pmem instead of 21KB. On devices with a larger screen we might want to use a smaller texture and tile it by hand.
Diffstat (limited to 'libs/surfaceflinger/LayerDim.cpp')
| -rw-r--r-- | libs/surfaceflinger/LayerDim.cpp | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/libs/surfaceflinger/LayerDim.cpp b/libs/surfaceflinger/LayerDim.cpp index 4114a42bd5..8e9df9cc9b 100644 --- a/libs/surfaceflinger/LayerDim.cpp +++ b/libs/surfaceflinger/LayerDim.cpp @@ -63,12 +63,6 @@ void LayerDim::initDimmer(SurfaceFlinger* flinger, uint32_t w, uint32_t h) * This burns a full-screen worth of graphic memory. */ - // copybit supports 4x scaling, so we only need to allocate 1/16 of the - // buffer. - // FIXME: we have to add 1px because the mdp fails - w = w/4 + 1; - h = h/4 + 1; - const DisplayHardware& hw(flinger->graphicPlane(0).displayHardware()); uint32_t flags = hw.getFlags(); |