Commit Graph

137 Commits

Author SHA1 Message Date
David Anderson
b2fec055bc Attach Compositables to TextureSourceProviders instead of Compositors. (bug 1343814 part 5, r=mattwoodrow) 2017-03-21 20:32:56 -07:00
David Anderson
f9963c08b4 Replace TextureHost compositor access with TextureSourceProvider. (bug 1343814 part 3.1, r=mattwoodrow) 2017-03-21 20:32:54 -07:00
sotaro
f3c6cc111a Bug 1339625 - Force clear Texture r=kats 2017-02-17 21:00:16 +09:00
David Anderson
dfedfb6a67 Move composition time from Compositor to HostLayerManager. (bug 1339688 part 1, r=mattwoodrow) 2017-02-15 19:03:20 -08:00
sotaro
79b93e6b98 Bug 1336021 - Add WebRenderImageHost r=nical 2017-02-08 21:50:16 +09:00
David Anderson
02848eb570 Remove PCompositable. (bug 1323957 part 5, r=mattwoodrow) 2017-01-17 18:47:07 -08:00
David Anderson
b1ad9c7a26 Link Compositables via IDs instead of actors. (bug 1323957 part 4, r=mattwoodrow) 2017-01-17 18:47:06 -08:00
David Anderson
d9b1a128e3 Remove PImageContainer. (bug 1325784 part 5, r=nical) 2017-01-04 10:19:30 -05:00
David Anderson
dff9aea4b9 Use async compositable IDs for image composite notifications. (bug 1325784 part 4, r=nical) 2017-01-04 10:19:30 -05:00
David Anderson
ea90e1e9d4 Move CompositableMap into ImageBridge. (bug 1325784 part 2, r=nical) 2017-01-04 10:19:29 -05:00
Matt Woodrow
1190a416f9 Bug 1223736 - Part 3: Remove the distinction between 2d and 3d masks since it only adds complexity. r=Bas 2016-03-22 09:10:37 +13:00
Nicolas Silva
0061e505e2 Bug 1221056 - Make the destroy messages for PTexture and PCompositable part of the current transaction when applicable. r=sotaro 2016-01-07 11:17:40 +01:00
Johan Lorenzo
d74e322301 Backout Bug 1221056 - make the destroy messages for PTexture and PCompositable part of the current transaction when applicable. r=sotaro
For breaking Firefox OS boot startup (see bug 1237197)
2016-01-06 14:59:35 +01:00
Nicolas Silva
6d9176802f Bug 1221056 - make the destroy messages for PTexture and PCompositable part of the current transaction when applicable. r=sotaro 2016-01-05 14:03:26 +01:00
Sotaro Ikeda
67ee026f82 Bug 1205713 - Merge ImageHostOverlay/ImageClientOverlay to ImageHost/ImageClient r=nical 2015-12-29 01:07:33 -08:00
Nicolas Silva
b3bca19faa Bug 121976 - Add a destruction handshake to PCompositable so as to avoid races between messages and the protocol. r=sotaro 2015-11-06 16:56:03 +01: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
Bobby Holley
710865df63 Bug 1188696 - Hoist nsRefPtr.h into MFBT. r=froydnj 2015-07-29 10:44:59 -07:00
Robert O'Callahan
1bebcba55f Bug 1143575. Route ImageCompositeNotifications to ImageContainers. r=nical
For frame statistics to work properly, we have to notify an ImageContainer
when it has been composited. This requires a few changes, which have
been lumped together in this patch:
-- Create PImageContainer and ImageContainerParent/ImageContainerChild.
-- Add mFrameID and mProducerID everywhere we're passing around images.
-- Route composition notifications from the compositor back to
ImageContainerChild.
2015-07-06 15:02:26 +12:00
Robert O'Callahan
c88d9dbed3 Bug 1143575. Extend IPDL OpUseTexture to support multiple timestamped images. r=nical 2015-05-04 22:59:02 +12:00
Robert O'Callahan
c894f75130 Bug 1143575. Pass a picture rect with OpUseOverlaySource and OpUseTexture, and eliminate OpUpdatePictureRect. r=nical
The picture rect logically belongs with the texture, and later patches will
make OpUseTexture take multiple textures, each of which needs its own
picture rect.
2015-07-04 10:52:42 +12: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
Nathan Froyd
43cddcfc0d 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
Kartikaya Gupta
986c69de3d Bug 1022080 - Dump compositable textures as something that we can paste into the URL bar. r=nical 2015-05-12 09:16:54 -04:00
Nicolas Silva
d88ccba361 Bug 1147894 - Only use non-null compositors with TextureHost::SetCompositor. r=sotaro 2015-03-27 11:16:18 +01:00
Sotaro Ikeda
8d2b797f16 Bug 1124907 - Call SetCompositor() only when it is valid r=nical 2015-03-24 07:21:15 -07: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
Jeff Muizelaar
6cbfabbc4c Bug 1141864. Replace a bunch nsAutoPtr.h includes with nsRefPtr.h 2015-03-10 20:48:09 -04:00
Benoit Girard
caff1329d4 Bug 1135857 - Remove ContentClientIncremental. r=mattwoodrow 2015-02-23 18:22:06 -05:00
Benoit Girard
d15b0b76fd Bug 1111258 - Bustage fix. r=mstange 2014-12-16 21:32:58 -05:00
Benoit Girard
4016d4d437 Bug 1105834 - Part 3: Add lz4 support to layers.dump-texture. r=jrmuizel 2014-12-08 14:42:33 -05:00
Benoit Girard
d63ecdc725 Bug 1105834 - Part 2: Add layers.dump-texture feature. r=mstange 2014-11-28 17:41:47 -05:00
Wes Kocher
45d5855d14 Backed out 3 changesets (bug 1105834) for non-unified bustage
Backed out changeset 33592fd41f1f (bug 1105834)
Backed out changeset c3e505887e9f (bug 1105834)
Backed out changeset 6aad17f431d1 (bug 1105834)
2014-12-08 17:15:46 -08:00
Benoit Girard
b3d1b4bc18 Bug 1105834 - Part 3: Add lz4 support. r=jrmuizel 2014-12-08 14:42:33 -05:00
Benoit Girard
285d0437e8 Bug 1105834 - Part 2: Add layers.dump-texture feature. r=mstange 2014-11-28 17:41:47 -05:00
Nicolas Silva
50eb75002d Bug 1101636 - Cleanup the CompositorType enum. r=jrmuizel 2014-11-26 02:00:34 +01:00
Nicolas Silva
bde710ee12 Bug 1101552 - Remove the double-buffered ImageClient. r=sotaro 2014-11-20 19:49:51 +01:00
Nicolas Silva
6ea204e520 Bug 1077301 - Simplify the gralloc texture code. r=sotaro 2014-10-16 19:08:32 +02:00
Ryan VanderMeulen
2211ee6ae4 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
0de37868e9 Bug 1077301 - Simplify the gralloc texture code. r=sotaro 2014-10-16 19:08:32 +02:00
L. David Baron
93b8d0608e 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
a2cb98c27c Bug 1077301 - Simplify the gralloc texture code. r=sotaro 2014-10-16 19:08:32 +02:00
Ryan VanderMeulen
7a57c1a082 Backed out changeset d16adf321576 (bug 1077301) for B2G bustage.
CLOSED TREE
2014-10-16 14:38:29 -04:00
Nicolas Silva
1619f4f6ab Bug 1077301 - Simplify the gralloc texture code. r=sotaro 2014-10-16 19:08:32 +02:00
Sotaro Ikeda
a9bf07a253 Bug 1017351 - Handle Sharing GrallocTextureHostOGL among ImageHosts r=nical 2014-09-26 04:30:11 -07:00
chiajung hung
bcd394f716 Bug 1002823 - [Stingray] Add a new kind of image layer without graphic buffer for overlaying video input. r=nical 2014-08-18 22:14:00 -04:00
Nicolas Silva
b7259dcf2b Bug 1043929 - Unlock the mask texture in case of failure. r=Bas 2014-07-28 14:58:20 +02:00
Jonathan Watt
b61ae274f5 Bug 1031055 - Get rid of the Thebes backed gfxContexts in FrameLayerBuilder.cpp, and get rid of gfxASurface::DumpAsDataURL. r=mattwoodrow 2014-06-27 12:19:40 +01:00
Benoit Girard
c36e97ca50 Bug 1027496 - Stream display list and layers dump. r=mattwoodrow 2014-06-19 18:36:25 -04:00