Commit Graph

923 Commits

Author SHA1 Message Date
Bas Schouten
f99f040ff9 Bug 1190950: Check mappings and surfaces for UpdateFromSurface more robustly. r=mattwoodrow 2015-08-06 02:29:47 +00:00
Jamie Nicol
3e0de12cde Bug 1187619 - Only optmimize FrameLayerBuilder visibility calculations if correct. r=mattwoodrow
Bug 1176077 introduced the parameter aDirtyRegion to
DrawPaintedLayerCallback, which allows the callback to recompute the
visibility of all items to be painted in that transaction in a single
go. However, this parameter can not always be determined correctly
when using RotatedBuffer, and using an incorrect value was causing
graphical glitches.

Make the parameter optional, and on null values do not perform the
optimisation. Pass null from ClientPaintedLayer, which uses
RotatedBuffer and was causing problems, but continue to pass the
correct value from other Layer implementations. This optimisation was
most important for tiled layers using progressive paint, so this is
okay.
2015-08-03 04:07:00 -04:00
Benoit Girard
f8d5b33a49 Bug 1072313 - Check for more leaks in the layers code. r=mstange
--HG--
extra : commitid : EgwkF8ok3Nr
2015-07-29 11:57:03 -04:00
Lee Salzman
f15be30759 Bug 1188462 - Fix inclusion of skia headers to use correct directory prefixes. r=jrmuizel 2015-07-29 16:31:40 -04:00
Vladimir Vukicevic
a0b4b85e51 Bug 1179935, introduce complex viewport projections to Compositor, remove PrepareViewport; r=mstange
---
 gfx/layers/Compositor.h                          |  10 ---
 gfx/layers/basic/BasicCompositor.h               |   2 -
 gfx/layers/composite/TextureHost.h               |  34 +++++++-
 gfx/layers/d3d11/CompositorD3D11.cpp             |  47 +++++++---
 gfx/layers/d3d11/CompositorD3D11.h               |   4 +-
 gfx/layers/d3d9/CompositorD3D9.h                 |   2 +-
 gfx/layers/opengl/CompositingRenderTargetOGL.cpp |  23 +++--
 gfx/layers/opengl/CompositingRenderTargetOGL.h   |   2 +
 gfx/layers/opengl/CompositorOGL.cpp              | 104 +++++++++++++----------
 gfx/layers/opengl/CompositorOGL.h                |   6 +-
 10 files changed, 145 insertions(+), 89 deletions(-)
2015-05-19 13:51:26 -04:00
Bas Schouten
1a51d15b0f Bug 1176363 - Part 1: Stop using DrawTargets off the main thread. r=mattwoodrow 2015-07-27 15:47:29 +00:00
Ryan VanderMeulen
e107ea6a37 Backed out changeset adbd8a7608e4 (bug 1176363) for mochitest-gl permacrashes. 2015-07-27 13:54:56 -04:00
Bas Schouten
0bdd67bdd0 Bug 1176363 - Part 1: Stop using DrawTargets off the main thread. r=mattwoodrow 2015-07-27 15:47:29 +00:00
Kearwood (Kip) Gilbert
5b2ac66a0c Bug 1181240 - Part 3: Replace gfx3DMatrix with Matrix4x4 in gfx,r=vlad
- Refactored code to use Matrix4x4 instead of gfx3DMatrix.
- There is not expected to be any functional effect.
2015-07-10 17:06:35 -07:00
Jamie Nicol
5044fbd3c9 Bug 1176077 - Only recompute PaintedLayer item visibility when display list has changed. r=mattwoodrow
FrameLayerManager::RecomputeItemsVisibility() was being called on every
call to FrameLayerBuilder::DrawPaintedLayer(), each time for the region
to be painted by that paint call. This is inefficient when progressive
paint is enabled. Change it so that we compute the visibility of all the
layer's items within the total region to be painted, but only on the
first paint after the display list has been modified.
2015-07-21 09:19:25 +01:00
Birunthan Mohanathas
a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Nicolas Silva
1669cfdfef Bug 1180688 - Detect whether the widget will be able to present frames with BasicCompositor on Mac. r=mstange 2015-07-13 16:46:48 +02:00
Lee Salzman
dfce3fe4ef Bug 1170390 - Make gfxPlatform::CreateOffscreenSurface use explicit format rather than guess. r=jrmuizel 2015-07-06 21:21:47 -04:00
Robert O'Callahan
478bb5668d Bug 1143575. Reimplement ImageContainer::GetPaintCount to be composition-aware. r=nical
--HG--
extra : commitid : EmOEK6v27UF
extra : rebase_source : 671c06aa942ad87716ab9a998dd55103b1270b66
2015-06-15 14:45:59 +12:00
Robert O'Callahan
15642eb711 Bug 1143575. Replace ImageContainer Lock methods with simplified AutoLockImage. r=nical
--HG--
extra : commitid : B1BZNvKIQFf
extra : rebase_source : 927c9aa549a863aeba97c0e5a4cb6cf87194669a
2015-03-27 12:07:53 +13:00
David Anderson
c4f735d0c5 Bug 1148582 - Apply async transforms to (ancestor) mask layers correctly. r=botond
--HG--
extra : rebase_source : e44f7dbe49b343532b99704893dca879f1a69b4a
extra : source : 6234e37d912a054e8c07259c4dca19ce4c062055
2015-06-30 21:07:09 -04:00
Markus Stange
f1b62506d9 Back out bug 1148582 for static analysis bustage. 2015-07-01 01:20:59 -04:00
David Anderson
eae17dff97 Bug 1148582 - Apply async transforms to (ancestor) mask layers correctly. r=botond 2015-06-30 21:07:09 -04:00
Nathan Froyd
974d8120f2 Bug 1161627 - part 2 - machine-convert TemporaryRef<T> to already_AddRefed<T>; r=ehsan
This conversion was done with the script:

  find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl' | \
    egrep -v 'cairo-win32-refptr.h|RefPtr.h|TestRefPtr.cpp' | \
    xargs sed -i -e 's/mozilla::TemporaryRef</already_AddRefed</g' \
                 -e 's/TemporaryRef</already_AddRefed</g'

