Commit Graph

54 Commits

Author SHA1 Message Date
Chris Lord
daa0c0b91b Bug 783368 - Uncouple low precision updates from standard. r=bgirard
Allow low precision updates to happen regardless of the state of the unscaled
tile buffer.
2012-11-21 22:34:20 +00:00
Chris Lord
7f5b805f96 Bug 783368 - Fix progressive tile update coherency issues. r=bgirard
Fix some progressive tile updating coherency issues caused by aborting at
inopportune times and tile draw ordering.
2012-11-21 22:34:19 +00:00
Chris Lord
dcd77547c6 Bug 783368 - Send the correct display port when rendering low precision. r=kats,bgirard
When doing a low precision update, send the display-port instead of the
critical display port so that more appropriate cancelling decisions can be
made.
2012-11-21 22:34:19 +00:00
Chris Lord
b4f19d1caf Bug 783368 - Don't duplicate high precision rendering in low precision region. r=bgirard
Don't render valid high precision region in the low precision buffer.
2012-11-21 22:34:19 +00:00
Chris Lord
f068580516 Bug 783368 - Add a low precision buffer to tiled thebes layers. r=bgirard,kats
If there is a critical display port set, render the area outside it into a
lower precision buffer.
2012-11-21 22:34:19 +00:00
Chris Lord
dced911b41 Bug 783368 - Add resolution to TiledLayerBuffer. r=bgirard
Add the concept of resolution to TiledLayerBuffer and add support for it in
BasicTiledThebesLayer and TiledThebesLayerOGL.
2012-11-21 22:34:18 +00:00
Chris Lord
4e2898c1cf Bug 783368 - Prefer the critical display port, when set, in basic tiled layers. r=bgirard
If a critical display port is set, only validate content within it when using
basic tiled layers.
2012-11-21 22:34:18 +00:00
Ehsan Akhgari
abcfaa316e Backed out 11 changesets (bug 783368) because of build bustage on a CLOSED TREE
Backed out changeset 2bc4310263c4 (bug 783368)
Backed out changeset a35c83a8d99d (bug 783368)
Backed out changeset afb9b2a661ba (bug 783368)
Backed out changeset 3926f510f9be (bug 783368)
Backed out changeset 9d1fe200ff87 (bug 783368)
Backed out changeset b6e4f88f5730 (bug 783368)
Backed out changeset bc53f7dba7c6 (bug 783368)
Backed out changeset 1948fa2fccc1 (bug 783368)
Backed out changeset 9af163388fd1 (bug 783368)
Backed out changeset 7a2256e1aa7c (bug 783368)
Backed out changeset 4da1958a9885 (bug 783368)
2012-11-21 14:57:02 -05:00
Chris Lord
9ec8b6a2e5 Bug 783368 - Add a pref to control low precision tile rendering. r=bgirard
Add pref 'layers.low-precision-buffer', enabled on mobile/android.
2012-11-21 19:16:53 +00:00
Chris Lord
ebcd7b9479 Bug 783368 - Uncouple low precision updates from standard. r=bgirard
Allow low precision updates to happen regardless of the state of the unscaled
tile buffer.
2012-11-21 19:16:53 +00:00
Chris Lord
f56c6a2dd4 Bug 783368 - Fix progressive tile update coherency issues. r=bgirard
Fix some progressive tile updating coherency issues caused by aborting at
inopportune times and tile draw ordering.
2012-11-21 19:16:52 +00:00
Chris Lord
2cf7007f77 Bug 783368 - Send the correct display port when rendering low precision. r=kats,bgirard
When doing a low precision update, send the display-port instead of the
critical display port so that more appropriate cancelling decisions can be
made.
2012-11-21 19:16:52 +00:00
Chris Lord
5b0bde0e57 Bug 783368 - Don't duplicate high precision rendering in low precision region. r=bgirard
Don't render valid high precision region in the low precision buffer.
2012-11-21 19:16:52 +00:00
Chris Lord
c341a5ec2a Bug 783368 - Add a low precision buffer to tiled thebes layers. r=bgirard,kats
If there is a critical display port set, render the area outside it into a
lower precision buffer.
2012-11-21 19:16:52 +00:00
Chris Lord
231a433699 Bug 783368 - Add resolution to TiledLayerBuffer. r=bgirard
Add the concept of resolution to TiledLayerBuffer and add support for it in
BasicTiledThebesLayer and TiledThebesLayerOGL.
2012-11-21 19:16:51 +00:00
Chris Lord
6ae9b705d9 Bug 783368 - Prefer the critical display port, when set, in basic tiled layers. r=bgirard
If a critical display port is set, only validate content within it when using
basic tiled layers.
2012-11-21 19:16:51 +00:00
Phil Ringnalda
25c4f24ae3 Back out 0d4e09ade336 (bug 808746) for Android reftest bustage 2012-11-05 22:35:59 -08:00
Benoit Girard
84bc9c78d0 Bug 808746 - Properly calculate the tile's origin when avoiding SinglePaintBuffer. r=bjacob 2012-11-05 23:41:58 -05:00
Chris Lord
59e6d65fb8 Bug 805014 - Disable progressive tiles when a shadow target is set. r=bgirard
The testing framework doesn't react well to paints not coming in synchronously.
Disable progressive tile painting when a shadow target is set on the layer
manager for now.
2012-10-25 17:27:08 +01:00
Chris Lord
f5236acf1f Bug 803013 - Update valid region progressively with tiles. r=bgirard
When updating tiles progressively, make sure the valid region is also updated
progressively to avoid flickering.
2012-10-24 15:49:03 +01:00
Phil Ringnalda
e1e45989af Backout 8cc37887f621 and b6bd9f564650 (bug 795259) and 8b9c7bf80449 (bug 803013) to investigate the effect on Android reftest-1 and -4 permaorange 2012-10-23 23:35:13 -07:00
Benoit Girard
b91e942f5e Bug 804724 - Add an abort painting marker. r=ehsan
--HG--
extra : rebase_source : 10f327e91b15d673303eb607a361c1c4d14a1e92
2012-10-23 17:18:37 -04:00
Chris Lord
7a4b155c59 Bug 803013 - Update valid region progressively with tiles. r=bgirard
When updating tiles progressively, make sure the valid region is also updated
progressively to avoid flickering.
2012-10-23 19:30:35 +01:00
Chris Lord
2caf0bb798 Bug 803013 - Maintain coherency when progressively updating visible areas. r=bgirard
When rendering progressively, make sure that any previously visible area that
is still visible is updated at the same time. This helps maintain visual
coherency on pages that invalidate previously visible areas while scrolling,
and when losing layers between updates.

