Commit Graph

924 Commits

Author SHA1 Message Date
Andrew Comminos
0d102690e9 Bug 788873 - Only rebind a GLXPixmap if the texture has changed. r=karlt 2015-08-26 23:46:33 -04:00
Bas Schouten
6391b21503 Bug 1190950: Check mappings and surfaces for UpdateFromSurface more robustly. r=mattwoodrow 2015-08-06 02:29:47 +00:00
Jamie Nicol
2ab13a5399 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
5fbe3fc17d Bug 1072313 - Check for more leaks in the layers code. r=mstange 2015-07-29 11:57:03 -04:00
Lee Salzman
d7eac98ff6 Bug 1188462 - Fix inclusion of skia headers to use correct directory prefixes. r=jrmuizel 2015-07-29 16:31:40 -04:00
Vladimir Vukicevic
68637bd082 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
9c03d00213 Bug 1176363 - Part 1: Stop using DrawTargets off the main thread. r=mattwoodrow 2015-07-27 15:47:29 +00:00
Ryan VanderMeulen
0aac8791a5 Backed out changeset adbd8a7608e4 (bug 1176363) for mochitest-gl permacrashes. 2015-07-27 13:54:56 -04:00
Bas Schouten
ec0223aadb Bug 1176363 - Part 1: Stop using DrawTargets off the main thread. r=mattwoodrow 2015-07-27 15:47:29 +00:00
Kearwood (Kip) Gilbert
f78c0cd7bd 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
b2e2b6eebb 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
47ed3a3675 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
4de07beb5f 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
86468a56ae Bug 1170390 - Make gfxPlatform::CreateOffscreenSurface use explicit format rather than guess. r=jrmuizel 2015-07-06 21:21:47 -04:00
Robert O'Callahan
327d7b9a2e Bug 1143575. Reimplement ImageContainer::GetPaintCount to be composition-aware. r=nical 2015-06-15 14:45:59 +12:00
Robert O'Callahan
3c924e5d41 Bug 1143575. Replace ImageContainer Lock methods with simplified AutoLockImage. r=nical 2015-03-27 12:07:53 +13:00
David Anderson
374dcc7a0b Bug 1148582 - Apply async transforms to (ancestor) mask layers correctly. r=botond 2015-06-30 21:07:09 -04:00
Markus Stange
375ab11d1c Back out bug 1148582 for static analysis bustage. 2015-07-01 01:20:59 -04:00
David Anderson
6c90f76817 Bug 1148582 - Apply async transforms to (ancestor) mask layers correctly. r=botond 2015-06-30 21:07:09 -04:00
Nathan Froyd
8780083336 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
9efc7525f7 Bug 1144906 - Add accel E10S backend for WebGL compositing. - r=jrmuizel,mattwoodrow,nical,sotaro 2015-06-04 17:15:38 -07:00
Wes Kocher
8d606f367a Backed out changeset c4d1692d88ee (bug 1144906) for OSX m(gl) permaorange 2015-06-04 16:50:59 -07:00
Jeff Gilbert
a930aa4fee 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
a1abfa3fe0 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
707664d6bb Bug 1158120 - Edit include and comments that contained gfxIntSize and nsIntSize. r=nical 2015-05-29 17:01:46 +02:00
Amanda Sambath
7dec0ef896 Bug 1158120 - Replace gfxIntSize by mozilla::gfx::IntSize in gfx/layers. r=nical 2015-05-28 11:59:15 +02:00
Wes Kocher
c03f06d531 Backed out changeset 29bd04fc57f0 (bug 1144906) for b2g m12 orange 2015-05-28 17:08:53 -07:00
Jeff Gilbert
c43f99a418 Bug 1144906 - Fast WebGL compositing on E10S. - r=jrmuizel,mattwoodrow,nical 2015-05-28 14:51:39 -07:00
Amanda Sambath
d17cf0f39a Bug 1157669 - Assert aGroupTarget is not null in PaintSelfOrChildren method. r=nical 2015-05-20 10:47:29 +02:00
Nathan Froyd
bb51644dac 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
9ab3ed5081 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
cfd509b083 Bug 1127752 - fixes for using Skia and OMTC with GTK3. r=jrmuizel 2015-05-13 11:54:17 +09:00
Thibaud Backenstrass
6909715d62 Bug 1158122 - Remove some occurences of nsIntRect in gfx/layers/. r=nical 2015-05-07 11:07:35 +02:00
Phil Ringnalda
67715d5d1b 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
d3b949cccd Bug 1144906 - Fast WebGL on E10S. - r=mattwoodrow,nical 2015-05-06 16:35:29 -07:00
Wes Kocher
c1c237afab Backed out changeset 93af6e2a390d (bug 1144906) for build bustage 2015-05-06 16:01:47 -07:00
Jeff Gilbert
f5810a4c28 Bug 1144906 - Support fast WebGL on E10S. - r=mattwoodrow,nical 2015-05-06 13:48:28 -07:00
Ryan VanderMeulen
e47a9d937c Backed out changesets 230adc57e016 and 61bd6e2c6e72 (bug 1072898) for reftest failures.
CLOSED TREE
2015-05-06 11:27:32 -04:00
Kearwood (Kip) Gilbert
f0d75f1b73 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
d652d87e4c Bug 1151749 - "Win-Only: Disabled Hardware Acceleration + CSS 3D transform on canvas -> black artefacts on hover". r=nical 2015-04-07 06:33:00 +02:00
Steve Singer
ce8af5f6ca Bug 1141642 - Fix disable-skia builds. r=jmuizelaar 2015-04-18 19:44:00 +02:00
Andrea Marchesini
e95d49e405 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
aa850abbcd Bug 1155621 - Remove no-op gfx2DGlue conversion helpers. r=Bas 2015-04-21 17:22:30 +02:00
Nicolas Silva
d93b5d5970 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
13f2a9a466 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)
73bcc83422 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
2015-04-11 22:03:00 -04:00
Jeff Muizelaar
7cbd8e4443 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)
2015-04-09 10:52:11 -04:00
Nicolas Silva
17671eabdb Bug 1132854 - Remove the gfx::ToIntSize conversion helper. r=Bas 2015-04-07 16:08:57 +02:00
Nicolas Silva
360af5d1db Bug 1132854 - Remove useless ThebesIntSize conversion helper. r=Bas 2015-03-29 16:59:15 +02:00
Nicolas Silva
e772a7013d Bug 1146912 - Finish replacing TextureHost::GetTextureSource by BindTextureSource. r=sotaro 2015-03-27 11:16:34 +01:00