Commit Graph

5246 Commits

Author SHA1 Message Date
Benoit Girard
d5c0f44e8b Bug 1101650 - Fix mClearOnBind logic. r=jmuizel 2014-11-19 15:29:23 -05:00
Kartikaya Gupta
ffa15da173 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
8aa1b59e6c Bug 1095925: Propagate the error up the chain. r=jmuizelaar 2014-11-14 16:11:02 -05:00
Milan Sreckovic
d19b0d26a2 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
ab7985df99 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
a3d313d208 Bug 1097776 - Don't leak the SkBitmapDevice. r=jrmuizel 2014-11-18 17:22:01 -05:00
Markus Stange
d758890dc7 Bug 1097776 - Use Skia for unaccelerated rendering of 3D transforms. r=jrmuizel 2014-11-18 17:21:45 -05:00
Mason Chang
0818de546a Bug 552020. Part 2. Enable Vsync Profiler Markers across platforms. r=benwa 2014-11-18 13:28:42 -08:00
Wes Kocher
9581b5ae7b Backed out changeset 0092a5e1467d (bug 1097776) for reftest failures and leaks 2014-11-18 11:00:08 -08:00
Markus Stange
a2063bf6a6 Bug 1097776 - Use Skia for unaccelerated rendering of 3D transforms. r=jrmuizel 2014-11-18 11:36:17 -05:00
Benoit Girard
f654866a36 Bug 1087530 - Retain container's intermediate surfaces for up to one frame. r=jmuizelaar 2014-11-03 17:27:32 -05:00
Jeff Muizelaar
5d3083acd5 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
31512f67b3 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
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
3e52bb8e18 Bug 1093298 - Ignore calls to AsyncPanZoomAnimation::Sample() with a negative time duration. r=kats 2014-11-17 13:18:16 -05:00
Jeff Muizelaar
ad91c2690e 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
6b1e0d15f3 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
607f72a589 Don't overscroll during a fling unless overscrolling is enabled. (bug 1099442, r=botond) 2014-11-14 16:19:00 -08:00
Matt Woodrow
3a89ba9be0 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
87e1d173f4 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
4fddbd3845 Bug 552020. Part 2. Enable Vsync Profiler Markers across platforms. r=benwa 2014-11-14 08:31:04 -08:00
Kartikaya Gupta
861e80bbaf 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
2163ba0978 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
9a09468407 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
aa17d0e26d Bug 1090398 - Small refactoring that adds ParentLayerPixel::ToUntyped. r=botond 2014-11-14 07:40:14 -05:00
Kartikaya Gupta
a4e48972ee 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
52279ea3ee 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
ee6cac2957 Backed out changeset 80f873bf8adc (bug 1036682) for test bustage 2014-11-14 12:32:47 +01:00
Nicolas Silva
8ff90737a5 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
7f42025e12 Backed out changeset 48667a14f94d (bug 1092360) for test bustage / crashes on a CLOSED TREE 2014-11-14 08:14:22 +01:00
Benoit Girard
db4fbee6fb Bug 1092360 - Avoid redundant framebuffer switches. r=jrmuizel 2014-11-12 17:39:17 -05:00
Matt Woodrow
134379d2be Bug 1097441 - Followup bustage fix on a CLOSED TREE 2014-11-14 17:30:02 +13:00
Matt Woodrow
127aa9579f Bug 1097441 - Initialize mSize on BufferTextureHost. r=nical 2014-11-13 10:44:42 +13:00
Nicholas Nethercote
35cc9a57cf 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
e6fbe0d1fc 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
f2786d3f9f 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
27c08cecb8 Bug 1086693 - Part 6: Use generated bindings for AndroidMediaCodec and AndroidSurfaceTexture r=blassey,gcp 2014-11-13 12:47:24 -06:00
Benoit Girard
8935e0b46d 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
aa2eeb8ec1 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
3fad6064bb Bug 1091777 - Add TextureClient recycling to CairoImag r=nical 2014-11-13 07:53:49 -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
Douglas Crosher
3425fffc61 Bug 1021367 - Assertion failure in GetShaderConfigFor. r=nical 2014-06-09 20:10:28 +10: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
Ryan VanderMeulen
cae555594b Backed out changeset 92295f515d2d (bug 1091777) for bustage. 2014-11-12 21:09:40 -05:00
Sotaro Ikeda
c076d14da1 Bug 1091777 - Add TextureClient recycling to CairoImag r=nical 2014-11-12 17:47:10 -08:00
Sotaro Ikeda
95d665262e Bug 1095639 - Re-enable acquire fence delivery on gonk r=nical 2014-11-12 07:55:31 -08:00
Kartikaya Gupta
66d8612c4f Bug 1091296 - When applying the APZ transform on a layer, make sure not to clobber any existing OMTA transform. r=mattwoodrow
--HG--
extra : rebase_source : 9662fbdea917d63a1205660979cbb5c6f861ba02
2014-11-11 10:54:02 -05:00
Kartikaya Gupta
0b3471392f Bug 1091296 - Remove the redundant code for clearing async transforms per frame of composition. r=mattwoodrow
We already reset the shadow transform to the layer transform in
SetShadowProperties() before compositing every frame, so this is redundant.

