Commit Graph

1192 Commits

Author SHA1 Message Date
Nicolas Silva
48805c9b3e Bug 1284837 - Disallow implicit conversions from float to integer when creating IntPoint and IntSize objects. r=botond 2016-07-26 16:48:30 +02:00
Jeff Muizelaar
91dc2161f0 Bug 1287948. Use BufferMode::None for snapshots. r=nical
This avoids doing an unnecessary allocation and copy while snapshotting.

To make this work we need to memset the buffer that we use for snapshot drawing
so that we can draw on it directly. I could've avoided the memset for opaque
content formats but it didn't seem worth as the only place we use this seems to
be with content=COLOR_ALPHA
2016-07-21 10:38:34 -04:00
Kevin Wern
0e41fdd181 Bug 1283236 - don't use ForEachNode() in ApplyDoubleBuffering() r=botond
We found that the use of TreeTraversal.h library here (where the root
node is treated as a special case) does not help readability, so revert
to the previous plain implementation

MozReview-Commit-ID: Dp7isl4lNvL

--HG--
extra : rebase_source : c8f77c59e5b81b32a8b4c0fc79e98e027fd432cf
2016-07-06 23:14:02 -04:00
Sotaro Ikeda
9a92018d0c Bug 1254011 - Avoid allocating RGB buffer for YUV data everytime r=nical 2016-07-08 18:59:59 -07:00
Morris Tseng
a66e2b79e9 Bug 1284440 - Prevent CreateRenderTargetForWindow from clearing unwanted area. r=mattwoodrow
MozReview-Commit-ID: BhUlnThiI2
2016-07-08 14:58:03 +08:00
Sebastian Hengst
f43c9e0ffa Backed out changeset c8700e65f41b (bug 1284440) for causing graphic issues (bug 1285243). r=backout
MozReview-Commit-ID: 3tWcNPLSV9f
2016-07-07 17:30:10 +02:00
Carsten "Tomcat" Book
1e5237c994 merge mozilla-inbound to mozilla-central a=merge 2016-07-07 11:41:27 +02:00
Morris Tseng
587bf3d8eb Bug 1284440 - Prevent CreateRenderTargetForWindow from clearing unwanted area. r=mattwoodrow
MozReview-Commit-ID: BhUlnThiI2
2016-07-07 14:12:52 +08:00
eyim
731d8bd1c6 Bug 1002846 - Add telemetry to OpenGL compositor r=BenWa
MozReview-Commit-ID: 1HA0dmX0SmN

--HG--
extra : rebase_source : 545c5e48c25428c5fb4736e3a3d9f25280805472
2016-07-05 15:41:21 -04:00
JerryShih
5135b01ace Bug 1276062 - obtain the group creation result from PushGroupForLayer(). r=bas 2016-07-04 20:14:00 +02:00
David Anderson
3f0ea0572d Rename CompositorWidgetProxy files to CompositorWidget. (bug 1281998 part 2, r=jimm)
--HG--
rename : widget/CompositorWidgetProxy.cpp => widget/CompositorWidget.cpp
rename : widget/CompositorWidgetProxy.h => widget/CompositorWidget.h
rename : widget/windows/WinCompositorWidgetProxy.cpp => widget/windows/WinCompositorWidget.cpp
rename : widget/windows/WinCompositorWidgetProxy.h => widget/windows/WinCompositorWidget.h
2016-07-01 01:15:16 -07:00
Phil Ringnalda
0d0d24bccc Back out 7 changesets (bug 1281998) for Windows Marionette crashes
Backed out changeset d806fac2c856 (bug 1281998)
Backed out changeset b8d4fedfd7eb (bug 1281998)
Backed out changeset a72929c0c3ec (bug 1281998)
Backed out changeset 74198f88fa37 (bug 1281998)
Backed out changeset 54a0e73f6906 (bug 1281998)
Backed out changeset 99d1da1293b7 (bug 1281998)
Backed out changeset a5a9585754b1 (bug 1281998)

--HG--
rename : widget/CompositorWidget.cpp => widget/CompositorWidgetProxy.cpp
rename : widget/CompositorWidget.h => widget/CompositorWidgetProxy.h
rename : widget/windows/WinCompositorWidget.cpp => widget/windows/WinCompositorWidgetProxy.cpp
rename : widget/windows/WinCompositorWidget.h => widget/windows/WinCompositorWidgetProxy.h
2016-06-29 19:35:24 -07:00
David Anderson
804c1ee06f Rename CompositorWidgetProxy files to CompositorWidget. (bug 1281998 part 2, r=jimm)
--HG--
rename : widget/CompositorWidgetProxy.cpp => widget/CompositorWidget.cpp
rename : widget/CompositorWidgetProxy.h => widget/CompositorWidget.h
rename : widget/windows/WinCompositorWidgetProxy.cpp => widget/windows/WinCompositorWidget.cpp
rename : widget/windows/WinCompositorWidgetProxy.h => widget/windows/WinCompositorWidget.h
extra : rebase_source : 8ecf59ad6039f0d0d2a51008aef53ef37aa2ce0e
2016-06-29 16:47:22 -04:00
Sotaro Ikeda
f731d220ed Bug 1252835 - Make TextureHost recycling implicit r=nical 2016-06-15 04:28:10 -07:00
Jonathan Watt
7972d9d526 Bug 1279966 - Stop using gfxContext device offsets on the temporary gfxContext in BasicLayerManager::PaintLayer. r=mattwoodrow 2016-06-15 10:06:11 +01:00
Jonathan Watt
b15368cfcb Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
Nicholas Nethercote
4e8f3b6d6e Bug 1276824 (part 2) - Fix up checks for calls to gfxContext::Create{,PreservingTransform}OrNull(). r=milan.
--HG--
extra : rebase_source : 80644c1a6658da553c13ae1ab3b8d03e916ee6e7
2016-06-07 11:17:48 +10:00
Nicholas Nethercote
a02611e830 Bug 1276824 (part 1) - Rename gfxContext::ForDrawTarget{,WithTransform}(). r=milan.
The new names Create{,PreservingTransform}OrNull() better communicate that
these functions (a) do object creation, and (b) are fallible.

