Commit Graph

136 Commits

Author SHA1 Message Date
Bas Schouten
b24ee3fde9 Bug 1088414: Use a single synchronization texture for D3D11. r=jrmuizel
This patch adds a cross platform 'sync object' that is used to synchronize the drawing of individual textures. For the D3D11 implementation all textures that are written to will have one pixel copied into the D3D11 sync texture while holding its lock. The compositor will then, before composition acquire and release sync once, this should ensure all drawing on the content side has completed.
2014-12-13 01:50:47 +00:00
Wes Kocher
115e9d90b8 Backed out changeset 2cd43e5ae2c1 (bug 1088414) for breaking non-Windows builds on a CLOSED TREE 2014-12-12 18:11:59 -08:00
Bas Schouten
ee49fe00fe Bug 1088414: Use a single synchronization texture for D3D11. r=jrmuizel
This patch adds a cross platform 'sync object' that is used to synchronize the drawing of individual textures. For the D3D11 implementation all textures that are written to will have one pixel copied into the D3D11 sync texture while holding its lock. The compositor will then, before composition acquire and release sync once, this should ensure all drawing on the content side has completed.
2014-12-13 01:50:47 +00:00
Nicolas Silva
54233122ad Bug 1101636 - Cleanup the CompositorType enum. r=jrmuizel 2014-11-26 02:00:34 +01:00
David Anderson
ec1f0caf28 Add APZ handling for desktop scroll wheel events. (bug 1086162 part 1, r=kats) 2014-11-17 20:56:18 -08:00
Botond Ballo
27647aabec Bug 1055741 - Unify the 'local Screen' and 'ParentLayer' coordinate systems. r=kats 2014-11-10 14:35:11 -05:00
Botond Ballo
2124b8b94c Bug 1076163 - Clean up the resolution-related fields and methods in FrameMetrics. r=kats 2014-10-20 17:12:35 -04:00
Botond Ballo
08963b106d Bug 1076163 - Basic APZ support for css-driven resolution. r=kats,tn
This makes APZ behave nicely with most uses of a css transform:scale.

Summary of changes:
  - FrameMetrics::mCumulativeResolution now includes the css-driven resolution
    in addition to the pres-shell resolution.
  - Displayports are now stored in Screen pixels rather than Layer pixels.
    This is what we want anyways (as we'd like the displayport size to remain
    constant as a fraction of the screen size), but it was necessary to make
    this change as part of this patch because continuing to store them in
    Layer pixels in the presence of a css-driven resolution would have
    required a bunch of infrastructure to implement correctly.

Remaining work:
  - Layout painting a scrollable layer at a resolution different from the
    scale induced by the css transform causes problems. These will go away
    with bug 1076192.
  - Different resolutions on the x and y axes are not supported. This is
    tracked by bug 1039967.
2014-10-24 15:49:38 -04:00
Carsten "Tomcat" Book
f8a9a0cf8d Backed out changeset fbb9dc943109 (bug 1076163) for Android 4.0 Crashes on a CLOSED TREE 2014-11-13 11:47:57 +01:00
Carsten "Tomcat" Book
b4345a9bb4 Backed out changeset 71fe4233208a (bug 1076163) 2014-11-13 11:47:35 +01:00
Carsten "Tomcat" Book
5b163a6b8b Backed out changeset a96930f1e26b (bug 1055741) 2014-11-13 11:47:31 +01:00
Botond Ballo
c54c9d42eb Bug 1055741 - Unify the 'local Screen' and 'ParentLayer' coordinate systems. r=kats
--HG--
extra : rebase_source : af7323668fb54079e121755660da2121bec3d76b
2014-11-10 14:35:11 -05:00
Botond Ballo
2105a1529d Bug 1076163 - Clean up the resolution-related fields and methods in FrameMetrics. r=kats 2014-10-20 17:12:35 -04:00
Botond Ballo
df8b0f8a7a Bug 1076163 - Basic APZ support for css-driven resolution. r=kats,tn
This makes APZ behave nicely with most uses of a css transform:scale.

Summary of changes:
  - FrameMetrics::mCumulativeResolution now includes the css-driven resolution
    in addition to the pres-shell resolution.
  - Displayports are now stored in Screen pixels rather than Layer pixels.
    This is what we want anyways (as we'd like the displayport size to remain
    constant as a fraction of the screen size), but it was necessary to make
    this change as part of this patch because continuing to store them in
    Layer pixels in the presence of a css-driven resolution would have
    required a bunch of infrastructure to implement correctly.

Remaining work:
  - Layout painting a scrollable layer at a resolution different from the
    scale induced by the css transform causes problems. These will go away
    with bug 1076192.
  - Different resolutions on the x and y axes are not supported. This is
    tracked by bug 1039967.
