Commit Graph

128 Commits

Author SHA1 Message Date
David Anderson
569787dba9 Propagate D3D9 device resets to remote layers. (bug 1245765 part 2, r=mattwoodrow) 2016-02-29 01:53:12 -05: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
Nicolas Silva
9e20942d69 Bug 1250500 - Avoid copying BufferTextureHost when possible. r=sotaro 2016-02-25 14:15:52 +01:00
Bas Schouten
36d729fab3 Bug 1232042: Execute an additional present for D3D11 on the compositor thread when a WM_PAINT event has returned. r=jrmuizel 2016-02-24 03:50:09 +00:00
Phil Ringnalda
a5861fc16a Back out 6a24b31747be (bug 1232042) for crashes @RecvForcePresent
CLOSED TREE
2016-02-23 21:27:46 -08:00
Bas Schouten
fd04611c7c Bug 1232042: Execute an additional present for D3D11 on the compositor thread when a WM_PAINT event has returned. r=jrmuizel 2016-02-24 03:50:09 +00:00
David Anderson
7b6e752abc Add software mix-blend mode support to the D3D9 compositor. (bug 1243071 part 3, r=bas,mattwoodrow) 2016-02-01 16:28:00 -08:00
David Anderson
d11fbc361b Remove Compositor::mRenderBounds. (bug 1243071 part 1, r=mattwoodrow) 2016-02-01 16:27:38 -08:00
David Anderson
387414f2ea When mix-blending, only copy intersecting backdrop pixels. (bug 1235995 part 2, r=mattwoodrow)
--HG--
extra : rebase_source : 8f667d6e2c60c886b2ca8db8f7c678cc3684bd51
2016-01-19 13:28:08 +07:00
David Anderson
8f61148e20 Add full mix-blend mode support to the OpenGL compositor. (bug 1235995 part 1, r=mstange)
--HG--
extra : rebase_source : 6d0e32671be60f4a2bebdbf1b2cfade8c9fc0539
2016-01-19 13:24:19 +07:00
Sotaro Ikeda
4f26117e33 Bug 1049296 - Handle Sideband stream compositing in HwcComposer2D r=mwu,nical 2016-01-18 20:52:32 -08: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
Botond Ballo
0858698ac3 Bug 1069417 - Generalize Matrix4x4 into Matrix4x4Typed<SourceUnits, TargetUnits>. r=Bas
Matrix4x4 remains a typedef for Matrix4x4Typed<UnknownUnits, UnknownUnits>.