--HG--
extra : rebase_source : a36bd9a2bcdfae281868959403f811f2bc690ad4
2016-06-07 09:39:56 +10:00
George Wright
75d2715f23 Bug 1278723 - Don't use ssse3_scale_data on targets that don't support SSSE3 r=jrmuizel 2016-06-07 20:52:45 -04:00
Thomas Zimmermann
4934adbfe6 Bug 1278202: Add missing method |GrallocTextureHostBasic::GetCompositor|, r=nical
MozReview-Commit-ID: 1WHSkS3qFLK
2016-06-06 19:52:17 +02:00
Jonathan Watt
c8d5762f34 Bug 1278239 - Remove gfxQuartzImageSurface. r=Bas 2016-05-27 19:43:34 +01:00
Jeff Muizelaar
1c35e2ccda Bug 1276923. BasicCompositor: Properly transform the clip. r=mstange
We push the clip on the buffer while it has the original transform, and
then we overwrite the transform with something else. But the fast path
operates in device space and ignores the existing clip on the buffer, so
we need to know the original clip at the original transform.
2016-06-03 14:46:12 -04:00
Jonathan Watt
03036022ec Bug 1277862, part 2 - Rename Moz2D's Filter to SamplingFilter in the rest of gfx/. r=Bas 2016-05-25 17:01:18 +01:00
Nicolas Silva
1d7c8451c8 Bug 1272600 - Part 3 - Move the ReadUnlock logic from compositable to texture. r=sotaro 2016-06-02 11:00:21 +02:00
Jeff Muizelaar
60421f01e1 Bug 1276923. Actually disable ssse3 scaler until it's fixed. r=mstange 2016-06-01 16:17:35 -04:00
Jeff Muizelaar
c61e0d5461 Bug 1276923. Disable ssse3 scaler until it's fixed 2016-06-01 13:56:10 -04:00
Jeff Muizelaar
a5fc6a819f Bug 1266491 - Use an ssse3 scaler for video. r=mstange
This is a separable scaler that improves from performance
from 15-16fps to 21-22fps
2016-05-28 10:12:12 -04:00
Jeff Muizelaar
85d22c8bbc Bug 1266491. Add a RGB_FROM_YCBCR texture flag. r=nical
We only use the SSSE3 scaler when this texture flag is set. This avoids using
it for compositing things other than video.
2016-05-28 10:12:11 -04:00
Mason Chang
5d51a78785 Bug 1273990. Use target backend rather than screen reference backend if compositor has a target set. r=jmuizelaar 2016-05-20 14:51:34 -07:00
Andi-Bogdan Postelnicu
3bb1e11276 Bug 1273095 - initialize |mStride|. r=jrmuizel
MozReview-Commit-ID: ElpMyYLcy0M

--HG--
extra : rebase_source : 5a3405d3bbf47f0f6d26071d25c2810c205da195
2016-05-16 13:58:52 +03:00
Jeff Muizelaar
7288d777c9 Bug 1272778. Use IntRects for clip rects instead of Rects. r=mstange
Previously, we took an IntRect converted to Rect and then later wanted
ints in the backend. This avoids all of that.
2016-05-13 19:58:43 -04:00
Wes Kocher
69ee17e2fb Backed out changeset b15136f926ca (bug 1272778) for build bustage 2016-05-13 16:05:12 -07:00
Jeff Muizelaar
4ed215c5a2 Bug 1272778. Use IntRects for clip rects instead of Rects. r=mstange
Previously, we took an IntRect converted to Rect and then later wanted
ints in the backend. This avoids all of that.
2016-05-13 18:51:09 -04:00
Kevin Wern
7ae5cf1e52 Bug 1227231: Use generic tree traversal algorithms for loops over Layer trees. r=botond
Create an Iterator type with classes ForwardIterator and ReverseIterator,
having GetFirstChild/GetNextSibling and GetLastChild/GetPrevSibling
methods, respectively. Specify the iterator type for each call to
ForEachNode. With this, we can support trees with forward and reverse
sibling structures.

Additionally, apply these algorithms to all Layer recursive traversals,
where applicable. Update tests to ensure both directions yield expected
results.

MozReview-Commit-ID: iYpX22XHTa

--HG--
extra : rebase_source : 016d3c37e0679df7037dacd3366d3fa7748d0703
extra : amend_source : 089c4a62bd4716be087669742bb542c39a9f97c6
2016-03-10 01:20:40 -08:00
Sotaro Ikeda
252ce4f643 Bug 1255703 - Use image surfaces for basic compositor on Windows r=mattwoodrow 2016-05-12 07:23:11 -07:00
bd339
1f362e61d3 Bug 1258758 - rename GetEffectiveClipRect to GetLocalClipRect. r=kats
MozReview-Commit-ID: HNErexDE1Xo
2016-05-02 17:27:35 +02:00
David Anderson
c7d105faf0 Use CompositorWidgetProxy in place of nsIWidget in the compositor. (bug 1264545 part 4, r=jimm) 2016-04-29 19:20:41 -04:00
David Anderson
86a0e1fbcf Hoist mWidget into the Compositor base class. (bug 1264545 part 1, r=nical) 2016-04-29 19:20:40 -04:00
Nicolas Silva
593eadd25a Bug 1266396 - Make TextureClient more robust against racy shutdown situations. r=Bas 2016-04-22 18:05:26 +02:00
Lee Salzman
ad13359d88 Bug 1266380 - fix offset of untransformed surface when 3d transforming in BasicLayerManager. r=jrmuizel 2016-04-23 21:07:41 -04:00
Sotaro Ikeda
3b81e9dd7d Bug 1262278 - Rename PlanarYCbCrImage::SetData and PlanarYCbCrImage::SetDataNoCopy r=nical 2016-04-18 20:12:41 -07:00
Markus Stange
40e0b92cb8 Bug 1236043 - Use TiledRegion for the invalid region of a layer. r=jrmuizel
MozReview-Commit-ID: BNUyUPbrnU1