2014-10-24 15:49:38 -04:00
Kartikaya Gupta
3fca49c8e2 Bug 1066421 - Make APZStateChange a regular enum instead of a fake enum class. r=botond 2014-09-12 11:39:32 -04:00
Kearwood (Kip) Gilbert
a5c8bcd2a0 Bug 1022825 - Implement Asynchronous Smooth Scrolling on Compositor Thread. r=kats
- Extended nsIScrollableFrame and nsGfxScrollFrame to return destination
  of smooth scrolls which are to be animated on the compositor thread.
- Added apz.smooth_scroll_repaint_interval preference.
- Implemented AsyncPanZoomController::PanZoomState::SMOOTH_MSD_SCROLL state
  and AsyncPanZoomController::SmoothScrollAnimation class to animate smooth
  scroll animations on the compositor thread.
- Extended FrameMetrics to report requests for smooth scrolls to be animated
  on the compositor thread and their corresponding destination positions.
- AsyncPanZoomController now checks FrameMetrics for requests to perform
  smooth scrolling on the compositor thread.  It will ensure that they
  are cancelled as needed by mousewheel, touchpanel, keyboard, and
  CSSOM-View instant scrolling DOM methods.
- The layout/generic/test/test_scroll_behavior.html mochitest has been
  commented as depending on Bug 1062609 before being enabled for APZ.
