Commit Graph

31 Commits

Author SHA1 Message Date
Andi-Bogdan Postelnicu
a97f610bf7 Bug 1317637 - Replace default bodies of special member functions with = default; in gfx/. r=jrmuizel
MozReview-Commit-ID: EWUpBvj5i6Z
2016-11-15 11:04:18 +02:00
Matt Woodrow
915a274bf8 Bug 1313281 - Part 4: Remove Fence parameter from TextureData::Lock. r=sotaro 2016-10-27 21:02:09 +13:00
Matt Woodrow
2dabc216dc Bug 1281456 - Decouple TextureForwarder and CompositableForwarder. r=gw280 2016-09-27 16:22:20 +13:00
Markus Stange
000c753119 Bug 1261166 - Add the ability to use IOSurface instead of texture upload on OS X. r=nical,mattwoodrow
Initial patch by Markus Stange, additional fixes by Kartikaya Gupta. The code
to use IOSurface is guarded by a pref that is disabled by default.

MozReview-Commit-ID: LbhsYu4zMRV
2016-06-27 11:25:13 -04:00
Nicolas Silva
99d9ac0ea9 Bug 1266396 - Make TextureClient more robust against racy shutdown situations. r=Bas 2016-04-22 18:05:26 +02:00
Markus Stange
bb14b85149 Bug 1241665 - Correctly convert IOSurfaces to SourceSurfaces in MacIOSurfaceTextureSourceBasic and MacIOSurfaceTextureData. r=mattwoodrow 2016-01-21 23:28:19 +01:00
Nicolas Silva
5267fdf32a Bug 1200595 - Consolidate the TextureClient's destruction logic. r=mattwoodrow 2015-11-20 14:25:03 +01:00
Nicolas Silva
3da60f997d Bug 1200595 - MacIOSurface TextureData implementation. r=mattwoodrow 2015-11-20 14:24:46 +01:00
Wes Kocher
76bed94f9a Backed out 12 changesets (bug 1200595) for b2g mochitest crashes in SharedBufferManagerParent CLOSED TREE
Backed out changeset cf8cf1a039dd (bug 1200595)
Backed out changeset 65da564f952c (bug 1200595)
Backed out changeset 7663208f1582 (bug 1200595)
Backed out changeset fc1fbb97c8eb (bug 1200595)
Backed out changeset 3ad5a4c457fe (bug 1200595)
Backed out changeset add3fe9afc0c (bug 1200595)
Backed out changeset 68aba6b39588 (bug 1200595)
Backed out changeset ab326c34f1cf (bug 1200595)
Backed out changeset ed34bc528a1b (bug 1200595)
Backed out changeset 0dc93424546c (bug 1200595)
Backed out changeset 8cc12f12f3d1 (bug 1200595)
Backed out changeset bb84403701b7 (bug 1200595)
2015-11-24 10:07:02 -08:00
Nicolas Silva
114bb1661a Bug 1200595 - Consolidate the TextureClient's destruction logic. r=mattwoodrow 2015-11-20 14:25:03 +01:00
Nicolas Silva
54a83c03ce Bug 1200595 - MacIOSurface TextureData implementation. r=mattwoodrow 2015-11-20 14:24:46 +01:00
Carsten "Tomcat" Book
f2da327ad7 Backed out 13 changesets (bug 1200595) for possibly breaking Reftest [TC] Crashtest tc-R on a CLOSED TREE
Backed out changeset e7278af0a484 (bug 1200595)
Backed out changeset c13228f84d85 (bug 1200595)
Backed out changeset 4b88e8a3d8af (bug 1200595)
Backed out changeset e55376bd2cf8 (bug 1200595)
Backed out changeset 9c27c8e2c021 (bug 1200595)
Backed out changeset a369a2983ceb (bug 1200595)
Backed out changeset 09e71ba15ea8 (bug 1200595)
Backed out changeset b555b130d439 (bug 1200595)
Backed out changeset 6819f6d82287 (bug 1200595)
Backed out changeset a8cdfbf443d8 (bug 1200595)
Backed out changeset 0092c9d7a86b (bug 1200595)
Backed out changeset 6dc38a1e6073 (bug 1200595)
Backed out changeset fe2164aa1468 (bug 1200595)
2015-11-20 16:55:26 +01:00
Nicolas Silva
51da7ff08c Bug 1200595 - Consolidate the TextureClient's destruction logic. r=mattwoodrow
* * *
Bug 1200595 - Rebase fixes
2015-11-20 14:25:03 +01:00
Nicolas Silva
3f1d42e349 Bug 1200595 - MacIOSurface TextureData implementation. r=mattwoodrow 2015-11-20 14:24:46 +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
Nicolas Silva
65ab142b26 Bug 1072313 - Never call TextureClient::KeepUntilFullDeallocation off the ipdl thread. r=mattwoodrow 2015-09-21 16:54:40 +02:00
Wes Kocher
778219cf27 Backed out changeset 09c2a214244b (bug 1072313) for Windows textureclient crashes CLOSED TREE 2015-09-21 10:37:07 -07:00
Nicolas Silva
f88df820fa Bug 1072313 - Never call TextureClient::KeepUntilFullDeallocation off the ipdl thread. r=mattwoodrow 2015-09-21 16:54:40 +02:00
Birunthan Mohanathas
a29151dc87 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
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
Ethan Lin
c5cd30776e Bug 1053563 - Use a static create function to replace InitWith for TextureClient. r=nical 2015-04-29 19:34:00 +02:00
Jean-Yves Avenard
91b590083b Bug 1153469: Ensure IOSurface isn't released before being composited. r=mattwoodrow 2015-04-12 18:22:07 +10:00
Ethan Lin
0e3c3ed07d Bug 1042696 - Set allocator to TextureClient from constructor. r=nical 2014-12-22 03:49:00 -05:00
Benoit Girard
63a5b13dee Bug 1112476 - Support dumping texture data on the ClientLayerManager. r=mstange 2014-12-18 13:32:45 -05:00
Robert O'Callahan
f8828b4875 Bug 1073252. Part 4: Flip hasAlpha to isOpaque for consistency. r=mattwoodrow 2014-10-30 15:32:41 +13:00
Sotaro Ikeda
49e7b8aab1 Bug 971946 - Remove TextureClientData r=nical 2014-05-14 06:29:52 -07:00
Matt Woodrow
83a14ea752 Bug 966543 - Ensure that the MacIOSurfaceTextureHost has taken a ref to the surface before letting the client side object be destroyed. r=nical 2014-02-04 12:25:22 +13:00
Nicolas Silva
33945ba0f6 Bug 952507 - Fix locking in double buffered ContentClient. r=nrc 2014-01-24 15:25:04 +01:00
Benoit Jacob
37e5ffc058 Bug 938970 - 1/5. Move MacIOSurfaceTexture* classes to separate files, minimize the number of cpp files including MacIOSurface.h - r=mattwoodrow 2013-11-17 21:04:38 -05:00