Commit Graph

5295 Commits

Author SHA1 Message Date
Kartikaya Gupta
9de1361176 Bug 1105836 - Automatically confirm the target APZC for an input block that arrives during fast-motion. r=botond 2014-11-28 12:25:41 -05:00
Kartikaya Gupta
8c296fec54 Bug 1105836 - Add more logging to the APZ code. r=botond 2014-11-28 12:25:41 -05:00
Andreas Pehrson
4cdc4e0f57 Bug 1089214 - Avoid using null query in D3D9SurfaceImage::EnsureSynchronized. r=nical 2014-11-27 17:56:00 -08:00
Ryan VanderMeulen
5df3040f12 Merge m-c to inbound. a=merge 2014-11-26 21:43:23 -05:00
Ryan VanderMeulen
694e866a21 Merge b2g-inbound to m-c. a=merge 2014-11-26 21:39:08 -05:00
Ryan VanderMeulen
dbff5227db Backed out changesets 258ac2909d6e and 55252aebf52d (bug 1099437) for bustage.
CLOSED TREE
2014-11-26 14:14:16 -05:00
Kartikaya Gupta
d181815ab6 Bug 1085404 - When interacting with a fast-moving APZC, don't send the events to content. r=botond 2014-11-26 12:41:06 -05:00
Kartikaya Gupta
a53eda68ee Bug 1105295 - Stop using scrollinfo layers when event regions are enabled. r=botond 2014-11-26 12:40:55 -05:00
Milan Sreckovic
1821a7da11 Bug 1099437 - Part 2: Clean up int vs uint usage. r=nical 2014-11-20 15:23:41 -05:00
Milan Sreckovic
840d1828f0 Bug 1099437 - Part 1: Protect against negative sizes and overflow. r=nical 2014-11-20 15:07:22 -05:00
Nicolas Silva
84fd8c9908 Bug 1036682 - Prevent LayerTransactionChild from sending messages after it has been destroyed. r=jrmuizel 2014-11-26 14:11:11 -08:00
Nicolas Silva
eccf760d11 Bug 1086670 - Add more gfxCriticalError logging in the D2D backend. r=jrmuizel 2014-11-26 21:05:01 +01:00
James Willcox
4e37a27351 Bug 1097116 - Followup for non-unified build breakage r=me CLOSED TREE
--HG--
extra : rebase_source : 697dc2f8d1661196ac8bb169fc4797b59af61fa3
extra : amend_source : 2aa014a0dec495466b854aebd5b19d1b5de4279e
2014-11-26 15:43:57 -06:00
James Willcox
4628c09c1a Bug 1097116 - Fix readback for EGLImageImage r=jgilbert
--HG--
extra : rebase_source : 038ddc25801541512a4e8231e4a6b586ed02c02b
2014-11-26 15:16:08 -06:00
James Willcox
8dd07570c6 Bug 1097116 - Copy the decoded SurfaceTexture into an EGLImage to allow accurate presentation r=jgilbert
--HG--
extra : rebase_source : d3165eb2d9534f82c84e3399e744e0c31b64c2dd
2014-11-26 15:16:07 -06:00
James Willcox
38709a9aed Bug 1097116 - Add fencing and better lifetime management for EGLImage Images r=jgilbert
--HG--
extra : rebase_source : 8da8c1e9e5ded06c8735ee5d30f8333f829064c5
2014-11-26 15:16:07 -06:00
Nicolas Silva
54233122ad Bug 1101636 - Cleanup the CompositorType enum. r=jrmuizel 2014-11-26 02:00:34 +01:00
Nicolas Silva
0fb063ef80 Bug 1102917 - Remove the TextureInfo member from client compositables. r=sotaro 2014-11-25 20:19:13 +01:00
Nicolas Silva
64d6d17133 Bug 1102895 - Remove unused TextureFlags. r=sotaro 2014-11-25 20:19:04 +01:00
Milan Sreckovic
620a5f2873 Bug 1104837: Add warnings and assertions when our assumptions about tile pools fail. r=nical 2014-11-25 14:54:29 -05:00
Sotaro Ikeda
56c5e8b0d4 Bug 1103213 - Do not compose when layer does not exist r=nical 2014-11-25 06:40:30 -08:00
Kartikaya Gupta
c5140e3d19 Bug 1104282 - Add missing include. r=botond 2014-11-25 08:45:57 -05:00
Kartikaya Gupta
82368a2395 Bug 1104266 - Add logging of nsDisplayLayerEventRegions fields in the display list dump. r=mattwoodrow 2014-11-25 08:45:20 -05:00
Bas Schouten
bf63a045c0 Bug 1103135: Fix CompositorBench code to build again. r=benwa 2014-11-24 19:44:51 +00:00
Kartikaya Gupta
e1fc5aa9d8 Bug 1056388 - Add assertions as per TODO. r=botond 2014-11-24 13:23:57 -05:00
Jonathan Watt
cf91ac7a84 Bug 1103623 - Port most remaining gfxContext::Fill() calls to Moz2D. r=mattwoodrow 2014-11-24 00:04:33 +00:00
Jonathan Watt
15d307f095 Bug 1103621 - Get rid of GraphicsOperator::OPERATOR_CLEAR. r=mattwoodrow 2014-11-20 10:40:04 +00:00
Kartikaya Gupta
98f1b0f730 Bug 918288 - Add logging for some of the SetTargetAPZ codepaths. r=botond 2014-11-21 21:36:26 -05:00
Kartikaya Gupta
08918bfa1a Bug 918288 - Modify the SetTargetAPZC API to take an array of targets for multiple touch points. r=botond 2014-11-21 21:36:25 -05:00
Wes Kocher
17b0884718 Backed out changeset 82e94c16732d (bug 1101974) 2014-11-21 10:52:24 -08:00
Wes Kocher
13494abc49 Backed out changeset 08df10804c35 (bug 1101974) 2014-11-21 10:52:17 -08:00
Mason Chang
4d2515e824 Bug 1101974. Part 2: Initialize vsync source during compositor creation. r=mstange 2014-11-21 09:16:19 -08:00
Mason Chang
bebd67962c Bug 1101974. Part 1. Move VsyncDispatcher to CompositorParent. r=roc 2014-11-21 09:16:19 -08:00
Vladimir Vukicevic
ae674a1a2f Bug 1036602 - add generic gfx/layers functionality for VR rendering; r=nical 2014-07-09 12:26:18 -07:00
James Willcox
e9da75e581 Back out bug 1097116 2014-11-21 09:47:03 -06:00
James Willcox
7d1813c44b Bug 1097116 - Fix readback for EGLImageImage r=jgilbert 2014-11-21 09:28:21 -06:00
James Willcox
76052a1209 Bug 1097116 - Copy the decoded SurfaceTexture into an EGLImage to allow accurate presentation r=jgilbert 2014-11-21 09:28:20 -06:00
James Willcox
45a7d7ad68 Bug 1097116 - Add fencing and better lifetime management for EGLImage Images r=jgilbert 2014-11-21 09:28:19 -06:00
Boris Chiou
4b888d9c25 Bug 1096139 - Create websocket dynamically after we enable Layerscope. r=dglastonbury
We have to create the websocket if it doesn't exist after enabling
Layerscope. Therefore, we don't have to reboot the device anymore.