--HG--
extra : rebase_source : bef51e6a918ffaab134a4b53fb6f2ec6c45d9d6d
2014-11-11 10:53:57 -05:00
Kartikaya Gupta
7692c51b02 Bug 1091296 - Refactor the pre- and post-scale cancellation code into a helper method. r=mattwoodrow
--HG--
extra : rebase_source : c06309a16a13673eb59bb98c9dfd4d5c4846aad5
2014-11-11 10:53:44 -05:00
Brian Birtles
f94049aee4 Bug 1095315 - Fix the order of applying pending updates and getting the effective transform in BasicLayerManager; r=mattwoodrow 2014-11-11 11:01:28 +09:00
Kartikaya Gupta
e230d54989 Bug 1072093 - Support progressive-paint on OS X 10.7 or later. r=BenWa 2014-11-07 14:17:14 -05:00
Kartikaya Gupta
371ecd8746 Bug 1093686 - Add some debug logging code for PositionedEventTargeting.cpp. r=roc 2014-11-06 08:05:51 -05:00
Milan Sreckovic
ab5bc2240d Bug 1092262 - Doxygen docs for APZ prefs. r=kats 2014-11-05 11:04:32 -05:00
Andrew Osmond
ad948ddd6a Bug 1077301 - Ensure EGL images are released when destroying the texture. r=nical 2014-11-05 08:17:00 +01:00
Sotaro Ikeda
86ebdde1e4 Bug 1093728 - Add AddTextureClient() to CanvasClientSharedSurface::Update() r=nical 2014-11-05 08:15:48 -08:00
Robert O'Callahan
f458f27d6b Bug 1080205. Part 2: Add test. r=tn
--HG--
extra : rebase_source : 9f8a41ae255e132e572fdb5012f851554fde69d9
2014-10-30 16:33:55 +13:00
Robert O'Callahan
2cbfe40f8b Bug 1083635. Part 5: ClientLayerManager::BeginTransactionWithTarget should assert if we're not going to take a snapshot. r=mattwoodrow
--HG--
extra : rebase_source : 07cea353735743670cc82031bcbe738932f56829
2014-10-21 10:32:10 +13:00
Benoit Girard
33d6ca45fb Bug 1089380 - Remove ClipRectInLayersCoordinates. r=mattwoodrow
--HG--
extra : rebase_source : d20c08c804f45f2a6baee9063d0e73bf755054ae
2014-10-31 16:34:30 -04:00
Phil Ringnalda
ce69a70520 Back out 293c48ec288c (bug 1086642) for Android and OS X 10.8 ONLY NOT SEEN ON 10.6 bustage
CLOSED TREE
2014-11-03 20:44:19 -08:00
Matt Woodrow
86270b9476 Bug 1086642 - Simplify invalid reigon by area. r=jrmuizel 2014-11-04 15:12:06 +13:00
Benoit Girard
aaced0941c Backout 60fe2b1ab1ba for split-opacity-layers-1.html reftest failure.
--HG--
extra : rebase_source : 83a753f924f85b90e2d5ad07877dc3ebdbc1b8df
2014-11-03 13:37:54 -05:00
Benoit Girard
c6c34aa4a0 Bug 1089380 - Remove ClipRectInLayersCoordinates. r=mattwoodrow
--HG--
extra : rebase_source : 6793ed284fa8190c0d4e43e189ca4eb2d020d4f0
2014-10-31 16:34:30 -04:00
Jacek Caban
1fb284960f Bug 1092130 - Fixed build errors found by mingw after bug 1076698 landed (-Werror=missing-braces errors). r=cpearce 2014-11-03 10:28:52 +01:00
Bas Schouten
9d622e3111 Bug 1064864. Ensure the copying bounds are sane. r=jrmuizel
This prevents things from going really bad on some drivers.

