summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/graphics/android/rendering/Surface.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Workaround double blit failure"Matthew Hui2013-01-211-8/+0
| | | | | | | This reverts commit 0c274b96c2dfb5a83b12a99f1ca9069378f73bdb. Change-Id: Iaea6c25cf1aae59e7ce85cd43b028ba9c2e437f0 CRs-fixed: 396141
* Determine maxZoomScale from bitmap/text drawingChris Craik2012-10-011-4/+3
| | | | | | bug:7247750 Change-Id: I8238acc2c20942ab2f42936d16a03226909aebcd
* Show layer tree in hierarchyviewerJohn Reck2012-06-141-2/+2
| | | | Change-Id: I2a53b157d40c630e7ca1361f8e0c8aca1d6e8a4e
* Workaround double blit failureChris Craik2012-06-121-0/+8
| | | | | | | | | | | | | An issue occurs on Stingray where calling glTexSubImage2d in order to blit an update to a texture fails silently if the texture has already been updated this frame. With this change, we now draw the tile off-screen to work around the issue just before the second blit is required. This way, the second blit succeeds. bug:6630040 Change-Id: I07213954669b0f3d3f5b87a748a591e532b097b4
* Size change on the base surface invalidates the larger of the new/old dimensionsChris Craik2012-06-041-8/+18
| | | | | | | | Fixes an issue where tiles outside the new bounds weren't invalidated, as the layer shrank in one dimension. bug:6609350 Change-Id: I1f6715670654c9e6211dbec71875aa2ea11cd8f8
* Disable clipping on the base surfaceChris Craik2012-06-011-10/+8
| | | | | | | | Base surface can expand dynamically (see BaseLayerAndroid::updatePosition) to fill the viewport, so disable clipping on it. bug:6593707 Change-Id: I3afafb28fbe95d3162c76f8e835932577ded65ce
* Merge "Minimize tearing for fixed element in single surface mode" into jb-devTeng-Hui Zhu2012-05-301-1/+1
|\
| * Minimize tearing for fixed element in single surface modeTeng-Hui Zhu2012-05-301-1/+1
| | | | | | | | | | | | bug:5683630 Change-Id: I43f738f2649a79b4ad7865ed27375c07195fa9b9
* | Reduce UI-thread computationChris Craik2012-05-251-2/+2
|/ | | | | | | | | If the current clip covers the entire view, we don't have to calculate framework invals from swapping layers - we already draw them immediately. bug:6530473 Change-Id: I4b639e06781371e37c246f3220b79f28e7d95649
* Use Surface areas to compute tile usageChris Craik2012-05-231-1/+7
| | | | | | | | Previously we used the surface's first layer's area, which is often incorrect in the case of significant layer merging. bug:6545187 Change-Id: Ied3e5e3cd894b145ed905f8ba83649b3c4f3b1dd
* Fix repaint glitches on merged layersNicolas Roard2012-05-171-1/+2
| | | | | bug:6502237 Change-Id: I62f296d429dcf4917ff2e93029022a7ab2cf3fd6
* Fix invalidations sent to frameworkNicolas Roard2012-05-171-3/+16
| | | | | bug:6479200 bug:6323847 bug:4124445 Change-Id: I1a4058ba6c69d3e285b6274d99a6eafcbf1cdc6f
* Allow more layers to be merged (merging fixed)Nicolas Roard2012-05-161-6/+7
| | | | | | | | | | This will reduce the need to go to single surface rendering mode, as well as improving jank by reducing the number of surfaces we need. (tested on a set of popular sites, we now need up to 16 times less surfaces, commonly 4-5 times less) bug:5683630 bug:6499283 bug:6366440 Change-Id: I761c6a60279e5b21dca8bc1faccd956be58e3702
* calculate draw transforms before merging layersChris Craik2012-05-141-12/+11
| | | | | | | | bug:6331760 bug:6331909 bug:6470927 Change-Id: I558ba1aafb6f7e6800f3bcd22dab5f98e197ddeb
* Fix stale tile problemChris Craik2012-05-141-1/+1
| | | | | | | | | | bug:6483791 Update tile painter of outstanding operations Always schedule a paint operation if we can't update an outstanding one Remove old interruption code, as it's no longer used Change-Id: Ibcdb142d3d9b4ee7a52c78b5c121056089913211
* Complete implementation fixed backgroundNicolas Roard2012-05-081-1/+1
| | | | | | | | | | - extract image for body background (a lot more memory-friendly) - implement tiling / repeat - handles background color bug:1352305 Change-Id: I0efa27e09416e3c3848a4a53ced650cbb3d9f7ce
* Fix visible area calculation.Mangesh Ghiware2012-05-081-3/+4
| | | | | | | | | | | Use the inverse of draw tranform to convert from content to layers coordinate space. Also, if the draw transform isn't limited to 2D space, return the entire content area. Above conversion doesn't preserve 3D. Bug: 6077575 Change-Id: I8393de0597ae5cd739b3df10c087cedd234ac9f0
* Merge "Broaden fast inval path" into jb-devJohn Reck2012-05-061-11/+12
|\
| * Broaden fast inval pathJohn Reck2012-05-041-11/+12
| | | | | | | | | | | | | | | | Bug: 6445600 Clip fast partial invals to the screen instead of an arbitrary size limit Change-Id: Iafcbcb427566db87420b8bfc54eb9148530913ce
* | Merge "Unify the naming of rectangles used for draw." into jb-devTeng-Hui Zhu2012-05-041-23/+23
|\ \ | |/ |/|
| * Unify the naming of rectangles used for draw.Teng-Hui Zhu2012-05-031-23/+23
| | | | | | | | | | | | | | | | | | The rects are referring to the same rect under different coordinates, so we just prefix the coordinates' name to differentiate the rects. This is pure refactor, no functional change. bug:6338456 Change-Id: Ic072a4f5aa56a25751e0151a697c0e31bca94ef5
* | Fixed single-surface rendering with fixed-background elementsNicolas Roard2012-05-031-5/+7
|/ | | | | | | | In single-surface rendering, we did not paint the surface collection correctly if there was more than one child on the base surface (which is the case with fixed-background elements). Change-Id: I6e8d34630060414159b5f13cd302c1dc2165a048
* Rewrite PictureSet with TURBO!John Reck2012-05-021-6/+92
| | | | | | | | | | | | | | | | | | | | This changes how partial invals are done by adding a hybrid mode. What we used to do is generate a SkPicture for the new area. This SkPicture would possibly be larger than the actual inval, depending on various merge rules (more SkPictures == slower to draw a tile) The new code rewrites PictureSet entirely, preserving many of the old rules but cleans up the code and adds the concept of a "PrerenderedInval". This is a partial inval that WebKit has rasterized. By having WebKit produce both a SkPicture and a SkBitmap, we avoid needing to play back the picture and avoid overdrawing. We take this SkBitmap, and simply update the front textures with it. This gives us full partial invals through the entire system without hitting any driver bugs, and with minimal copies. And while the SkPicture may be larger than the inval, the SkBitmap that is rasterized is not - it matches the area webkit has said is dirty. Change-Id: Ieb7ecc9db0d4f679102fda004a43399f9b319ebc
* Merge "CSS Background image implementation"Nicolas Roard2012-04-241-4/+16
|\
| * CSS Background image implementationNicolas Roard2012-04-241-4/+16
| | | | | | | | | | | | bug:1352305 Change-Id: Id9caaae9b9442729110b52c75004f634d8284db4
* | Don't overdraw TileGridsChris Craik2012-04-241-1/+0
|/ | | | | | | Given the visible area info, we can just tune the shader and matrix to draw partial tile at the edge of TileGrids. This could save a lot of GPU time. Change-Id: I1a45aa9a3a76ab5894096828bfff83057b1c9272
* Merge "Move the matrix support to rely on the new framework clip info"Teng-Hui Zhu2012-04-161-1/+1
|\
| * Move the matrix support to rely on the new framework clip infoTeng-Hui Zhu2012-04-131-1/+1
| | | | | | | | | | | | | | | | | | | | In this new way, we don't need to worry about the animation offset, b/c it is in the clip rect. Also add the matrix support for video layer. bug:5684832 Change-Id: I08e22ca042e425f8f7af935b60e04f2a4dbc52df
* | remove several unneeded variables/parametersChris Craik2012-04-131-1/+1
|/ | | | Change-Id: I862487e8700a408e9e2f7f4dc7d034674ac454d0
* Skip drawing the background (glClear) if the tiles cover it.Chris Craik2012-04-121-0/+12
| | | | | | bug:5631590 Change-Id: Ic7dc0dac0d7f98fb94eb2b111b3e59a0a7010caf
* Reorganize platform/graphics/androidNicolas Roard2012-04-061-0/+346
Change-Id: Idc67155cfa99784dcd931e705336bfa063ecae46