2014-07-10 11:52:40 -07:00
Robert O'Callahan
08fc3b5784 Bug 967844. Part 2: Move mContentDescription from Layer to FrameMetrics. r=kats
--HG--
extra : rebase_source : b616a0ab2e5bb203a66a5f0b3644bdcbe5f17ce7
2014-08-30 00:23:25 +12:00
Robert O'Callahan
f25942deec Bug 967844. Part 1: Move mBackgroundColor from Layer to FrameMetrics. r=kats
--HG--
extra : rebase_source : d7cf8756678cc342e1d648638dd867c5479b74ba
2014-08-30 00:23:25 +12:00
Phil Ringnalda
609fe6b9c4 Backed out 3 changesets (bug 967844) for robopan bustage
Backed out changeset 6b53305f1c42 (bug 967844)
Backed out changeset dff3eb181f33 (bug 967844)
Backed out changeset 4d4b03442eaf (bug 967844)
2014-09-01 15:20:13 -07:00
Robert O'Callahan
864c99dd28 Bug 967844. Part 2: Move mContentDescription from Layer to FrameMetrics. r=kats
--HG--
extra : rebase_source : d5a2d8ea13369db215e96e721efc3ce0b354a523
2014-08-30 00:23:25 +12:00
Robert O'Callahan
349231bac5 Bug 967844. Part 1: Move mBackgroundColor from Layer to FrameMetrics. r=kats
--HG--
extra : rebase_source : b5fd1fd1b0b1f55990e72d205cc871a46d5f4f8c
2014-08-30 00:23:25 +12:00
David Zbarsky
848b6c007e Bug 1060165: Remove gfxPoint3D r=nical 2014-08-29 14:47:30 -04:00
Kartikaya Gupta
8b8760b990 Bug 1055760 - Move the scroll handoff parent id from Layer to FrameMetrics. r=botond 2014-08-27 22:13:39 -04:00
Botond Ballo
1d16def11d Bug 923512 - Introduce strongly-typed coordinate classes. r=kats,Bas
--HG--
extra : rebase_source : 22e5fe577ea503aede765c70e16c0bf875c4a9fd
2014-08-19 13:08:16 -04:00
Botond Ballo
1d35f25a8b Bug 1023557 - Store the content description in ContainerLayer instead of FrameMetrics. r=kats,BenWa 2014-07-31 16:11:47 -04:00
David Zbarsky
42e6fcdddb Bug 952977: More gfx::Matrix cleanups r=nical 2014-08-01 08:31:49 -04:00
Nathan Froyd
9ea6c585f8 Bug 1042878 - part 2 - move MOZ_CAIRO_CFLAGS et al additions to C*FLAGS into moz.build; r=glandium 2014-07-24 11:55:33 -04:00
Wes Kocher
02d44fddfa Backed out 11 changesets (bug 952977) for reftest-no-accel failures
Backed out changeset ea2367c19da3 (bug 952977)
Backed out changeset c401c8748eb3 (bug 952977)
Backed out changeset a93e9ff1043b (bug 952977)
Backed out changeset 765b7f67163e (bug 952977)
Backed out changeset 3d8cf4f5777f (bug 952977)
Backed out changeset 8993710a3ab3 (bug 952977)
Backed out changeset 1298c39b745a (bug 952977)
Backed out changeset be0b899fbe5e (bug 952977)
Backed out changeset f69bea1f1feb (bug 952977)
Backed out changeset 1a745777f07e (bug 952977)
Backed out changeset 5ad1d18dfe17 (bug 952977)
2014-07-29 18:58:46 -07:00
David Zbarsky
26605d5924 Bug 952977: More gfx::Matrix cleanups r=nical 2014-07-29 19:18:51 -04:00
Max Vujovic
64c84574b7 Bug 948265 - Keep track of the filter region for each FilterPrimitiveDescription. r=mstange 2014-07-29 09:48:16 -07:00
Robert O'Callahan
5f35b82ac9 Bug 1022612. Part 46: Work around pixman bug to make sure nsRegionRectIterator never returns an empty rect. r=mattwoodrow
--HG--
extra : rebase_source : c88f571a6f791c4ead93fc41f6d2b731ec8813f6
2014-07-19 14:30:08 +12:00
Botond Ballo
1baf41b682 Bug 1039822 - Make sure FrameMetrics::mContentDescription is null-terminated after being read from IPC. r=kats 2014-07-16 19:10:56 -04:00
Botond Ballo
eea908de56 Bug 1023491 - Deserialize FrameMetrics::mContentDescription correctly over IPC. r=kats 2014-06-10 17:09:02 -04:00
Phoebe Chang
943fc38329 Bug 924692 - Part 4: Hooks up event handling to TouchCaret; r=roc, bugs 2014-06-03 15:08:54 +08:00
Kartikaya Gupta
959ff7340c Bug 1015278 - Replace the std::string with a char[20] in FrameMetrics to make it cross-process shmem friendly. r=botond 2014-05-23 21:08:51 -04:00
Matt Woodrow
6ddeb2b709 Bug 950312 - Part 3: Add Layers API to see what blend modes are supported. r=roc 2014-05-09 21:48:32 +12:00
Benoit Jacob
d6cc951507 Bug 987311 - 6/6 - Convert the rest of CompositorTypes.h to typed enums, final manual changes - r=nical 2014-04-25 22:34:06 -04:00
Benoit Jacob
01868df539 Bug 987311 - 3/6 - Make TextureFlags a typed enum, final manual changes - r=nical 2014-04-25 22:34:05 -04:00
Blair McBride
3b0373f215 Backed out 9 changesets (bug 987311, bug 989027, bug 989144). r=sheriff
Backed out changeset 046c061d91c2 (bug 989144)
Backed out changeset 3f1b41adeaef (bug 987311)
Backed out changeset 8d5a171564bd (bug 987311)
Backed out changeset dcc0d016de7a (bug 987311)
Backed out changeset 27f338fbc835 (bug 989027)
Backed out changeset 4a67f5144ea4 (bug 989027)
Backed out changeset 62ba0a377450 (bug 987311)
Backed out changeset 6a2542a5c865 (bug 987311)
Backed out changeset 1dfd9a457f34 (bug 987311)
2014-04-27 19:45:08 +12:00
Benoit Jacob
9a5c85f26f Bug 987311 - 6/6 - Convert the rest of CompositorTypes.h to typed enums, final manual changes - r=nical 2014-04-25 22:34:06 -04:00
Benoit Jacob
f069a1b4e7 Bug 987311 - 3/6 - Make TextureFlags a typed enum, final manual changes - r=nical 2014-04-25 22:34:05 -04:00
Botond Ballo
e235befc24 Bug 976605 - Turn GeckoCC::NotifyTransform[Begin|End] into an extensible APZ state change notification mechanism. r=kats
--HG--
extra : source : 5353e86dcfe8b2ff6f02e577a4c69a1de6808d9b
2014-04-15 13:39:20 -04:00
Ed Morley
6a0c514644 Backed out changeset d5c38470ac06 (bug 976605) 2014-04-15 17:45:48 +01:00
Botond Ballo
87beae3674 Bug 976605 - Turn GeckoCC::NotifyTransform[Begin|End] into an extensible APZ state change notification mechanism. r=kats
--HG--
extra : source : bfb4af538271dc2e3148caa461f594715529021a
2014-04-11 20:27:57 -04:00
Benoit Jacob
5ffda8542b Bug 987305 - Refactor EnumSerializer - r=nfroyd 2014-04-14 10:17:40 -04:00
Timothy Nikkel
2313119109 Bug 957668. Calculate and set display ports as margins in layer pixels. r=kats 2014-03-26 21:46:24 -04:00
Timothy Nikkel
d536014142 Bug 986413. Limit composition bounds used for display port calculation to root composition bounds. r=kats 2014-03-26 19:24:25 -04:00
Markus Stange
c67ace01c9 Bug 984761 - IPDL serialization for FilterDescription. r=roc 2014-03-20 10:12:45 +08:00
Markus Stange
60649c0ff2 Bug 984761 - IPDL serialization for FilterPrimitiveDescription. r=roc 2014-03-20 10:12:45 +08:00
Markus Stange
faf32621b2 Bug 984761 - IPDL serialization for AttributeMap. r=roc 2014-03-20 10:12:45 +08:00