Commit Graph

85 Commits

Author SHA1 Message Date
Miko Mynttinen
82bb4c3e48 Bug 1323797 - Add compositor support for triangle layers (for BasicCompositor backend) - Part 3: Implement DrawPolygon() with Paths r=mattwoodrow
MozReview-Commit-ID: FjxDlzdhqor
2017-01-10 20:48:44 +02:00
Sotaro Ikeda
babd939cf1 Bug 1317656 - Cleanup more gonk/b2g dependent code r=nical 2016-11-15 22:01:30 -08:00
Sotaro Ikeda
85f2d33a46 Bug 1259571 - Reduce tearing with basic layers on Windows r=dvander 2016-08-23 15:18:55 -07:00
Carsten "Tomcat" Book
52c300009e Backed out changeset 02d76f158f3d (bug 1259571) for talos xperf regressions 2016-08-08 11:53:51 +02:00
Sotaro Ikeda
b1f37d42eb Bug 1259571 - Try tearing-free drawing with GDI r=dvander,mattwoodrow 2016-08-07 23:54:12 -07:00
Sotaro Ikeda
51ac1827bf Bug 1254011 - Avoid allocating RGB buffer for YUV data everytime r=nical 2016-07-08 18:59:59 -07:00
eyim
64b54776c4 Bug 1002846 - Add telemetry to OpenGL compositor r=BenWa
MozReview-Commit-ID: 1HA0dmX0SmN
2016-07-05 15:41:21 -04:00
David Anderson
19ade82818 Rename CompositorWidgetProxy files to CompositorWidget. (bug 1281998 part 2, r=jimm) 2016-07-01 01:15:16 -07:00
Phil Ringnalda
89deea28e2 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)
2016-06-29 19:35:24 -07:00
David Anderson
4a6d8ea9f0 Rename CompositorWidgetProxy files to CompositorWidget. (bug 1281998 part 2, r=jimm) 2016-06-29 16:47:22 -04:00
Sotaro Ikeda
cc18201e0b Bug 1252835 - Make TextureHost recycling implicit r=nical 2016-06-15 04:28:10 -07:00
Jonathan Watt
9c5b8de022 Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
Jeff Muizelaar
69909eb9c0 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
4e66096f2c Backed out changeset b15136f926ca (bug 1272778) for build bustage 2016-05-13 16:05:12 -07:00
Jeff Muizelaar
1e05ef0499 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
David Anderson
63d935532b 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
5eaae378f7 Hoist mWidget into the Compositor base class. (bug 1264545 part 1, r=nical) 2016-04-29 19:20:40 -04:00
Nicolas Silva
1784835c04 Bug 1258768 - Check compositor backends before casting. r=dvander 2016-04-14 12:38:38 +02:00
Nicolas Silva
5b818be1b7 Bug 1215265 - Shut PCompositorBridge down properly. r=sotaro 2015-11-24 14:50:51 +13:00
Sotaro Ikeda
d9e33fb961 Bug 1259541 - Reduce clearing backbuffer in nsBaseWidget::CreateBackBufferDrawTarget() r=mattwoodrow 2016-04-04 18:25:04 -07:00
David Anderson
0a12bb0e91 Block compositable updates from stale layers. (bug 1256517 part 4, r=mattwoodrow,nical) 2016-03-25 01:38:55 -07:00
Sebastian Hengst
6b56304f56 Backed out changeset 27a8a01abf66 (bug 1256517) 2016-03-23 18:57:22 +01:00
David Anderson
ce5e68d14d Block compositable updates from stale layers. (bug 1256517 part 4, r=mattwoodrow,nical) 2016-03-23 10:32:34 -07:00
Sotaro Ikeda
d536f81d72 Bug 1255303 - Use SurfaceFormat::B8G8R8X8 as back buffer if possible r=jrmuizel 2016-03-16 18:30:41 -07:00
Lee Salzman
a1983144f8 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
Nicolas Silva
b32137e3d8 Bug 1250500 - Avoid copying BufferTextureHost when possible. r=sotaro 2016-02-25 14:15:52 +01:00
Lee Salzman
1af66c764f Bug 1019856 - avoid double-buffering in BasicCompositor when window allows it. r=mattwoodrow 2016-02-18 20:57:29 -05:00
Milan Sreckovic
b873f75eaf Bug 1187464 - Part 2. RTTI for TextureSource debug purposes. Carry r=botond 2016-02-08 11:57:00 +01:00
Carsten "Tomcat" Book
d6a39e4f80 Backed out changeset 0cee3cdcce99 (bug 1187464) 2016-02-03 15:04:21 +01:00
Milan Sreckovic
18f168cc1b Bug 1187464 - Part 2. RTTI for TextureSource debug purposes. r=botond 2016-02-02 11:06:00 +01:00
Nicholas Nethercote
cc38e48566 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.
2016-01-13 15:27:34 -08:00
Nicholas Nethercote
21fd395339 Bug 1239530 (part 2) - Use LayoutDevice coordinates in {Start,End}RemoteDrawingInRegion() and related functions. r=kats. 2015-12-02 22:29:54 -08:00
Sotaro Ikeda
f0b43449ae Bug 1218617 - Invalidate whole widget area after external composition r=mattwoodrow 2015-10-27 22:56:27 -07:00
Sotaro Ikeda
f8586d9f85 Bug 1215364 - Implement BasicCOmpositor::EndFrameForExternalComposition r=nical 2015-10-25 22:41:57 -07:00
Nathan Froyd
4e6d8f6705 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
2015-10-18 01:24:48 -04:00
Nathan Froyd
bf7f6dda03 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
fa8b34d98a Bug 1215027 - Fix EndFrameForExternalComposition() r=nical 2015-10-15 17:53:44 -07:00
David Anderson
1a4428bb7b Support all blend modes in the basic compositor. (bug 1203829 part 1, r=mattwoodrow) 2015-09-15 13:07:05 -07:00
Vladimir Vukicevic
b32faccead 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
Nicolas Silva
00587681b3 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
Nathan Froyd
92a8124fef 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
Kearwood (Kip) Gilbert
47e5ded309 Bug 766345 - Part 1 - Implement DEAA Antialiasing for transformed layers (v5 Patch). r=vladimir, r=djg 2014-12-17 16:28:45 -08:00
Andrea Marchesini
b8630baa2d Bug 1156632 - Remove unused forward class declarations - patch 6 - the rest of the tree, r=ehsan 2015-04-22 08:29:24 +02:00
Ehsan Akhgari
ea41d8de48 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
David Anderson
eea61cd9aa Implement GetMaxTextureSize in the basic compositor. (bug 1135883, r=mattwoodrow) 2015-02-24 13:39:01 -08:00
Nicholas Nethercote
b6036175c1 Bug 1117639 - Remove AbortFrame() because it is dead. r=bas. 2015-01-05 15:54:51 -08:00
Ehsan Akhgari
b7fb61e254 Bug 1117263 follow-up: Fix a build bustage in opt builds 2015-01-03 12:38:20 -05:00
Ehsan Akhgari
2b0bc024d5 Bug 1117263 - Mark virtual overridden functions as MOZ_OVERRIDE in graphics layers code; r=roc 2015-01-03 12:21:23 -05:00
Benoit Girard
6f6cda359f Bug 1087530 - Retain container's intermediate surfaces for up to one frame. r=jmuizelaar 2014-11-03 17:27:32 -05:00
Carsten "Tomcat" Book
45e1979ee5 Backed out changeset 48667a14f94d (bug 1092360) for test bustage / crashes on a CLOSED TREE 2014-11-14 08:14:22 +01:00