Manual fixups were performed in the following instances:

- We handled mfbt/RefPtr.h manually so as to not convert TemporaryRef itself
  into already_AddRefed.

- The following files had explicit Move() calls added to make up for the lack
  of a copy constructor on already_AddRefed:

  dom/base/ImageEncoder.cpp
  dom/media/MediaTaskQueue.{h,cpp}
  dom/media/webaudio/PannerNode.cpp

- A redundant overload for MediaTaskQueue::Dispatch was deleted.

- A few manual fixups were required in mfbt/tests/TestRefPtr.cpp.

- Comments, using declarations, and forward declarations relating to
  TemporaryRef in dom/canvas/ and gfx/layers/ were changed to refer to
  already_AddRefed.
2015-06-17 10:00:52 -04:00
Jeff Gilbert
ee12c03986 Bug 1144906 - Add accel E10S backend for WebGL compositing. - r=jrmuizel,mattwoodrow,nical,sotaro 2015-06-04 17:15:38 -07:00
Wes Kocher
77bc735a23 Backed out changeset c4d1692d88ee (bug 1144906) for OSX m(gl) permaorange 2015-06-04 16:50:59 -07:00
Jeff Gilbert
891a5c7f86 Bug 1144906 - Add accel E10S backend for WebGL compositing. - r=jrmuizel,mattwoodrow,nical,sotaro 2015-06-04 14:21:32 -07:00
Kearwood (Kip) Gilbert
e25ede39ea Bug 766345 - Part 1 - Implement DEAA Antialiasing for transformed layers (v5 Patch). r=vladimir, r=djg 2014-12-17 16:28:45 -08:00
Amanda Sambath
e5ab8210f6 Bug 1158120 - Edit include and comments that contained gfxIntSize and nsIntSize. r=nical 2015-05-29 17:01:46 +02:00
Amanda Sambath
7cade29011 Bug 1158120 - Replace gfxIntSize by mozilla::gfx::IntSize in gfx/layers. r=nical 2015-05-28 11:59:15 +02:00
Wes Kocher
5ee1a8327e Backed out changeset 29bd04fc57f0 (bug 1144906) for b2g m12 orange
--HG--
extra : amend_source : 79faafb4230715cf6af79b452d121d1e7b58e665
2015-05-28 17:08:53 -07:00
Jeff Gilbert
ec631286de Bug 1144906 - Fast WebGL compositing on E10S. - r=jrmuizel,mattwoodrow,nical 2015-05-28 14:51:39 -07:00
Amanda Sambath
da798ca904 Bug 1157669 - Assert aGroupTarget is not null in PaintSelfOrChildren method. r=nical 2015-05-20 10:47:29 +02:00
Nathan Froyd
db188ea282 Bug 1160485 - remove implicit conversion from RefPtr<T> to TemporaryRef<T>; r=ehsan
Having this implicit conversion means that we can silently do extra
refcounting when it's completely unnecessary.  It's also an obstacle to
making RefPtr more nsRefPtr-like, so let's get rid of it.
2015-05-01 09:14:16 -04:00
Nathan Froyd
c24f5f4e7c Bug 1116905 - part 3 - remove dependence on implicit conversion from T* to TemporaryRef<T>, gfx changes; r=jrmuizel 2015-04-30 15:20:30 -04:00
Lee Salzman
e38cad0b37 Bug 1127752 - fixes for using Skia and OMTC with GTK3. r=jrmuizel 2015-05-13 11:54:17 +09:00
Thibaud Backenstrass
5e604392a5 Bug 1158122 - Remove some occurences of nsIntRect in gfx/layers/. r=nical 2015-05-07 11:07:35 +02:00
Phil Ringnalda
24bb7f3b9f Back out dc2fed1aa0af (bug 1144906) for ASan, Android debug, and OS X 10.10 mochitest-gl bustage
CLOSED TREE
2015-05-06 19:55:40 -07:00
Jeff Gilbert
b0077b976e Bug 1144906 - Fast WebGL on E10S. - r=mattwoodrow,nical 2015-05-06 16:35:29 -07:00
Wes Kocher
b6f7abf05b Backed out changeset 93af6e2a390d (bug 1144906) for build bustage 2015-05-06 16:01:47 -07:00
Jeff Gilbert
587246e6fd Bug 1144906 - Support fast WebGL on E10S. - r=mattwoodrow,nical 2015-05-06 13:48:28 -07:00
Ryan VanderMeulen
37e75ba5e6 Backed out changesets 230adc57e016 and 61bd6e2c6e72 (bug 1072898) for reftest failures.
CLOSED TREE
2015-05-06 11:27:32 -04:00
Kearwood (Kip) Gilbert
6db1d2f93f Bug 1072898: Part 1 - Correct rendering of layers that are both in front and behind the w=0 plane. r=mattwoodrow
- The BasicCompositor now transforms vertices prior to rendering in Skia, using
  a function that clips against frustum clipping planes in homogenous
  coordinate space.