--HG--
extra : rebase_source : 80342a281d6fd30ba8d12b77b3af4aec60376294
2016-04-18 13:49:14 -04:00
Nicolas Silva
fbb16ba823 Bug 1258768 - Check compositor backends before casting. r=dvander 2016-04-14 12:38:38 +02:00
Milan Sreckovic
e0b2b9e425 Bug 1259513: Make gfxContext constructor private, use a utility function that can return nullptr. r=bas,lsalzman
MozReview-Commit-ID: rHhLEDZEQt

--HG--
extra : rebase_source : 4988f3f488c19dd35a9979e96f78a5511ee8f3d2
2016-04-12 15:18:11 -04:00
Nicolas Silva
3aa33acdb7 Bug 1215265 - Shut PCompositorBridge down properly. r=sotaro 2015-11-24 14:50:51 +13:00
Sotaro Ikeda
0dcd939cf9 Bug 1259541 - Reduce clearing backbuffer in nsBaseWidget::CreateBackBufferDrawTarget() r=mattwoodrow 2016-04-04 18:25:04 -07:00
David Anderson
82cec35be7 Block compositable updates from stale layers. (bug 1256517 part 4, r=mattwoodrow,nical)
--HG--
extra : rebase_source : a7a9bc431d528de6561a9e55a0ebbb675ce494c4
2016-03-25 01:38:55 -07:00
Sotaro Ikeda
ccef41ec11 Bug 1254897 - Recycle back buffer in BasicCompositor r=jrmuizel 2016-03-23 21:41:43 -07:00
Sebastian Hengst
cb73369e3b Backed out changeset 27a8a01abf66 (bug 1256517) 2016-03-23 18:57:22 +01:00
David Anderson
db2e8ee11d Block compositable updates from stale layers. (bug 1256517 part 4, r=mattwoodrow,nical) 2016-03-23 10:32:34 -07:00
Lee Salzman
ca8c96a592 Bug 1252324 - add DrawTarget API for 3D transforms for use in layers. r=jrmuizel 2016-03-23 01:03:10 -04:00
Matt Woodrow
1f94409ed4 Bug 1223736 - Part 2: Draw masks in the correct coordinate space when doing 3d transforms in BasicCompositor. r=lsalzman 2016-03-22 09:09:07 +13:00
Nicolas Silva
644321f6b6 Bug 1256693 - Refer to ClientIPCAllocator instead of ISurfaceAllocator where it makes sense. r=sotaro 2016-03-21 15:18:20 +01:00
Carsten "Tomcat" Book
b8b88ab9fb Backed out changeset 2b7b7ea014d8 (bug 1223736)
--HG--
extra : rebase_source : 39d8455a2a72359cedd605839233f9619aac241e
2016-03-18 09:58:21 +01:00
Matt Woodrow
0ae5f6fcf2 Bug 1223736 - Part 2: Apply mask in correct coordinate space when drawing with 3d transforms with BasicCompositor. r=lsalzman 2016-03-18 18:45:50 +13:00
Wes Kocher
85732789fb Backed out changeset 7a74257343be (bug 1256693) for media mochitest leaks CLOSED TREE
MozReview-Commit-ID: Em8nObLSj9r
2016-03-17 15:42:51 -07:00
Matt Woodrow
dbe7f4888a Bug 1250718 - Don't flatten opacity to an intermediate surface when used in the middle of preserve-3d. r=thinker
--HG--
extra : rebase_source : 867bab1b5369c88db3a845478f73d3a58845938c
2016-03-18 09:23:51 +13:00
Nicolas Silva
68485a1f8e Bug 1256693 - Refer to ClientIPCAllocator instead of ISurfaceAllocator where it makes sense. r=sotaro 2016-03-17 14:59:06 +01:00
Sotaro Ikeda
47242038f0 Bug 1255303 - Use SurfaceFormat::B8G8R8X8 as back buffer if possible r=jrmuizel 2016-03-16 18:30:41 -07:00
David Anderson
b7dba4cb77 Require mix-blend mode support in all compositors and layer managers. (bug 1209278 part 1, r=mstange) 2016-02-23 10:11:21 -08:00
Lee Salzman
059ca6d6f5 Bug 1249813 - part 3 - tell the compositor if the root layer has opaque content so it can skip clears. r=mattwoodrow 2016-02-25 14:38:05 -05:00
Lee Salzman
bf234f25b7 Bug 1249813 - part 1 - revise nsShmImage to allow draw targets anywhere inside its bounds. r=jrmuizel 2016-02-25 14:38:05 -05:00
Nicolas Silva
60f1ac8846 Bug 1250873 - Rename HasInternalBuffer into HasIntermediateBuffer in layers. r=sotaro 2016-02-25 14:15:58 +01:00
Nicolas Silva
9e20942d69 Bug 1250500 - Avoid copying BufferTextureHost when possible. r=sotaro 2016-02-25 14:15:52 +01:00
Nicolas Silva
e8b70b860b Bug 1249273 - Enable BufferTextureHost to recycle a TextureSource that is not marked as owned. r=sotaro 2016-02-25 14:15:34 +01:00
Wes Kocher
a9ea5f6a56 Backed out 2 changesets (bug 1193557, bug 1209278) for build bustage
Backed out changeset 755b9088813c (bug 1193557)
Backed out changeset 21356fa4e353 (bug 1209278)