1. Remove the Init and DeInit in CreateCompositor and DestroyCompositor
   to prevent some unwanted deInits on the browser. (Our browser often
   calls DestroyCompositor)
2. Initize websocket only when we need it.
2014-11-20 02:00:00 +01:00
Milan Sreckovic
c64009526e Bug 1097655 - Guard against invalid shadow manager. r=sotaro 2014-11-19 15:22:03 -05:00
Wes Kocher
898d3ed7b8 Merge fx-team to m-c a=merge 2014-11-20 17:55:52 -08:00
Benoit Girard
0d3235245b Bug 1098495 - Part 2: Run the layer tree invalidation code on windows. r=mstange ON A CLOSED TREE
--HG--
extra : rebase_source : 1e98356dabedb557ad786dbd49679206e24cf09e
2014-11-20 15:10:18 -05:00
Benoit Girard
7db266a8bc Bug 1098495 - Retain a container's intermediate surface's content. r=mattwoodrow
--HG--
extra : rebase_source : cdb691c1127445eeeb2e4fda5a0ef4f2223703fc
2014-11-18 17:33:36 -05:00
Nicolas Silva
9cc5370293 Bug 1101552 - Remove the double-buffered ImageClient. r=sotaro 2014-11-20 19:49:51 +01:00
Nicolas Silva
096edd5eaf Bug 1086670 - Add some gfxCriticalError logs around DrawTarget creation. r=Bas 2014-11-20 15:48:07 +01:00
Carsten "Tomcat" Book
89e7e647c2 Merge mozilla-central to fx-team 2014-11-20 12:22:05 +01:00
David Anderson
b2e46c1fab Add inactive subframes to the dispatch-to-content region. (bug 1082594, r=tn,kats) 2014-11-19 20:24:15 -08:00
Kearwood (Kip) Gilbert
118a58666e Bug 1086723 - Enable asynchronous update of mask layer transforms. r=kats
- Layer::ComputeEffectiveTransformForMaskLayer now computes a delta transform
  for the mask layer's effective transform using the masked layer's shadow
  transform and base transform.  This delta is applied to the effective
  transform of the mask layer, with the same effect as if it were also
  transformed by the APZ.