--HG--
extra : rebase_source : c237cf3e6a6174696ebe6d41562a30c8cc0e564d
2014-11-01 14:02:20 -04:00
Kartikaya Gupta
8b027fe00d Bug 1091283 - Ensure that pinch gesture events actually get processed. r=botond
Currently only pinch gesture events getting created in the GestureEventListener
code will make it to AsyncPanZoomController::HandleGestureEvent. Any pinch
gesture events that the widget code dispatches into the APZCTreeManager get
ignored, which shouldn't be happening. We don't have any production code that
exercises these code paths at the moment, but fixing it up also reduces the
APIs exposed into the testing code.
2014-10-31 15:29:36 -04:00
Botond Ballo
b51aa7454f Bug 1066888 - Documentation tweaks for overscroll physics improvements. r=kats. DONTBUILD for doc changes
--HG--
extra : rebase_source : 08df59b26c6ce334c96c5ec5b635c940c8548f08
extra : amend_source : 7c1c0799b0fcc747134cad8b56a202f830b50ae3
2014-10-31 14:10:36 -04:00
Botond Ballo
84f4ed3fa8 Bug 1066888 - Overscroll physics improvements. r=kats
This patch unifies the physics governing the overscroll phase of a fling
with the snap-back animation. The unified physics are spring-based, like the
physics governing the snap-back animation before, except we allow for
oscillations.
2014-10-31 12:06:31 -04:00
Jeff Muizelaar
e8dc880ddb Bug 1066312. Use IDXGIKeyedMutex for synchronization with D3D11 angle. r=jgilbert
This currently does nothing because the ANGLE we're using doesn't have keyed mutex
support.

