Commit Graph

136 Commits

Author SHA1 Message Date
Bas Schouten
0618d254cc 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
c38e376cd3 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
b339c72f57 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
fb73844f4c Bug 1101636 - Cleanup the CompositorType enum. r=jrmuizel 2014-11-26 02:00:34 +01:00
David Anderson
028b163679 Add APZ handling for desktop scroll wheel events. (bug 1086162 part 1, r=kats) 2014-11-17 20:56:18 -08:00
Botond Ballo
1c1e4448a5 Bug 1055741 - Unify the 'local Screen' and 'ParentLayer' coordinate systems. r=kats 2014-11-10 14:35:11 -05:00
Botond Ballo
751e400ea4 Bug 1076163 - Clean up the resolution-related fields and methods in FrameMetrics. r=kats 2014-10-20 17:12:35 -04:00
Botond Ballo
c854025367 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
8894f4319e 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
c247fdb775 Backed out changeset 71fe4233208a (bug 1076163) 2014-11-13 11:47:35 +01:00
Carsten "Tomcat" Book
4b4108a4a9 Backed out changeset a96930f1e26b (bug 1055741) 2014-11-13 11:47:31 +01:00
Botond Ballo
d766d4ca14 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
98ceb86b05 Bug 1076163 - Clean up the resolution-related fields and methods in FrameMetrics. r=kats 2014-10-20 17:12:35 -04:00
Botond Ballo
57adf459d4 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
a39f9fd831 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
5f59b02c90 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
021e1aa7f6 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
c8b6ed281b 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
a8940eb5c6 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
a67165f077 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
24299705bb 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
205b93ba09 Bug 1060165: Remove gfxPoint3D r=nical 2014-08-29 14:47:30 -04:00
Kartikaya Gupta
f0b76c5903 Bug 1055760 - Move the scroll handoff parent id from Layer to FrameMetrics. r=botond 2014-08-27 22:13:39 -04:00
Botond Ballo
ffebd18f0b 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
e2b30297a4 Bug 1023557 - Store the content description in ContainerLayer instead of FrameMetrics. r=kats,BenWa 2014-07-31 16:11:47 -04:00
David Zbarsky
b3e61c206f Bug 952977: More gfx::Matrix cleanups r=nical 2014-08-01 08:31:49 -04:00
Nathan Froyd
12c76f15f7 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
3c155637a3 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
ecf49e22a2 Bug 952977: More gfx::Matrix cleanups r=nical 2014-07-29 19:18:51 -04:00
Max Vujovic
26438b6e9c Bug 948265 - Keep track of the filter region for each FilterPrimitiveDescription. r=mstange 2014-07-29 09:48:16 -07:00
Robert O'Callahan
e3578f6893 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
dcc1836e1c 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
282eef67d2 Bug 1023491 - Deserialize FrameMetrics::mContentDescription correctly over IPC. r=kats 2014-06-10 17:09:02 -04:00
Phoebe Chang
4286f5c0d3 Bug 924692 - Part 4: Hooks up event handling to TouchCaret; r=roc, bugs 2014-06-03 15:08:54 +08:00
Kartikaya Gupta
870ae6f32b 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
898541f214 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
5004258047 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
3b123f8333 Bug 987311 - 3/6 - Make TextureFlags a typed enum, final manual changes - r=nical 2014-04-25 22:34:05 -04:00
Blair McBride
24b74a2af7 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
a53edd3151 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
49dd7d0c3f Bug 987311 - 3/6 - Make TextureFlags a typed enum, final manual changes - r=nical 2014-04-25 22:34:05 -04:00
Botond Ballo
3391efa3ea 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
c46be2513f Backed out changeset d5c38470ac06 (bug 976605) 2014-04-15 17:45:48 +01:00
Botond Ballo
e3a2f642c6 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
e8b418c5f5 Bug 987305 - Refactor EnumSerializer - r=nfroyd 2014-04-14 10:17:40 -04:00
Timothy Nikkel
1e93340ce7 Bug 957668. Calculate and set display ports as margins in layer pixels. r=kats 2014-03-26 21:46:24 -04:00
Timothy Nikkel
c8ea0bb2cd 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
fbb064334a Bug 984761 - IPDL serialization for FilterDescription. r=roc 2014-03-20 10:12:45 +08:00
Markus Stange
320712eeb7 Bug 984761 - IPDL serialization for FilterPrimitiveDescription. r=roc 2014-03-20 10:12:45 +08:00
Markus Stange
17a4ded987 Bug 984761 - IPDL serialization for AttributeMap. r=roc 2014-03-20 10:12:45 +08:00