2014-11-14 15:33:00 +01:00
Benoit Girard
345e116691 Bug 1087530 - Part 2: Set OGL Scissor during mClearOnBind. r=jmuizel 2014-11-19 15:30:25 -05:00
Benoit Girard
a52fc33128 Bug 1101650 - Fix mClearOnBind logic. r=jmuizel 2014-11-19 15:29:23 -05:00
Kartikaya Gupta
53936f3254 Bug 1100140 - When a scrollable layer is marked as fixed-position, don't treat it as fixed relative to itself. r=botond 2014-11-19 13:41:48 -05:00
Milan Sreckovic
1ba7431253 Bug 1095925: Propagate the error up the chain. r=jmuizelaar 2014-11-14 16:11:02 -05:00
Milan Sreckovic
79fb503b37 Bug 1074952 - Part 6. Fully qualify the appropriate logs in the logging macros, otherwise we can't call these from other namespaces. An example in non-gfx/2d where it would not have worked without this change. r=botond 2014-11-18 10:51:39 -05:00
Jeff Muizelaar
ad57218e47 Bug 1101160. D3D11: Make switch statement better. r=bas
This is the order one would expect.

--HG--
extra : rebase_source : 299b3814983d42908c2507028bb1c16c64b0f25f
2014-11-18 15:49:39 -05:00
Markus Stange
fee32b29b7 Bug 1097776 - Don't leak the SkBitmapDevice. r=jrmuizel 2014-11-18 17:22:01 -05:00
Markus Stange
4bfc882827 Bug 1097776 - Use Skia for unaccelerated rendering of 3D transforms. r=jrmuizel 2014-11-18 17:21:45 -05:00
Mason Chang
e356eb5ca2 Bug 552020. Part 2. Enable Vsync Profiler Markers across platforms. r=benwa 2014-11-18 13:28:42 -08:00
Wes Kocher
1270a44f4d Backed out changeset 0092a5e1467d (bug 1097776) for reftest failures and leaks 2014-11-18 11:00:08 -08:00
Markus Stange
0882643bae Bug 1097776 - Use Skia for unaccelerated rendering of 3D transforms. r=jrmuizel 2014-11-18 11:36:17 -05:00
Benoit Girard
a50adb60a6 Bug 1087530 - Retain container's intermediate surfaces for up to one frame. r=jmuizelaar 2014-11-03 17:27:32 -05:00
Jeff Muizelaar
f7a15a92d7 Bug 1073036. Fix an assertion string that I forgot about.
--HG--
extra : rebase_source : 9c52d35673e7a28d2c982a070e28b18792cc1a98
2014-11-18 10:33:36 -05:00
Jeff Muizelaar
4b0029fdf7 Bug 1073036. layers: Track program state more carefully to avoid setting unnecessarily. r=nical
This introduces some infrastructure to start tracking the program state more carefully. Currently
it only tracks the program because UseProgram was showing up the most in profiles, but more
state could also be added as needed.