--HG--
extra : commitid : 5hf8aSA5FhN
2016-02-23 10:39:08 -08:00
David Anderson
a08042eef1 Require mix-blend mode support in all compositors and layer managers. (bug 1209278 part 1, r=mstange)
--HG--
extra : rebase_source : c63182aa6b4465e22d8d4147bfd40bc1e8183b08
2016-02-23 10:11:21 -08:00
Jeremy Chen
47aa0a5855 Bug 1239564 - Post translate maskSurface to renderTarget. r=roc 2016-02-22 04:19:00 +01:00
Lee Salzman
2d3967c30f Bug 1019856 - avoid double-buffering in BasicCompositor when window allows it. r=mattwoodrow 2016-02-18 20:57:29 -05:00
Milan Sreckovic
40a9c94aaa Bug 1187464 - Part 3. Check if GetSurface returned null. r=mstange 2016-02-08 11:58:00 +01:00
Milan Sreckovic
e5d1fffa48 Bug 1187464 - Part 2. RTTI for TextureSource debug purposes. Carry r=botond 2016-02-08 11:57:00 +01:00
Milan Sreckovic
59d6d38319 Bug 1187464 - Part 1. We can get the wrong texture source type, so deal with it. Carry r=mstange 2016-02-08 11:56:00 +01:00
Michelangelo De Simone
ebffe910b0 Bug 1247445 - Rename Layer::GetEffectiveVisibleRegion GetLocalVisibleRegion. r=botond
--HG--
extra : amend_source : 375eedb2c6f3e7aec206071a0be0e5fbc0367e76
2016-02-13 16:50:51 -08:00
Bas Schouten
dae57ec4b3 Bug 1245870: When concluding there is nothing to draw inside the clip be sure to balance the Save() since it won't be balanced in PopGroupForlayer. r=jrmuizel
--HG--
extra : commitid : Ra5uaA0wki
2016-02-05 13:53:45 +01:00
Carsten "Tomcat" Book
c92db23864 Backed out changeset 63e2a056311a (bug 1187464) for reftest failures
--HG--
extra : rebase_source : 8102427c109ff38e42b26b7f48dcaba67bdd7c4c
2016-02-03 15:04:37 +01:00
Carsten "Tomcat" Book
2d8c4c26f5 Backed out changeset 0cee3cdcce99 (bug 1187464)
--HG--
extra : rebase_source : 977a8167488bc1dbf71c6205a2eb4b77c1c3a0ca
2016-02-03 15:04:21 +01:00
Carsten "Tomcat" Book
d17059df02 Backed out changeset b64710d45b28 (bug 1187464)
--HG--
extra : rebase_source : 9128b958e65ba5fb289aedee4f8771180478a733
2016-02-03 15:04:19 +01:00
Milan Sreckovic
a4077255db Bug 1187464 - Part 3. Check if GetSurface returned null. r=mstange 2016-02-02 11:07:00 +01:00
Milan Sreckovic
91bbfbdf90 Bug 1187464 - Part 2. RTTI for TextureSource debug purposes. r=botond 2016-02-02 11:06:00 +01:00
Milan Sreckovic
e8a5e06fdb Bug 1187464 - Part 1. We can get the wrong texture source type, so deal with it. r=mstange 2016-02-02 11:05:00 +01:00
Birunthan Mohanathas
d7371d07d0 Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Phil Ringnalda
d381b4bca6 Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
CLOSED TREE

Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas
373593275e Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02:00
Nicholas Nethercote
702fb54dd6 Bug 1239864 (part 5) - Use the new rect iterators in gfx/. r=nical.
--HG--
extra : rebase_source : bed24467918b4a12837e37d6f7f15c42f20b0b6a
2016-01-18 17:20:58 -08:00
Nicholas Nethercote
6a194c8cf8 Bug 1239864 (part 1) - Add new, nicer rect-iterators for nsRegion and nsIntRegion. r=roc.
This requires renaming the existing nsIntRegion::RectIterator as
nsIntRegion::OldRectIterator to make way for the new nsIntRegion::RectIterator.
This doesn't require many knock-on changes because most existing uses of
that type use the nsIntRegionRectIterator typedef.

--HG--
extra : rebase_source : 16c79610ae20820ead6aa63cbe214e4e4b3a9fab
2016-01-14 18:36:11 -08:00
Matt Woodrow
53bd2d5de2 Bug 1242293 - Don't call EndRemoteDrawingInRegion if StartRemoteDrawingInRegion returns a null DrawTarget. r=mstange
--HG--
extra : commitid : 2hLESTDkkQt
extra : amend_source : c0ba853e135e1a4142759999fa3101173da50e04
2016-01-22 11:36:29 +13:00
Markus Stange
b59b3aeaf9 Bug 1241665 - Correctly convert IOSurfaces to SourceSurfaces in MacIOSurfaceTextureSourceBasic and MacIOSurfaceTextureData. r=mattwoodrow
--HG--
extra : rebase_source : 6cbb38cc4bb2338f76b1454e7e823dcb13d42f2d
2016-01-21 23:28:19 +01:00
Lee Salzman
579717eec1 Bug 1241163 - Replace DrawTarget::CreateSourceSurfaceFromNativeSurface(CAIRO_CONTEXT) with Factory::CreateSourceSurfaceForCairoSurface. r=jrmuizel 2016-01-20 13:31:44 -05:00
Nicholas Nethercote
186d3e93ab Bug 1239537 - Remove Compositor::GetWidgetSize(), which is unused. r=mattwoodrow.
Also remove BasicCompositor::mWidgetSize because its only use can be replaced
by a temporary variable.

