summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/graphics/android/BaseTile.h
Commit message (Collapse)AuthorAgeFilesLines
* Prevent race condition in tile texture discardChris Craik2011-10-171-0/+1
| | | | | | | | bug:5461107 Tiles were being destroyed, and subsequently dereferenced in TransferQueue Change-Id: I4fea289e5fda03a69f07554f57120c4c5bf7b016
* Fix crash in BaseTileTextureChris Craik2011-10-131-0/+1
| | | | | | | | | | | bug:5453156 simplified m_owner management - ONLY modified on UI thread Previously deferring clear of m_owner, now set immediately since texture thread doesn't use need stale owner info Change-Id: I9b6f7bfd27af44a818d378ff750c0170d8122cfd
* Double buffering for layersChris Craik2011-10-101-0/+1
| | | | | | | | | | | | | bug:5309934 Defer picture changes and invalidations when: 1) a tiled texture hasn't completed painting 2) the user is scrolling (done in PaintedSurface) Remaining issues: Should block updates on zooming Change-Id: I60ee722e651f96e95a4ac0e819999fc1589037c3
* Use state machine to track tile stateChris Craik2011-09-291-10/+48
| | | | | | | | | | | | | | | | | | | | bug:5369978 Manage invalidations, painting, transferring, and swapping with a state machine. notes: * readyFor shouldn't be needed if all of the events that would cause a readyfor fail mark the tile dirty (such as stealing, scale change) * changing the scale of a page should discard all textures * m_dirty should be more gracefully worked into the state machine * a tile may drop dirtiness notifications if it's already painting, since upon completion m_dirty will be cleared - (issues for layers only) Change-Id: I5909fb5d208da2fb276e223c56bf143741a9a24c
* Fix layer tile allocation to be more consistent, less discoChris Craik2011-09-121-1/+8
| | | | | | | | | | | | | | bug:5290559 Two major things: * Avoid swapping front/back textures before the textures have been blitted to avoid race condition where blit fails because it doesn't see a back texture * Don't allow a tile to acquire its front texture to paint into, as the acquisition logic doesn't handle this. Change-Id: I84b59396ca9faaf3ddc7c75b6f66e4736bf4c3cf
* Enable double buffering via base tilesChris Craik2011-09-021-10/+19
| | | | | | | | | | | | bug:2522049 allocate textures and tiles using the gldraw count when they were most recently prepared remaining issues: -layers still flicker (presumably from texture stealing) -layers aren't double buffered yet Change-Id: Iccdf68326d7d476269d4e3a13903aaab249ee92d
* Implement partial repaint for layers (at the tile level)Nicolas Roard2011-08-171-5/+6
| | | | | | | | Fixes a scheduling problem with layers bug:3392331 bug:5145259 Change-Id: I2ea2c91f2c6d6f5288375cb5ebdaa69819b740be
* Implements tiled layers. We remove all the existing code in LayerAndroidNicolas Roard2011-07-141-10/+13
| | | | | | | | | | | related to the old texture management and introduce two new classes: - PaintedSurface, used as a placeholder ui-side for the regularly changing LayerAndroid - TiledTexture, implementing the tiling of PaintedSurface using a set of BaseTile bug:4580444 bug:3392331 Change-Id: I0daa079d2acce49f3baa8c312ea0b0dd457ccd5c
* Refactor partial invalidation codeTeng-Hui Zhu2011-07-061-5/+4
| | | | Change-Id: Id8612946d845daad86f02f626c3247ff8dc1d2f8
* Modified tile reclamation heuristic for multi-webview displayChris Craik2011-07-011-0/+6
| | | | | | | | | | | When tiles are reclaimed, they are now taken first from webviews that haven't been drawn in a while. Previously they were taken from any other webview - which may have been one still being displayed if multiple are onscreen. bug:4049143 partially solved (still not enough graphics memory allocated for tiles on tablet devices) Change-Id: Id400ea28e92ba805120c8353881834157fefa483
* Add initial support for Ganesh renderer.Derek Sollenberger2011-06-301-2/+2
| | | | | | | The GaneshRenderer can now be swapped in for the RasterRenderer in BaseTile. A following CL will enable this swap at runtime. Change-Id: Id42040fce2895ab00cccb8f11dfd0489df861655
* Cleanup Skia related rendering code for raster rendering.Derek Sollenberger2011-06-281-5/+5
| | | | | | | | | | | | | | In the existing code we created a sharedBitmap for BaseTiles and never used it instead opting for createing bitmaps on the stack to enable partial invalidation. This CL removes the sharedBitmap concept and instead creates all bitmaps on the stack. This means that BackedDoubleBufferedTexture no longer needs to have a bitmap member, but instead simply takes the bitmap from the caller and uploads it to the appropriate texture. To make this upload clean we now pass the bitmap via const references instead of pointers. Change-Id: Ie218c4b4564e5574ca6e404d4857904ab41a3a5c
* Refactor and improve the raster rendering for base tiles.Derek Sollenberger2011-06-271-13/+3
| | | | Change-Id: I1dc4622e0ce1602f6dc314f0b510c41adb95a443
* refactor the TextureInfo out from SharedTexture, no functional changeTeng-Hui Zhu2011-06-071-1/+1
| | | | Change-Id: I9018a8079da1df2fd55c94aacd4ae96227ad2bd2
* Basic performance monitor for tilesJohn Reck2011-05-161-0/+3
| | | | Change-Id: Ic67a5093a7c09b870ec34160ae0c999162dddcfc
* Merge WebKit at r75315: Move Android-specific WebCore files to SourceSteve Block2011-05-121-0/+151
This moves files in the following WebCore subdirectories ... - bindings/js - bindings/v8/custom - plugins/android - platform/android - platform/graphics/android - page/ - css/ - dom/ - loader/archive/android