This supersedes the previous method of only doing progressive updates while
scrolling.
2012-10-22 20:18:14 +01:00
Benoit Girard
0c6e26e826 Back out d5496f32f2e4 for mochitest failures
--HG--
extra : rebase_source : 1e0caa0ae6d2c1bec971fde75c348f69e6cc63fe
2012-10-15 16:57:06 -04:00
Benoit Girard
632a14569f Bug 796117 - Keep tiles cached when changing resolution. r=Cwiiis
--HG--
extra : rebase_source : fdc4bb831c367d2d33dadb75c6d1f9784b97d44d
2012-10-15 15:08:45 -04:00
Chris Lord
adab118d74 Bug 749063 - Improve progressive tile update draw order. r=bgirard
Now that the region can be more complicated due to tile prioritisation, the
previous code for draw order doesn't work as intended. Robustify/simplify the
code by making it region-based.
2012-10-15 09:33:56 +01:00
Chris Lord
fec9404d96 Bug 749063 - Prioritise visible tiles when progressively updating. r=bgirard
When progressively updating tiles, prioritise tiles that intersect with the
current viewport before off-screen tiles. New content is still prioritised
over stale content.
2012-10-15 09:33:48 +01:00
Chris Lord
bc223170e4 Bug 749063 - Replace shouldAbort with generic callback for progressive updates. r=bgirard
Replace ShouldAbortProgressiveUpdate with ProgressiveUpdateCallback, that
provides more contextual information about how the update will get used.
2012-10-15 09:33:34 +01:00
Chris Lord
e7de629479 Bug 794130 - Abort drawing if appropriate when using progressive tile updates. r=bgirard,blassey
Add a function to BasicLayerManager to check if it's appropriate to abort an
ongoing progressive update, and add an Android-specific implementation in
mobile/android/base/gfx/GeckoLayerClient.java.