--HG--
extra : rebase_source : 03b5992445687cd1ec24307da2d42f87d8cc1041
2016-01-13 15:27:34 -08:00
Nicholas Nethercote
7892cfcede Bug 1239530 (part 2) - Use LayoutDevice coordinates in {Start,End}RemoteDrawingInRegion() and related functions. r=kats.
--HG--
extra : rebase_source : b5bd2d6822904a188242efa6e46aaed9f96a15b9
2015-12-02 22:29:54 -08:00
Markus Stange
cff5b29209 Bug 1239137 - Return early from BasicCompositor::DrawQuad if transformBounds is empty. r=mattwoodrow
--HG--
extra : rebase_source : 41045234d2f2890c8178d68d37f3ceffd10402b3
2016-01-13 00:13:20 +01:00
Markus Stange
ebf52b3a75 Bug 1238753 - Don't skip the call to StartRemoteDrawing in from BasicCompositor::BeginFrame if the invalid region is empty. r=mattwoodrow
Sometimes we need a composition even if nothing has changed, for example for window resizes on Mac.
LayerManagerComposite::UpdateAndRender() already has a check that skips the call to BasicCompositor
if it's not necessary.

--HG--
extra : commitid : EFN68WKwWyp
extra : rebase_source : 00d8b063d23500b72a7f0c5fb03f5b726a3d5ac9
2016-01-12 13:27:14 +01:00
Markus Stange
c6fb172a65 Bug 1238753 - Make BasicCompositor respect changes to mInvalidRegion through StartRemoteDrawingWithRegion properly. r=mattwoodrow
--HG--
extra : commitid : 65tZtDLZZYx
extra : rebase_source : 8caf66555fee511daf0c336b9e8986da383f2704
2016-01-12 13:14:42 +01:00
Markus Stange
e69314a2fd Bug 1236282 - Clip color layer drawing in BasicCompositor so that unbounded operators don't erase stuff outside the layer. r=Bas
The same as bug 1077358, but for BasicCompositor.

--HG--
extra : commitid : 2xE66rOGdFx
extra : rebase_source : 4a81bbee35ae342add1bfca742d99b2c6dd73dcc
2016-01-12 12:47:36 +01:00
Nicholas Nethercote
fd022a1ff9 Bug 1236802 (part 2) - Remove a dead CurrentSurface() call. r=mattwoodrow.
--HG--
extra : rebase_source : 73638b86f45432bfe400b145379c996480879390
2016-01-10 14:05:27 -08:00
Nicholas Nethercote
88696a303a Bug 1209812 (part 6) - Convert all gfxImageFormat values to SurfaceFormat equivalents. r=jrmuizel.
This patch:

- Makes the following substitutions (plus necessary namespace qualifiers:

    gfxImageFormat::ARGB32      --> SurfaceFormat::A8R8G8B8_UINT32
    gfxImageFormat::RGB24       --> SurfaceFormat::X8R8G8B8_UINT32
    gfxImageFormat::A8          --> SurfaceFormat::A8
    gfxImageFormat::RGB16_565   --> SurfaceFormat::R5G6B5_UINT16
    gfxImageFormat::Unknown     --> SurfaceFormat::UNKNOWN

- Changes gfxImageFormat to be a typedef to gfx::SurfaceFormat. This will be
  removed soon.

- Removes gfxCairoFormatToImageFormat() and gfxImageFormatToCairoFormat() and
  replace calls to them with CairoFormatToGfxFormat() and
  GfxFormatToCairoFormat().

- Removes ParamTraits<gfxImageFormat>.

- Add namespace qualifiers to SurfaceFormat instances where necessary.

--HG--
extra : rebase_source : f56e92b1593957a9e4e00171100bc7605816e696
2016-01-07 20:57:38 -08:00
Nicholas Nethercote
4b651d870f Bug 1231881 - Remove NativeSurfaceType::CAIRO_SURFACE. r=bas.
We have both NativeSurfaceType::CAIRO_CONTEXT and
NativeSurfaceType::CAIRO_SURFACE. They both refer to DrawTargets with Cairo
backends. The only reason for having both is so you can call GetNativeSurface()
and get either the |cairo_t*| or the underlying |cairo_surface_t*|.

I argue that this convenience confuses things more than it helps. This patch
removes CAIRO_SURFACE, and adds explicit cairo_get_target() calls where
necessary.

--HG--
extra : rebase_source : 6f1701a8131d854c7f623272182029847876754e
2016-01-05 14:24:08 -08:00
Nicholas Nethercote
f447bec986 Bug 1233619 (part 2) - Moz2Dify BeginUpdate() and BeginUpdateBackground() functions. r=roc.
The only non-trivial change is in BasicPaintedLayer::Validate().

--HG--
extra : rebase_source : 7eed0e384d2d856d918ad025b09e29f796017f51
2015-12-17 19:39:10 -08:00
Nicholas Nethercote
67e5c3ea2c Bug 1233619 (part 1) - Remove unneeded gfxContext argument from EndUpdate() and EndUpdateBackground() functions. r=roc.
--HG--
extra : rebase_source : cc16e7a77d8d60706cd0406c859aece88d7b18c3
2015-12-17 19:39:09 -08:00
Bas Schouten
69278658e4 Bug 1227210: Ensure the mask and the surface are in the right space when being blended. r=mattwoodrow 2015-11-26 15:51:49 +01:00
Nicolas Silva
9bc4b1d4e6 Bug 1228952 - Move texture metadata out of the BufferTextureClient/Host's buffer. r=Sotaro 2015-12-16 19:50:58 +01:00
Lee Salzman
b842645aab Bug 1082598 - Part 6: Fix layers for Skia update. r=jrmuizel 2015-12-18 13:53:25 -05:00
Wes Kocher
6ebc8a4b00 Backed out 10 changesets (bug 1082598) for 2d.path.arcTo.shape.curve1.html failures on OSX
Backed out changeset 018c2a3031f4 (bug 1082598)
Backed out changeset 8f60e42aca2e (bug 1082598)
Backed out changeset c4297c82165f (bug 1082598)
Backed out changeset c22c1bfd091a (bug 1082598)
Backed out changeset 8754fd718869 (bug 1082598)
Backed out changeset da976e4cd253 (bug 1082598)
Backed out changeset 3c8f87df8c68 (bug 1082598)
Backed out changeset 3183d30eb549 (bug 1082598)
Backed out changeset c239a7bc6cba (bug 1082598)
Backed out changeset aa3805015270 (bug 1082598)

--HG--
extra : commitid : LJSl0Bo8Hqr
2015-12-17 14:30:50 -08:00
Lee Salzman
1175a5cf53 Bug 1082598 - Part 6: Fix layers for Skia update. r=jrmuizel 2015-12-17 14:45:45 -05:00
Milan Sreckovic
06d79c4606 Bug 1219494 - Part 4. gfx/layers and gfxCrash. r=mchang 2015-12-10 13:01:00 +01:00
Milan Sreckovic
b216c58347 Bug 1200021 - Part 3: Add DrawTarget::IsValid and don't let Cairo version snapshot invalid surface. r=bas 2015-12-04 13:43:00 -05:00
Nicolas Silva
e9b85ee52f Bug 1229577 - Rename NewSurfaceDescriptorGralloc into SurfaceDescriptorGralloc. r=sotaro 2015-12-04 11:23:42 +01:00
Bogdan Postelnicu
8bfe17bd94 Bug 1228510 - initialize 2 more variables. r=bas
--HG--
extra : rebase_source : b5636a87aafcee87444d8dee60804eca453942fa
2015-11-27 00:32:00 +01:00
Nicolas Silva
8baf8f2c04 Bug 1200595 - Consolidate the TextureClient's destruction logic. r=mattwoodrow 2015-11-20 14:25:03 +01:00
Nicolas Silva
ce2636044e Bug 1200595 - Merge TextureClient and ClientTexture back into TextureClient. r=mattwoodrow 2015-11-20 14:25:00 +01:00
Nicolas Silva
48c889335e Bug 1200595 - Gralloc TextureData implementation. r=sotaro 2015-10-15 17:53:37 +02:00
Nicolas Silva
380cf2ea18 Bug 1200595 - Introduce TextureData and implement it for X11. r=mattwoodrow, Bas, sotaro 2015-10-13 18:48:48 +02:00
Sunny Sidhu
cfa8942015 Bug 1220873 - Make Layer::mVisibleRegion a LayerIntRegion. r=botond
--HG--
extra : source : dc46048f7a9e9cc008c97e2d9e0a100944743055
extra : amend_source : 63783bc076e5969ebacdc8c74f9b5194a1891d9e
2015-11-29 02:07:55 -05:00
Phil Ringnalda
44354b6a01 Back out 1b0760c35953 (bug 1227210) for frequent Android R15 shutdown crashes 2015-11-27 22:58:13 -08:00
Bas Schouten
3026d54a89 Bug 1227210: Ensure the mask and the surface are in the right space when being blended. r=mattwoodrow 2015-11-26 15:51:49 +01:00
Wes Kocher
72261b4523 Backed out 12 changesets (bug 1200595) for b2g mochitest crashes in SharedBufferManagerParent CLOSED TREE
Backed out changeset cf8cf1a039dd (bug 1200595)
Backed out changeset 65da564f952c (bug 1200595)
Backed out changeset 7663208f1582 (bug 1200595)
Backed out changeset fc1fbb97c8eb (bug 1200595)
Backed out changeset 3ad5a4c457fe (bug 1200595)
Backed out changeset add3fe9afc0c (bug 1200595)
Backed out changeset 68aba6b39588 (bug 1200595)
Backed out changeset ab326c34f1cf (bug 1200595)
Backed out changeset ed34bc528a1b (bug 1200595)
Backed out changeset 0dc93424546c (bug 1200595)
Backed out changeset 8cc12f12f3d1 (bug 1200595)
Backed out changeset bb84403701b7 (bug 1200595)

--HG--
extra : commitid : AMC6i05xyTh
2015-11-24 10:07:02 -08:00
Nicolas Silva
c89268e8b1 Bug 1200595 - Consolidate the TextureClient's destruction logic. r=mattwoodrow 2015-11-20 14:25:03 +01:00
Nicolas Silva
c1b94d01e8 Bug 1200595 - Merge TextureClient and ClientTexture back into TextureClient. r=mattwoodrow 2015-11-20 14:25:00 +01:00
Nicolas Silva
318de9bd3b Bug 1200595 - Gralloc TextureData implementation. r=sotaro 2015-10-15 17:53:37 +02:00
Nicolas Silva
c3df7801f0 Bug 1200595 - Introduce TextureData and implement it for X11. r=mattwoodrow, Bas, sotaro 2015-10-13 18:48:48 +02:00
Carsten "Tomcat" Book
1a584aca79 Backed out 13 changesets (bug 1200595) for possibly breaking Reftest [TC] Crashtest tc-R on a CLOSED TREE
Backed out changeset e7278af0a484 (bug 1200595)
Backed out changeset c13228f84d85 (bug 1200595)
Backed out changeset 4b88e8a3d8af (bug 1200595)
Backed out changeset e55376bd2cf8 (bug 1200595)
Backed out changeset 9c27c8e2c021 (bug 1200595)
Backed out changeset a369a2983ceb (bug 1200595)
Backed out changeset 09e71ba15ea8 (bug 1200595)
Backed out changeset b555b130d439 (bug 1200595)
Backed out changeset 6819f6d82287 (bug 1200595)
Backed out changeset a8cdfbf443d8 (bug 1200595)
Backed out changeset 0092c9d7a86b (bug 1200595)
Backed out changeset 6dc38a1e6073 (bug 1200595)
Backed out changeset fe2164aa1468 (bug 1200595)
2015-11-20 16:55:26 +01:00
Nicolas Silva
4b5d77112d Bug 1200595 - Consolidate the TextureClient's destruction logic. r=mattwoodrow
* * *
Bug 1200595 - Rebase fixes
2015-11-20 14:25:03 +01:00
Nicolas Silva
25167273f1 Bug 1200595 - Merge TextureClient and ClientTexture back into TextureClient. r=mattwoodrow 2015-11-20 14:25:00 +01:00
Nicolas Silva
94c7acf9ef Bug 1200595 - Gralloc TextureData implementation. r=sotaro 2015-10-15 17:53:37 +02:00
Nicolas Silva
62fdc49f48 Bug 1200595 - Introduce TextureData and implement it for X11. r=mattwoodrow, Bas, sotaro 2015-10-13 18:48:48 +02:00
Bas Schouten
6734f39bff Bug 1225125: If all drawing is just clipped out anyway, just push a regular group, blending mode won't matter. r=jrmuizel 2015-11-17 16:27:17 +01:00
David Anderson
27bfc27d62 Decouple SharedRGBImage and PlanarYCbCrImage from ImageContainer. (bug 1222910, r=mattwoodrow) 2015-11-17 00:09:01 -08:00
Nicholas Nethercote
e48ef7f5e0 Bug 1224482 (part 4) - Make GetClientSize() return a LayoutDeviceIntSize. r=kats.
--HG--
extra : rebase_source : 6364076d0924ed1cd5a952ffa1fcb0543c05c0f7
2015-11-13 01:37:02 -08:00
Nathan Froyd
6fae252680 Bug 1216644 - part 3 - make BufferRecycleBin store UniquePtrs; r=jrmuizel
Changing mRecycledBuffers to store UniquePtrs instead of nsAutoArrayPtrs
opens up the possibility of a reasonable facsimile of ownership in
function signatures.
2015-10-20 13:16:04 -04:00
Nicholas Nethercote
489c83b1dd Bug 1223690 - Remove implicit Rect conversions. r=jrmuizel.
gfxRect can be implicitly constructed from IntRect, which hides a number of
implicit conversion points, makes Moz2Dification harder, and has some
surprising effects.

This patch removes the implicit constructor and replaces it with an explicit
conversion function:

  gfxRect ThebesRect(const IntRect&)

This is the obvious outcome of removing the constructor.

But there is also a second, less obvious outcome: currently we do a number of
IntRect-to-Rect conversions using ToRect(), which (surprisingly) works because
it turns into an implicit IntRect-to-gfxRect conversion (via the implicit
constructor) combined with an explicit gfxRect-to-Rect conversion (via
ToRect()). I.e. we do two conversions, going from a Moz2D type to a Thebes
type and back to a Moz2D type!

So this patch also changes these conversion. It moves this existing function:

  Rect ToRect(const IntRect&)

from gfx2DGlue.h -- where it doesn't really belong because it doesn't involve
any Thebes types -- to gfx/2d/Rect.h, templatifying and renaming it as
IntRectToRect() in the process.

The rest of the patch deals with fall-out from these changes. The call sites
change as follows:

- IntRect-to-gfxRect conversions:
  - old: implicit
  - new: ThebesRect()

- IntRect-to-Rect conversions:
  - old: ToRect()
  - new: IntRectToRect()

--HG--
extra : rebase_source : e4e4c2ad10b36ecad4d57d1630158f3374e403be
2015-11-11 14:23:14 -08:00
Botond Ballo
a592a77364 Bug 1222661 - Replace ToUntyped(obj) calls with obj.ToUnknown*(). r=nical
--HG--
extra : rebase_source : 1cab46638599d8c4e6183c42a6fa9d41702392cb
extra : source : cabc28a2200b9b4e5e137d331ee5b86b3c09f065
2015-11-06 22:13:40 -05:00
Bas Schouten
b8dfcb93d1 Bug 1210560 - Part 5: Convert BasicLayers usecases to PushGroupForBlendBack and temporary surfaces. r=jrmuizel 2015-11-11 16:15:39 +01:00
Jeff Muizelaar
bcf6317ef4 Bug 1217080. Move recycling functionality into RecyclingPlanarYCbCrImage. r=nical
This makes PlanarYCbCrImage abstract and moves the recycling functionality
into RecyclingPlanarYCbCrImage. This decreases the size of
SharedPlanarYCbCrImage and makes it possible for us to do part 3 of bug
1216644.
2015-11-06 13:55:31 -05:00
Wes Kocher
a6029c8941 Backed out changeset 722e121f6ce6 (bug 1217080) for b2g build failures
--HG--
extra : commitid : HdV0UNFbTFn
2015-11-04 15:39:35 -08:00
Jeff Muizelaar
83d63902a7 Bug 1217080. Move recycling functionality into RecyclingPlanarYCbCrImage. r=nical
This makes PlanarYCbCrImage abstract and moves the recycling functionality
into RecyclingPlanarYCbCrImage. This decreases the size of
SharedPlanarYCbCrImage and makes it possible for us to do part 3 of bug
1216644.
2015-11-04 17:40:02 -05:00
Nicolas Silva
1ebb1e2bb7 Bug 1219330 - Handle PlanaYCbCrImage::SetData failure. r=jya, jesup 2015-11-03 12:24:26 +01:00
Nicholas Nethercote
a91e1ff9e9 Bug 1209812 (follow-up) - Android bustage fix on a CLOSED TREE. r=me.
--HG--
extra : rebase_source : d498b7d5d5833fc09d4367ec67e3c2a7f2ec6e47
2015-10-28 19:33:16 -07:00
Sotaro Ikeda
963cb70aca Bug 1218617 - Invalidate whole widget area after external composition r=mattwoodrow 2015-10-27 22:56:27 -07:00
Sotaro Ikeda
d7e0a22d6a Bug 1210182 - Implement GrallocTextureHostBasic r=nical 2015-10-26 22:43:07 -07:00
Sotaro Ikeda
29259a9e77 Bug 1215364 - Implement BasicCOmpositor::EndFrameForExternalComposition r=nical 2015-10-25 22:41:57 -07:00
Thinker K.F. Li
fd72ecbc34 Bug 1214212 - Remove clips from separator transform items. r=roc 2015-10-22 23:29:00 -04:00
Phil Ringnalda
0f3cf4490c Back out changeset 02d17c84afff (bug 1214212) for (mostly) transform-3d reftest failures
CLOSED TREE
2015-10-21 20:22:45 -07:00
Thinker K.F. Li
517b105b08 Bug 1214212 - Remove clips from separator transform items. r=roc 2015-10-21 03:35:00 -04:00
Nathan Froyd
01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Nathan Froyd
583afa0965 Bug 1207245 - part 3 - switch all uses of mozilla::RefPtr<T> to nsRefPtr<T>; r=ehsan
This commit was generated using the following script, executed at the
top level of a typical source code checkout.

 # Don't modify select files in mfbt/ because it's not worth trying to
 # tease out the dependencies currently.
 #
 # Don't modify anything in media/gmp-clearkey/0.1/ because those files
 # use their own RefPtr, defined in their own RefCounted.h.
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    grep -v 'mfbt/RefPtr.h' | \
    grep -v 'mfbt/nsRefPtr.h' | \
    grep -v 'mfbt/RefCounted.h' | \
    grep -v 'media/gmp-clearkey/0.1/' | \
    xargs perl -p -i -e '
 s/mozilla::RefPtr/nsRefPtr/g; # handle declarations in headers
 s/\bRefPtr</nsRefPtr</g; # handle local variables in functions
 s#mozilla/RefPtr.h#mozilla/nsRefPtr.h#; # handle #includes
 s#mfbt/RefPtr.h#mfbt/nsRefPtr.h#;       # handle strange #includes
'

 # |using mozilla::RefPtr;| is OK; |using nsRefPtr;| is invalid syntax.
find . -name '*.cpp' -o -name '*.mm' | xargs sed -i -e '/using nsRefPtr/d'

 # RefPtr.h used |byRef| for dealing with COM-style outparams.
 # nsRefPtr.h uses |getter_AddRefs|.
 # Fixup that mismatch.
find . -name '*.cpp' -o -name '*.h'| \
    xargs perl -p -i -e 's/byRef/getter_AddRefs/g'
2015-10-18 00:40:10 -04:00
Sotaro Ikeda
33e9987516 Bug 1215027 - Fix EndFrameForExternalComposition() r=nical 2015-10-15 17:53:44 -07:00
Morris Tseng
a8eab58fba Bug 709490 - Part 7: If layer is not available, fallback to BasicCanvasLayer. r=roc
--HG--
extra : rebase_source : cc7761567d60d652b8d0bc9cab04cf310ef100e3
2015-10-12 11:21:03 +08:00
Nicholas Nethercote
4fc2610c3c Bug 1211324 (part 4) - Replace GraphicsFilter constants with gfx::Filter equivalents. r=mattwoodrow.
The conversion is as follows:

- GraphicsFilter::FILTER_NEAREST == gfx::Filter::POINT
- GraphicsFilter::FILTER_GOOD    == gfx::Filter::GOOD
- GraphicsFilter::FILTER_BEST    == gfx::Filter::LINEAR

Also typedef GraphicsFilter to gfx::Filter; this will be removed in the next
patch.

These changes mean ToFilter() and ThebesFilter() are no longer needed.
2015-10-05 17:12:46 -07:00
David Anderson
3716363c72 Remove the static compositor backend variable. (bug 1211109 part 2, r=mattwoodrow) 2015-10-05 23:39:00 -07:00
Wes Kocher
c1750b75c7 Backed out 11 changesets (bug 709490) for webgl-color-test.html failures a=backout
Backed out changeset fc04c5d43550 (bug 709490)
Backed out changeset cd8f9410d335 (bug 709490)
Backed out changeset 6e687c9143c1 (bug 709490)
Backed out changeset 9b20f2c833c4 (bug 709490)
Backed out changeset f9d130aea88e (bug 709490)
Backed out changeset fc513b410949 (bug 709490)
Backed out changeset acf6220b431a (bug 709490)
Backed out changeset 9bceaf913791 (bug 709490)
Backed out changeset 37fba20111e2 (bug 709490)
Backed out changeset 2285ce1596b8 (bug 709490)
Backed out changeset fb4e09920569 (bug 709490)
2015-10-05 08:28:25 -07:00