2015-04-21 16:57:18 -07:00
dc9ccc6c1d Bug 1151749 - "Win-Only: Disabled Hardware Acceleration + CSS 3D transform on canvas -> black artefacts on hover". r=nical
--HG--
extra : rebase_source : dd951364914eb22de13bfbe4b45e5b974528c705
2015-04-07 06:33:00 +02:00
Steve Singer
4a748bd766 Bug 1141642 - Fix disable-skia builds. r=jmuizelaar
--HG--
extra : rebase_source : 6c6e1664973547b6131a5f5410bb0eec9afd750d
2015-04-18 19:44:00 +02:00
Andrea Marchesini
ade2831035 Bug 1156632 - Remove unused forward class declarations - patch 6 - the rest of the tree, r=ehsan 2015-04-22 08:29:24 +02:00
Nicolas Silva
e887c595eb Bug 1155621 - Remove no-op gfx2DGlue conversion helpers. r=Bas 2015-04-21 17:22:30 +02:00
Nicolas Silva
cfff5e52c5 Bug 1155621 - Make nsIntRect and nsIntPoint typedefs of mozilla::gfx::IntRect and mozilla::gfx::IntPoint. r=Bas 2015-04-21 17:04:57 +02:00
Nicolas Silva
c76f9a219d Bug 1155252 - Don't allocate X11TextureClients bigger than xlib's maximum surface size. r=jrmuizel 2015-04-20 15:53:42 +02:00
Ying-Ruei Liang (KK)
f17daf9c2a Bug 1143522 - Convert Layer::mClipRect to ParentLayerIntRect. r=botond
Change interface of getter/setter for mClipRect,
also necessary modification for codes that use these resources.

* * *
Bundle mUseClipRect and mClipRect as Maybe<ParentLayerIntRect> mClipRect

--HG--
extra : rebase_source : ca0c60404a28b7418df88104b863760033289910
2015-04-11 22:03:00 -04:00
Jeff Muizelaar
223de83115 Bug 1152509. Use Mask with alpha to avoid allocating a surface. r=bas
This should give a performance improvement on platforms
not using Cairo (especially D2D)

--HG--
extra : rebase_source : eea1167839113ac5a01dcf1efee4d67cc2a24937
2015-04-09 10:52:11 -04:00
Nicolas Silva
0b1f75bea0 Bug 1132854 - Remove the gfx::ToIntSize conversion helper. r=Bas 2015-04-07 16:08:57 +02:00
Nicolas Silva
52be9f47b5 Bug 1132854 - Remove useless ThebesIntSize conversion helper. r=Bas 2015-03-29 16:59:15 +02:00
Nicolas Silva
5ea6c11e06 Bug 1146912 - Finish replacing TextureHost::GetTextureSource by BindTextureSource. r=sotaro 2015-03-27 11:16:34 +01:00
Ehsan Akhgari
883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00