From 446ff920387052887bc905cc0cc439a7e3c38b83 Mon Sep 17 00:00:00 2001 From: Mathias Agopian Date: Mon, 29 Jun 2009 17:32:20 -0700 Subject: 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. --- libs/surfaceflinger/LayerDim.cpp | 6 ------ 1 file changed, 6 deletions(-) (limited to 'libs/surfaceflinger/LayerDim.cpp') 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(); -- cgit v1.2.3-59-g8ed1b