--HG--
extra : rebase_source : 289ab867ef63032f7604a6cbe6d0230fd0a9411a
2014-11-10 14:34:06 -05: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
2bc3fddde6 Bug 1093298 - Ignore calls to AsyncPanZoomAnimation::Sample() with a negative time duration. r=kats 2014-11-17 13:18:16 -05:00
Jeff Muizelaar
6514be6291 Bug 1088414. Backout "Use a single synchronized texture for d3d11"
https://hg.mozilla.org/mozilla-central/rev/e2efedec2d60
2014-11-17 14:20:05 -05:00
Nicolas Silva
df35228518 Bug 1098000 - Track the number of compositable references to TextureHost and only unbind gralloc textures after the last ref goes away. r=sotaro 2014-11-17 11:06:25 +01:00
David Anderson
bebf0f726f Don't overscroll during a fling unless overscrolling is enabled. (bug 1099442, r=botond) 2014-11-14 16:19:00 -08:00
Matt Woodrow
a543eacc24 Bug 1088414. Use a single synchronized texture for d3d11. r=bas,f=jrmuizel
Calling AcquireSync on textures created with
D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX appears to be really slow, this really
bites us with the number of textures involved when tiling.

I've also tested using ID3D11Query to check when work is completed, this also
appears to be pretty slow.

This instead just uses a single texture with a keyedmutex, and makes sure we
draw to it last and lock it first. It's pretty hacky, but seems to work really
well so far.

--HG--
extra : rebase_source : bf5f56751f993e507fcd1e5c386fb1fc9a3f73af
2014-10-22 15:37:00 +13:00
Ryan VanderMeulen
57225618ce Backed out changesets a99bd0b3b075, a7fb851f823a, and 9fc2d99376cd (bug 552020) for non-unified bustage and OSX 10.6 tsvgr crashes.
CLOSED TREE
2014-11-14 15:57:35 -05:00
Mason Chang
a2d6748143 Bug 552020. Part 2. Enable Vsync Profiler Markers across platforms. r=benwa 2014-11-14 08:31:04 -08:00
Kartikaya Gupta
2d6a90bc16 Bug 1090398 - Require APZC target confirmation before input blocks are ready for handling. r=botond
For proper hit-testing we need to deal with situations where the initial touch
input falls on a dispatch-to-content region of an APZC, and the main thread
later tells us that it actually hit another APZC. This patch allows input blocks
to have an "unconfirmed" APZC target for the initially-found target that can
then be replaced with a different target. Input blocks without a confirmed
target are not ready for processing.
2014-11-14 07:40:15 -05:00
Kartikaya Gupta
c863f93511 Bug 1090398 - Distinguish the various outcomes of APZ hit testing more explicitly. r=botond
Previously we output of APZ hit testing was an APZC instance and an "in
overscroll" flag. Now we need to also distinguish between the hit region and the
dispatch-to-content region for an APZC, so this patch introduces an enum that
makes this more explicit.
2014-11-14 07:40:15 -05:00
Kartikaya Gupta
f04a46f6fa Bug 1090398 - Workaround for scrollinfo layers not yet having event regions set up correctly. r=botond
Until bug 1082594 is fixed, the area occupied by inactive scrollable subframes
don't get added to their layer's dispatch-to-content region. Therefore the APZ
code doesn't know what area corresponds to the subframe, even though it knows
there is a subframe because of the scrollinfo layer. This change inserts a small
workaround to deal with the scrollinfo layers specially, so that the composition
bounds from the scrollinfo layer is used to obtain the area. Once bug 1082594
is fixed this can probably be removed.
2014-11-14 07:40:15 -05:00
Kartikaya Gupta
ef3e0582eb Bug 1090398 - Small refactoring that adds ParentLayerPixel::ToUntyped. r=botond 2014-11-14 07:40:14 -05:00
Kartikaya Gupta
394a46d78d Bug 1090398 - Add support for using the layer event regions for hit testing. r=botond
When the event-regions are provided by layout, use them to populate the APZ-side
hit testing regions. The existing code is still used when event-regions are not
provided by layout.
2014-11-14 07:40:14 -05:00
Kartikaya Gupta
6a591da0b8 Bug 1090398 - Use EventRegions objects instead of nsIntRegions for tracking APZ hit-test areas. r=botond
This simply swaps out the existing nsIntRegion used in APZ hit-testing for
an EventRegion object. The dispatch-to-content region inside the EventRegions
is kept empty, and there are no functional changes here.
2014-11-14 07:40:14 -05:00
Carsten "Tomcat" Book
0627ebf5ec Backed out changeset 80f873bf8adc (bug 1036682) for test bustage 2014-11-14 12:32:47 +01:00
Nicolas Silva
6322eded61 Bug 1036682 - Check that the ipdl connection is not lost before sending messages. r=bjacob 2014-11-14 11:25:16 +01:00
Carsten "Tomcat" Book
9a3e3d4bb8 Backed out changeset 48667a14f94d (bug 1092360) for test bustage / crashes on a CLOSED TREE 2014-11-14 08:14:22 +01:00
Benoit Girard
c0cfe730fd Bug 1092360 - Avoid redundant framebuffer switches. r=jrmuizel 2014-11-12 17:39:17 -05:00
Matt Woodrow
1cf5fa276f Bug 1097441 - Followup bustage fix on a CLOSED TREE 2014-11-14 17:30:02 +13:00
Matt Woodrow
b3a148dcdd Bug 1097441 - Initialize mSize on BufferTextureHost. r=nical 2014-11-13 10:44:42 +13:00
Nicholas Nethercote
bdbe90d931 Bug 1098185 - Initialize some more fields in ShadowLayerForwarder when Valgrind is enabled. r=mattwoodrow.
--HG--
extra : rebase_source : 0063948d7a657421005535c8faad68e69b1a5fcf
2014-11-13 01:15:25 -08:00
Jeff Muizelaar
3b935d0a21 Bug 1089364. Avoid trying to resize the swap chain to a negative size. r=bas
This was causing GetBuffer to return DXGI_ERROR_INVALID_CALL

