| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Change-Id: Idc67155cfa99784dcd931e705336bfa063ecae46
|
|
|
|
|
|
|
|
| |
This change switches the TransferQueue to use the BufferQueue::setBufferCount
method rather than the SurfaceTexture method. The SurfaceTexture method has
been removed as part of the SurfaceTexture refactoring.
Change-Id: I906b710b426d91181d73be18fc0aeefd514d3c91
|
|
|
|
|
|
|
|
| |
Simplify the draw interface, organize the data for draw in a better way.
Add a forceBlending from Tile to make sure translucent background can force
blending too.
Change-Id: I3baa16cbdd8fda6fb4ab4087b74a1e0c9aa1e81b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BaseTile,BaseTileTexture -> Tile,TileTexture
Used in layers other than the base
LayerGroup -> Surface
Renamed to convey that it is a member of the SurfaceCollection, and that the
layers grouped inside are painted together (if at all)
DualTiledTexture -> SurfaceBacking
Better conveys that this is the raster backing for a surface that can
paint. It may be implemented with two tiled textures for now, but that isn't
as important as its relationship to the surface.
TiledTexture -> TileGrid
Renamed to make it more clear that it was a container of tiles, and to be
less similar to TileTexture
Change-Id: I843f8603a2080cfe5a7313ba1c2eff10620f8aa2
|
|
|
|
| |
Change-Id: Id15574e4b1988d73eaefed32718cd4698222d8f1
|
|
|
|
| |
Change-Id: I841b3e021298738c91701068992798a55290a520
|
|
|
|
|
|
|
|
|
|
| |
Tile texture discard could leave the transfer queue with a mismatched base tile
and texture, so that the saved tile isn't the correct owner. Detect this case,
and mark the transfer obsolete.
bug:6157456
Change-Id: Ib02ecf877c4b99d07172541db8236e15c528af58
|
|
|
|
|
|
|
| |
Started using ALOGW/E for indicating warnings/errors
Also delete the unused TilesTracker.h
Change-Id: I1986a3057efd4c8e260dbc020e21c02d4d646cf3
|
|
|
|
|
|
|
| |
These checks are obsolete, as texture/tile stealing both occur on the UI thread,
and detach textures from tiles.
Change-Id: I6d906217ee8954ac04b95f94a4516fd4dfbbb3b0
|
|
|
|
|
|
|
|
|
| |
Disable layer readiness check when in single surface mode
Disregard painter change in TransferQueue::checkObsolete
bug:6091207
Change-Id: I556fca3faf2482beffd81ecbcf7a03a43d297cb9
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* added 'LayerGroup' class
separate the painting/tiled features of a layer (eventually multiple layers)
tiled drawing/preparing/counting details are abstracted out of LayerAndroid
* added 'SurfaceCollection' class
incorporates both the BaseLayerAndroid/LayerAndroid tree, as well as the
vector of tiled LayerGroup
* renamed 'TreeManager' to 'SurfaceManager'
* Removes PaintedSurface
was mostly a thin wrapper around DualTiledTexture
* Combines TilePainter/SurfacePainter
* Simplified ref counting
Change-Id: I92c5c75f48d92e0e28812c56de00102399fc02ee
|
|
|
|
| |
Change-Id: I07ab8c6e7ea1c15181eaaa936968b60f6cdd69a4
|
|
|
|
|
|
|
| |
Seems to be a problem with the refcounting.
bug:6050242
bug:6058365
This reverts commit 92a7e4bc6b67b150cbb30f78374173ecfeb43607
|
|
|
|
|
|
|
|
|
|
| |
Filters can no longer block, which removes the need for transfer queue
interruption. The filter no longer touches the currently painting tile.
Tiles are now all ref-counted to accomodate the container being deleted while
one of its tiles is still painting.
Change-Id: Iaa4848665efdf90846defb0a53bf1ea013b8421b
|
|\ |
|
| |
| |
| |
| |
| |
| | |
This change can save 1.25MB per process if the app is using webview.
Change-Id: I32b691f15fa7d395e546963fa64e2fd269a89be9
|
|/
|
|
| |
Change-Id: I300373ed92230f61a82ed96f2216e5093ed35c9f
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I95dca67205811d9e18ed07d42b765d4f3bd6f7cc
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
This will avoid ANR when texture generation thread is stuck b/c transfer queue
is running out of slots, at the same time, EGL context get destroyed and no
more draw call coming to free up more slots.
Abandon the surface texture will also help to be more memory friendly.
Move the highEndGfx check to TilesManager.
bug:5639899
Change-Id: I98f0289ae5ca18361f71dec853327223506e3073
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixed the sync problem for the pure color tiles.
When Tex Gen thread detect that the tile is pure color, UI need to pick it up
in the right time. To avoid adding too many sync object, the simplest way is
following the same idea of transfer queue.
At the same time, using a separate queue and adding simple operation on top of
it can limit the impact to the original transfer queue which is highly coupled
with SurfTex implemenation.
bug:5808996
Change-Id: I518d358c5626815b27f285d4dcadcee9c3234835
|
|
|
|
| |
Change-Id: I15741749f9b9a3977bdbfd737ba639ddfaaff9d4
|
|\
| |
| |
| |
| | |
* commit '3fb3b3e0e16ce89f589b71ba2cc5942f42f0ac27':
Revert "Set the exact buffer size to Surf Tex"
|
| |
| |
| |
| |
| |
| | |
This reverts commit 2d19ea7c0d192c0c1eda1caed7e25143bbe22c20.
bug:5689093
|
|\ \
| |/
| |
| |
| |
| |
| | |
performance" into ics-mr1
* commit 'd9b4da819207ee4d9a3b735e02d17eb6e19f3209':
Increase the transfer queue size a little to improve the performance
|
| |
| |
| |
| |
| | |
bug:5666757
Change-Id: Ib9589254c656731eaf35be60f9dccf45d4cea21b
|
|\ \
| |/
| |
| |
| | |
* commit 'a5c5de101b2a1a1f1d347f21519299d05b745eab':
Set the exact buffer size to Surf Tex
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Originally, the extra space is used to get the queue working when the size is
1, which is only for testing purpose.
Now we should claim this back to save some memory.
bug:5666757
Change-Id: I2079a562d8414f89274d7fff3342eafe32fe287f
|
|\ \
| |/
| |
| |
| | |
* commit '7fd7178c44ef32d378ec7a1454a84639c4dbcac2':
Add logging to help debug an ANR
|
| |
| |
| |
| |
| | |
bug:5627977
Change-Id: Ie68a4ae44599063fa93938370a5dcff7e63d7b9b
|
|/
|
|
| |
Change-Id: I6fbaa9dfe50752fa5ec95cd43ed50306b63270f3
|
|
|
|
|
|
| |
Bug: 5529012
Change-Id: I0b57c4cf9d295524f675f2cb7504d5a9c0363871
|
|
|
|
|
|
|
|
| |
bug:5461107
Tiles were being destroyed, and subsequently dereferenced in TransferQueue
Change-Id: I4fea289e5fda03a69f07554f57120c4c5bf7b016
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
bug:5409902
Tiles were being discarded from the queue (and simply unsuccessfully
added). This caused them to get stuck in the 'ValidatedUntransferred' state.
Now if a tile isn't added successfully, or if it's discarded, it removes its
painting texture and will have to repaint from scratch.
Change-Id: I551e00fb8a6be3b0f3cabeabaa91e8b8b30019d5
|
|\ |
|
| |
| |
| |
| |
| | |
bug:5395019
Change-Id: Ifc16eb59fec62e5f4b95ad4e35f140969226506d
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
This relied on the hacky Surface Texture change:
https://android-git.corp.google.com/g/#/c/138516/
bug:5347539
Change-Id: I78e0f677a9c201ba49e11ddb24fa095471cbf3c9
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Basically, move unnecessary function calls out from the loop.
And move the clear related code into DEBUG only.
This is saving us some CPU overhead.
bug:5347539
Change-Id: I237162fd6a502e93ea32c9856f907c5a9ddb2e78
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
bug:5347539
Change-Id: I12b8b45792d5aa684295b897be308181a7d44631
|
|
|
|
|
|
|
|
|
|
|
|
| |
The default for WebView should be still be GPU upload.
That means Gmail will be default to using GPU upload.
bug:5347539
The browser change is in
https://android-git.corp.google.com/g/#/c/137606/
Change-Id: Ic7d42331511b24cf8a58f2f5fb64aaffc18cae5f
|
|
|
|
|
|
|
|
|
| |
This can save the draw call perf up to about 20-40% for each quad.
We should make more draw calls using NEAREST mode when it is 1 to 1 mapping.
bug:5347539
Change-Id: I1ae206716f2b1352775e0079e25e54f46bc18578
|
|
|
|
|
|
|
|
| |
Clean up the unnecessary Surface Texture operation in CPU upload code path.
bug:5347539
Change-Id: Id8cf1d3e472dce2470bc62a844b95e8d5d2a6371
|
|
|
|
|
|
| |
bug:5044597
Change-Id: Ib70e48f4503a85952afb28da3a6c500b0c011bb8
|
|
|
|
|
|
|
|
|
|
| |
Currently disable the wait b/c b/5332112.
For now it should be the same functionality as the original workaround by
using glDraw.
bug:5270526
Change-Id: Ia6d6739909994d6ed756c6b195e6cf7ee9518c54
|
|
|
|
|
| |
bug:5270526
Change-Id: I790a3fc995edc73192b2bcb24eaa29e99434f2fb
|
|\ |
|