--HG--
extra : rebase_source : edbd20acb53660340d52265591849aacafd179c4
2012-10-04 14:45:16 -04:00
Ehsan Akhgari
b9605eaf78 Bug 797614 - Silence the warning about assignment in the condition in BasicTiledThebesLayer.cpp; r=jrmuizel
--HG--
extra : rebase_source : 2318567420c513555e2c8ee3cebfa5ff16eeaa3b
2012-10-03 19:36:10 -04:00
Benoit Girard
2153a3688f Bug 797359 - Increase size of tile debug overlay. r=Cwiiis 2012-10-03 10:56:41 -04:00
Benoit Girard
6bd7b01ce6 Bug 796939 - Don't use the SinglePaintBuffer if only painting one tile. r=Cwiis 2012-10-03 10:28:04 -04:00
Doug Sherk
c0e08ee726 Bug 784908: Part 1: Change names of FrameMetrics variables to be more descriptive, add documentation, change some coordinate spaces. r=roc 2012-09-28 22:16:34 -04:00
Chris Lord
6cc4cbd474 Bug 794465 - Only use progressive tile drawing when scrolling. r=bgirard
To prevent seams appearing in updated content, only use progressive tile
drawing when scrolling. This is the most critical time to keep interactivity
consistent.
2012-09-26 21:42:09 +01:00
Chris Lord
bb3f3cc9cd Bug 794200 - Progressive draw tiles in the direction of scrolling. r=bgirard
When scrolling downwards, make sure to fill in tiles from the top, upwards
from the bottom, left from the right and right from the left.
2012-09-26 21:41:56 +01:00
Chris Lord
ed4c547259 Bug 794200 - Draw tiles with no content before tiles with stale content. r=bgirard
When using progressive tile drawing, draw tiles that have no content before
tiles that only have stale content.
2012-09-26 21:41:41 +01:00
Chris Lord
abf5767fcd Bug 793656 - Fix flickering during progressive tile updates. r=bgirard
Force a single transaction when the resolution changes and for other updates,
keep stale tiles within the visible region until the transaction is complete.
2012-09-25 20:13:40 +01:00
Benoit Girard
34d1b7b2ff Bug 787416 - Invalidate tiled layers when the format changes. r=joe 2012-09-04 18:05:31 -04:00
Benoit Girard
39a579ddab Bug 751916 - don't recycle tile if the format has changed. r=joe 2012-08-30 15:35:36 -04:00
Nicolas Silva
047b99ba78 Bug 782372 - Splits ImageLayers.h into ImageLayers.h ImageContainer.h and ImageTypes.h, r=bgirard 2012-08-19 15:33:25 -04:00
Aryeh Gregor
e806eeab4f Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Benoit Girard
358e391815 Bug 771219 - Added a pref for progressive painting. r=ajuma 2012-07-06 14:38:50 -04:00
Benoit Girard
d637f02a21 Bug 771219 - Implement tile based progressive drawing. r=ajuma 2012-07-06 14:02:10 -04:00
Benoit Girard
fc32236024 Bug 755452 - Don't re-invalidate region to paint in BasicTiledLayerBuffer::PaintThebes. r=roc 2012-05-15 16:34:06 -04:00
Benoit Girard
dcda9631d2 Backout ab1cd425d884 for talos failures
--HG--
extra : rebase_source : 0d2930f14507123535a72aa75f73f78d03bcb765
2012-05-15 19:21:10 -04:00
Benoit Girard
ce38c886b2 Bug 755452 - Don't re-invalidate region to paint in BasicTiledLayerBuffer::PaintThebes. r=roc
--HG--
extra : rebase_source : 0e66b6a2cd4c741fe7d70c3ccd82aa1283a64034
2012-05-15 16:34:06 -04:00
Benoit Girard
b87c85ed4e Bug 748649 - Shallow copy BasicTiledLayerBuffer to work around bug 747811. r=ajuma
--HG--
extra : rebase_source : 914f0602e64557481f91f96bd78fb9c6ed2dc4b5
2012-05-01 15:59:41 -04:00
Benoit Girard
0f8e97fcb4 Bug 751896 - BasicTiledThebesLayer should use OPERATOR_SOURCE. r=jmuizelaar 2012-05-04 15:35:57 -04:00
Nicholas Cameron
9b7506b604 Bug 716439; shadow layer support. r=BenWa 2012-03-19 12:02:38 +13:00