Commit Graph

133 Commits

Author SHA1 Message Date
David Anderson
8c98d77c9f Allow locklessly acquiring the TextureSources for ContentHosts. (bug 1365879 part 7, r=mattwoodrow) 2017-06-20 01:17:17 -07:00
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
a5ec83c4f5 Propagate the compositor through CompositableHost::Composite. (bug 1343814 part 4, r=mattwoodrow) 2017-03-21 20:32:55 -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
David Anderson
f66c19353f Remove Composer2D remnants. (bug 1339353, r=kats) 2017-02-14 12:29:39 -08:00
Matt Woodrow
53e1d350fc Bug 1325227 - Part 1: Remove synchronous transaction replies since they don't return any data we didn't already have. r=nical
MozReview-Commit-ID: 2HIbk65L7zR
2016-12-06 13:34:54 -10:00
Miko Mynttinen
45fcf4cf9c Bug 1274673 - Use binary space partitioning for sorting/drawing layers - Part 3: Use BSPTree for layer sorting r=jrmuizel,mattwoodrow
MozReview-Commit-ID: 3Hy4IRDFgaP
2016-12-06 13:39:01 -10:00
Jonathan Watt
356d59cd2f Bug 1277862, part 2 - Rename Moz2D's Filter to SamplingFilter in the rest of gfx/. r=Bas 2016-05-25 17:01: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
Nicholas Nethercote
cd54d824b6 Bug 1239864 (part 6) - Use the new rect iterators in gfx/. r=nical. 2016-01-18 17:20:58 -08:00
Bogdan Postelnicu
f24ac2d405 Bug 1230149 - check bigImgIter to see if it's not null. r=jmuizelaar 2015-12-03 06:46:00 +01:00
Botond Ballo
5458631b3c 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).
2015-12-02 18:52:00 -05:00
Bas Schouten
a2459d66b0 Bug 1216349: Upload the old valid region as well if our texture host changed. r=nical 2015-10-25 16:00:59 +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
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
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
Amanda Sambath
f89f621f37 Bug 1158120 - Replace nsIntSize by mozilla::gfx::IntSize in gfx/layers. r=nical 2015-06-03 13:45:24 +02:00
CJKu
b772559796 Bug 1168015 - Dump source image from graphic buffer directly on B2G. r=kamidphish, r=hshih 2015-05-28 02:30:00 -04:00
Kartikaya Gupta
6468cd73ed Bug 1022080 - Make non-HTML dumping of textures work better. r=nical 2015-05-12 09:16:54 -04:00
Thibaud Backenstrass
253b857733 Bug 1158122 - Remove all occurences of nsIntRect in gfx/layers/composite. r=nical 2015-05-07 11:07:42 +02:00
Nicolas Silva
d73f54cb00 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
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
141baec3fb Bug 1111258 - Allow dumping textures without MOZ_DUMP_PAINTING. r=mstange 2014-12-16 18:39:43 -05:00
Benoit Girard
d3aaee3e6a Bug 1097941 - Properly disable paint-will-resample on b2g. r=jmuizel 2014-11-28 18:42:20 -05:00
Nicolas Silva
53260df28f Bug 1098000 - Track the number of compositable references to TextureHost and only unbind gralloc textures after the last ref goes away. r=sotaro 2014-11-17 11:06:25 +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
Nicolas Silva
7a57c1cd43 Bug 1077307 - Merge NewTextureSource and TextureSource. r=sotaro 2014-10-07 15:58:59 +02:00
Nicolas Silva
68343c9381 Bug 1066678 - Show the buffer rect rather than the visible region in thebes layer borders. r=BenWa 2014-09-23 17:48:17 -04:00
Matt Woodrow
1fb6dcecf7 Bug 1048110 - Expand complex visible regions if we're going to be resampling when using tiling. r=Bas 2014-08-04 15:29:55 +12:00
Boris Chiou
5203a8f909 Bug 975346 - Part 1: General functions for Effects. r=dglastonbury
1. Support GenEffectChain() for LayerComposite.
   Each layer can use this API to gen the
   EffectChain (only primary effect now)
2. Support GenEffect() for CompositableHost.
3. Move AutoLock to compositeHost.
2014-06-22 19:06:00 +02:00
Benoit Girard
c36e97ca50 Bug 1027496 - Stream display list and layers dump. r=mattwoodrow 2014-06-19 18:36:25 -04:00
Jeff Gilbert
6b722909fc Bug 1000640 - Use new StreamTextureClient/Host with OMTC. - r=mattwoodrow 2014-06-18 17:04:06 -07:00
Nicolas Silva
2cd0cb79ba Bug 1000103 - Fix intermittent OSX crash in TextureImageTextureSourceOGL::GetFormat. r=mattwoodrow 2014-06-09 17:30:53 -04:00
Wes Kocher
5de84ad908 Backed out changeset 3a764e34c366 (bug 1000640) 2014-06-04 18:27:22 -07:00
Jeff Gilbert
c1ad500e63 Bug 1000640 - Use new StreamTextureClient/Host with OMTC. - r=mattwoodrow 2014-06-04 15:20:26 -07:00
Benoit Girard
961dcf3395 Bug 1005328 - Layers.dump output should be consistent with newlines. r=bottond 2014-05-02 17:29:29 -04:00
Benoit Jacob
d8f30bb270 Bug 987311 - 6/6 - Convert the rest of CompositorTypes.h to typed enums, final manual changes - r=nical 2014-04-25 22:34:06 -04:00