No client code needed changing, except for forward-declarations of Matrix4x4
as a class (since it's now a typedef).

--HG--
extra : rebase_source : ecd9470b9defcc55cfb9e7dbd26e928a6219c3e5
extra : source : 0fc99b5490830953f37a4d8769e42dad2d10bc6e
2015-12-02 18:52:00 -05:00
Botond Ballo
5bf85e9f9d Bug 1220923 - Make nsIntRegion a typedef for IntRegionTyped<UnknownUnits>. r=nical
--HG--
extra : source : 1f371f014048ed4c3c25095233fea927311a7e23
2015-11-04 11:49:49 -05:00
Sotaro Ikeda
d7e0a22d6a Bug 1210182 - Implement GrallocTextureHostBasic r=nical 2015-10-26 22:43:07 -07: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
David Anderson
3716363c72 Remove the static compositor backend variable. (bug 1211109 part 2, r=mattwoodrow) 2015-10-05 23:39:00 -07:00
Sotaro Ikeda
163cac6110 Bug 1192352 - Fix fence handling of display mirroring r=nical 2015-08-13 06:52:49 -07:00
Bobby Holley
b881db962e Bug 1167215 - Composite on every vsync until the scheduled one. r=roc 2015-08-02 17:36:42 -07: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
Benoit Girard
f1dc8b79a7 Bug 1186159 - Add an APZ minimap. r=kats
--HG--
extra : commitid : Iqp1Id5IZsI
extra : rebase_source : 47afb423bc1d96df97e54f1d23fb8f87cfe0419b
2015-07-23 11:29:22 -04: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
Robert O'Callahan
def8dbd2fe Bug 1181085 - Don't accumulate ImageCompositeNotifications when we're compositing to a DrawTarget. r=nical
CLOSED TREE

--HG--
extra : transplant_source : 5%83%29%C7%C1%EB%FCC%E9%0B%CC%E3%91%1D%AA%E4%AF_v%12
2015-07-08 00:12:24 +12:00
Robert O'Callahan
904f16b7e1 Bug 1143575. Ensure we schedule another composite if ImageHost has pending images. r=nical
--HG--
extra : commitid : BLBkIe24S4Z
extra : rebase_source : f710a0908f9336a9a30733b7ffb297da5feeff54
2015-03-19 19:58:16 +13:00
Robert O'Callahan
d42119a3f1 Bug 1143575. Store composition time in Compositor. r=nical
We'll need this later so ImageHost can select the correct image to use.

Adding a TimeStamp parameter to BeginFrame is a bit annoying since BeginFrame
is overridden by every subclass. It's a bit more convenient to just call a
separate non-virtual method just before we call BeginFrame.

--HG--
extra : commitid : 3QUviDozXL
extra : rebase_source : ba6bc3d846606f3f7598f4a3b687b68746067ce3
2015-07-07 15:38:38 +12: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
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
Thibaud Backenstrass
f8d4cbad76 Bug 1158122 - Remove the remaining occurences of nsIntRect in gfx/layers. r=nical 2015-05-07 11:07:53 +02:00
Sotaro Ikeda
5879b59690 Bug 1152370 part 3 - Use DisplaySurface r=mwu 2015-04-23 06:49:40 -07: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
e3eaf89e3f Bug 1132854 - Make nsIntSize a typedef of gfx::IntSize. r=Bas, roc 2015-03-29 16:59:08 +02:00
Nicholas Nethercote
b4adaf93a3 Bug 1117639 - Remove AbortFrame() because it is dead. r=bas.
--HG--
extra : rebase_source : 7df4840fb99dc025ee102d9697097caa4034fa6d
2015-01-05 15:54:51 -08: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
Benoit Girard
33d6ca45fb Bug 1089380 - Remove ClipRectInLayersCoordinates. r=mattwoodrow
--HG--
extra : rebase_source : d20c08c804f45f2a6baee9063d0e73bf755054ae
2014-10-31 16:34:30 -04: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
Nicolas Silva
f1166bf04f Bug 1077301 - Simplify the gralloc texture code. r=sotaro 2014-10-16 19:08:32 +02:00
Jeff Gilbert
44490638fd Bug 1088417 - DecomposeIntoNoRepeatRects for D3D11. - r=nical 2014-10-23 17:08:06 -07: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
Nicolas Silva
833ec9bb3d Bug 1077301 - Simplify the gralloc texture code. r=sotaro 2014-10-16 19:08:32 +02:00
L. David Baron
731e55f016 Back out changeset 197317c196cf (bug 1077301) for apparently breaking component alpha on some Windows variants (perhaps those without accelerated layers backends). 2014-10-20 00:23:46 -04:00
Nicolas Silva
52335c4b52 Bug 1077301 - Simplify the gralloc texture code. r=sotaro 2014-10-16 19:08:32 +02:00
Ryan VanderMeulen
95c05d4b68 Backed out changeset d16adf321576 (bug 1077301) for B2G bustage.
CLOSED TREE
2014-10-16 14:38:29 -04:00
Nicolas Silva
d90c3a1c7d Bug 1077301 - Simplify the gralloc texture code. r=sotaro 2014-10-16 19:08:32 +02:00
Nicolas Silva
f26be8e3fa Bug 1077307 - Merge NewTextureSource and TextureSource. r=sotaro 2014-10-07 15:58:59 +02:00
Sotaro Ikeda
bae6e432e4 Bug 1067455 - Reduce Fence::merge() call on compositor thread r=nical 2014-10-06 15:45:03 -07:00
Phil Ringnalda
674424f954 Back out ef1cd14c8cac (bug 1067455) for Windows assertion failures
CLOSED TREE
2014-10-05 19:16:56 -07:00