--HG--
extra : rebase_source : 49e62fd5dda1e28268218cffca4ea1ce7af1b6ea
2014-11-13 10:10:48 -05:00
Jeff Muizelaar
ae06ab96a4 Bug 1097877. Move GLBlitTextureImageHelper from gfx/gl to gfx/layers/opengl. r=nical
The only user is in layers/opengl. This is needed to do better state tracking
in the compositor.

--HG--
rename : gfx/gl/GLBlitTextureImageHelper.cpp => gfx/layers/opengl/GLBlitTextureImageHelper.cpp
rename : gfx/gl/GLBlitTextureImageHelper.h => gfx/layers/opengl/GLBlitTextureImageHelper.h
extra : rebase_source : bba00cbfac9253ca933721659dadbda2bfbe65c5
2014-11-10 14:49:05 -05:00
James Willcox
a11a769191 Bug 1086693 - Part 6: Use generated bindings for AndroidMediaCodec and AndroidSurfaceTexture r=blassey,gcp 2014-11-13 12:47:24 -06:00
Benoit Girard
48140f14fe Bug 1094442 - Part 2: Adjust tile size to the stride of the gralloc buffers. r=kats
--HG--
extra : rebase_source : d3386ee007d6429b81aa6d3ffe6c518fb67c7d6a
2014-11-12 17:55:13 -05:00
Benoit Girard
8a1c4934f8 Bug 1094442 - Part 1: Refactor how tile w/h is queried r=kats
--HG--
extra : rebase_source : 70ef00318a718e2ce3149955d2908615d6125cf3
2014-11-12 17:54:29 -05:00
Sotaro Ikeda
4a33624da4 Bug 1091777 - Add TextureClient recycling to CairoImag r=nical 2014-11-13 07:53:49 -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
Douglas Crosher
563e91e13c Bug 1021367 - Assertion failure in GetShaderConfigFor. r=nical 2014-06-09 20:10:28 +10: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
Ryan VanderMeulen
289fc4870b Backed out changeset 92295f515d2d (bug 1091777) for bustage. 2014-11-12 21:09:40 -05:00