--HG--
extra : rebase_source : 9ab74710c22c5330809206f1bb16677af5944bad
2014-10-31 10:57:32 -04:00
Nicolas Silva
9846ebae19 Bug 1074382 - Add some gfxCriticalError logging in the initialization of D3D9. r=milan 2014-10-30 18:20:23 +01:00
Robert O'Callahan
784a439a5a Bug 1073252. Fix bustage in part 4, in a CLOSED TREE 2014-10-31 22:40:15 +13:00
Robert O'Callahan
18b9877442 Bug 1073252. Part 4: Flip hasAlpha to isOpaque for consistency. r=mattwoodrow
--HG--
extra : rebase_source : a553b4c36feb555b23cbe140a05df09f0dc2656d
2014-10-30 15:32:41 +13:00
Robert O'Callahan
a5b1507132 Bug 1073252. Part 2: Store opaque flag in LayerRenderState. r=nical
--HG--
extra : rebase_source : a0fefe94dd52a6f365c34bffcd806e094c62d76e
2014-10-30 15:32:41 +13:00
Robert O'Callahan
b34f5630d6 Bug 1073252. Part 1: Track opaqueness of gralloc TextureClient/Host. r=nical
--HG--
extra : rebase_source : de08e7a128bad27250cae94386e8ffea5fa26d6d
2014-10-30 15:32:40 +13:00
Mason Chang
06b697f7a6 bug 1087048. Dispatch touch events after vsync aligned composites. r=benwa 2014-10-30 08:48:42 -07:00
Kartikaya Gupta
f3b4fd4499 Bug 1091049 - Follow-up to fix non-unified build error. r=me 2014-10-30 11:48:54 -04:00
Carsten "Tomcat" Book
3de670ab27 Merge mozilla-central to b2g-inbound 2014-10-30 15:51:48 +01:00
Kartikaya Gupta
44e502b83b Bug 1091049 - Add fling curving to accelerate fast flicks. r=botond 2014-10-30 10:38:10 -04:00
Kartikaya Gupta
bb71ea64de Bug 1091049 - Rename gComputedTimingFunction to gZoomAnimationFunction. r=botond 2014-10-30 10:38:09 -04:00
Carsten "Tomcat" Book
a758e037c4 merge mozilla-inbound to mozilla-central a=merge 2014-10-30 14:45:37 +01:00
Ryan VanderMeulen
b278f8c9e3 Merge m-c to b2g-inbound. a=merge 2014-10-29 16:53:59 -04:00
Kartikaya Gupta
675248424e Bug 1091128 - Ensure that large negative velocities are also clamped to the velocity cap. r=botond 2014-10-29 15:40:02 -04:00
Jeff Gilbert
d41ee052e4 Bug 1088345 - Improve glGetError handling. - r=kamidphish 2014-10-24 16:52:35 -07:00
Mason Chang
b635e05733 Bug 1088898. Correctly set mLastCompose in force composites. r=benwa 2014-10-28 19:32:36 -07:00
Nicolas Silva
816b042dd6 Bug 1089364 - Add some missing D3D11 error checks. r=Bas 2014-10-27 13:52:17 +01:00
Nicolas Silva
f1166bf04f Bug 1077301 - Simplify the gralloc texture code. r=sotaro 2014-10-16 19:08:32 +02:00
Jeff Gilbert
0707a033df Bug 1088417 - Make asserts fuzzy where they're failing. - r=nical 2014-10-24 13:36:01 -07:00
Jeff Gilbert
f71b4f41d9 Bug 1088417 - Switch from REPEAT to CLAMP for D3D11. - r=nical 2014-10-23 17:10:58 -07:00
Jeff Gilbert
44490638fd Bug 1088417 - DecomposeIntoNoRepeatRects for D3D11. - r=nical 2014-10-23 17:08:06 -07:00
Ehsan Akhgari
55f0b72a28 Bug 1088838 - Don't export CompositorChild.h, CompositorParent.h and ShadowLayersManager.h twice; r=BenWa 2014-10-27 08:57:36 -04:00
Kartikaya Gupta
48f1a79f43 Bug 1088954 - Cleanup print 64-bit integers and remove a stray printf. r=botond 2014-10-24 14:45:00 +02:00
Ryan VanderMeulen
d1499d6259 Backed out changeset 5ff4c7dded93 (bug 1077301) for making bug 1084118 return with a near perma-fail vengeance. 2014-10-24 14:25:25 -04:00
Kartikaya Gupta
8d417ca4e6 Bug 1083395 - Follow-up to fix non-unified bustage. r=me on a CLOSED TREE 2014-10-24 14:02:52 -04:00
Kartikaya Gupta
080630c133 Bug 1083395 - Move some APZC functions that are no longer needed in production down to the test subclass. r=botond 2014-10-24 13:29:35 -04:00