Commit Graph

38 Commits

Author SHA1 Message Date
David Anderson
6353c6e1a0 Factor POD attributes of Layers into a SimpleLayerAttributes class. (bug 1332567 part 5, r=mattwoodrow) 2017-01-24 16:41:18 -08:00
sotaro
9ad651360d Bug 1307458 - Update LayerManager pointer of all Layers of LayerTransactionParent r=mattwoodrow 2017-01-13 10:15:49 +09: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
Bas Schouten
cd0155b68f Bug 1317843 - Split LayerManagerComposite into two classes. r=jrmuizel 2016-11-24 18:11:27 +13:00
Kearwood (Kip) Gilbert
f9fd286412 Bug 1250244 - Part 2: Remove old VR rendering paths,r=gw280
MozReview-Commit-ID: 8H7spQggI2w
2016-05-27 13:49:04 -07:00
Carsten "Tomcat" Book
1ca49612e3 Backed out changeset 1b8e6e22a983 (bug 1275694) for test failures in checkerboard-3.html 2016-06-09 08:54:34 +02:00
Matt Woodrow
503755dd12 Bug 1275694 - Use the presence of checkerboarding to decide when to override the clip rect rather than always using the client side visible rect. r=botond 2016-06-09 16:36:12 +12:00
Matt Woodrow
352a874990 Bug 1265468 - Invalidate all layers when dragging a tab to a new window. r=nical 2016-05-26 18:40:07 +12:00
Sebastian Hengst
ded5f126fa Backed out changeset 4d417e2c21ff (bug 1265468) for asserting in LayerManagerComposite.cpp on OS X 10.10 debug with e10s. r=backout 2016-05-26 10:45:39 +02:00
Matt Woodrow
15313030d5 Bug 1265468 - Invalidate all layers when dragging a tab to a new window. r=nical 2016-05-26 18:40:07 +12: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
Vladimir Vukicevic
5aa25befad Bug 1179944, [webvr] support Oculus 0.6.0 runtime and rendering; r=mstange
---
 gfx/2d/Quaternion.h                              |  10 +
 gfx/layers/Layers.h                              |   6 +-
 gfx/layers/composite/ContainerLayerComposite.cpp | 161 +++++++---
 gfx/layers/composite/ContainerLayerComposite.h   |   3 +
 gfx/thebes/gfxPrefs.h                            |   2 +
 gfx/vr/gfxVR.cpp                                 |  56 ++++
 gfx/vr/gfxVR.h                                   |  37 +++
 gfx/vr/gfxVRCardboard.cpp                        |  54 +---
 gfx/vr/gfxVROculus.cpp                           | 367 +++++++++++++++--------
 gfx/vr/gfxVROculus.h                             |  14 +-
 gfx/vr/moz.build                                 |  10 +
 gfx/vr/ovr_capi_dynamic.h                        | 261 +++++++++++-----
 modules/libpref/init/all.js                      |   3 +
 13 files changed, 694 insertions(+), 290 deletions(-)
2015-07-02 11:58:24 -04:00
Benoit Girard
1fa8d9718d Bug 1186159 - Add an APZ minimap. r=kats 2015-07-23 11:29:22 -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
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
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
Botond Ballo
70e324a117 Bug 1076241 - Add an API for setting a resolution on a document and scaling it by that amount. r=kats,tn 2015-01-02 20:06:14 -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
c7311885a6 Bug 1098495 - Retain a container's intermediate surface's content. r=mattwoodrow 2014-11-18 17:33:36 -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
Benoit Girard
b53c7a7ac8 Bug 1092360 - Avoid redundant framebuffer switches. r=jrmuizel 2014-11-12 17:39:17 -05:00
David Parks
d7e8a996ec Bug 918634 - swapFrameLoader not implemented for e10s r=nical
Allow layers to change layermanager if using LayerManagerComposite.
2014-10-14 15:11:38 -07:00
Benoit Girard
1acbaee0d2 Bug 1010584 - Part 1: Introduce RenderTargetPixel. r=mwoodrow 2014-07-30 14:36:15 -04:00
Ehsan Akhgari
6ad78acff0 Bug 1050609 - Fix more bad implicit constructors in gfx/layers; r=roc 2014-08-20 00:55:14 -04:00
Jeff Muizelaar
4599ac984b Bug 1037220. Reorder rendering to avoid render target switches. r=mwoodrow,bgirard
Before we would for example draw the background, switch to a container layers's
render target, draw to that, switch back the render target draw the
container layer, move on to the next container layer etc.

This render target switching is especially bad for mobile gpus (like adreno
that needs to move things in and out of gmem).

This change switches to a two pass approach that renders all of the container
layers first (unless they need a copy of the background) and then composites
everything all together.
2014-07-15 16:26:20 -04:00
Benoit Girard
28eb7316ee Bug 1037691 - Fix instances where refcounted classes expose a public destructor. r=ehsan,bent,mayhemer,jrmuizel 2014-07-15 11:37:45 -04:00
David Zbarsky
b8816e2953 Bug 952977: Convert ComputeEffectiveTransforms to gfx::Matrix4x4 r=nical 2014-01-27 10:28:04 -05:00
Benoit Girard
64d7fffdfd Bug 936511 - Add layers.dump to dump layer tree. r=bas,nrc 2013-11-17 16:47:40 -05:00
Matt Woodrow
e0cd223ec5 Bug 35380 - Part 5: Remove aOffset from everywhere. r=nrc 2013-11-07 22:53:08 +13:00
Nicholas Cameron
5e439330e8 Bug 786412. Conslidate container layer methods. r=mattwoodrow 2013-09-02 10:19:18 +12:00
Nicholas Cameron
6ff5d55180 Bug 903816. Include-what-you-use for gfx/layers. r=roc 2013-08-12 11:17:23 +12:00
Nicolas Silva
76c25a1b0a Bug 856079 - Merge ShadowLayer and LayerComposite (keeping the later). r=nrc 2013-04-25 18:25:33 -04:00
Ryan VanderMeulen
6c68f704b3 Backed out changeset 4b7de1f2b4a0 (bug 856079) for various test failures.
CLOSED TREE
2013-04-24 11:28:05 -04:00
Nicolas Silva
f653739991 Bug 856079 - Merge ShadowLayer and LayerComposite (keeping the later). r=nrc 2013-04-24 15:40:26 -04:00
Nicolas Silva
ee77840a7b Bug 863324 - Rename PLayers into PLayerTransaction, r=jrmuizel 2013-04-24 14:42:40 -04:00
Bas Schouten
b439abe1f3 Bug 825928: Land layers refactoring. r=jrmuizel,bas,nical,mattwoodrow,roc,nrc,benwa,bjacob,jgilbert,kchen CLOSED TREE
Please contact Bas Schouten <bschouten@mozilla.com>, Nicolas Silva <nsilva@mozilla.com> or Nicholas Cameron <ncameron@mozilla.com> with general questions. Below is a rough list of authors to contact with specific questions.

Authors:
gfx/layers/Compositor.* gfx/layers/Effects.h - Compositor Interface - bas,nrc,nical
gfx/layers/d3d* - D3D9/D3D10 - bas
gfx/layers/ThebesLayer* - ThebesLayers - nrc,bas
gfx/layers/composite/* - CompositeLayers - nrc,nical
gfx/layers/client/* - Client - nrc,nical,bas
gfx/layers/*Image* - nical
gfx/layers/ipc ipc - IPC - nical
gfx/layers/opengl - CompositorOGL - nrc,nical
gfx/2d - bas,nrc
gfx/gl - GLContext - bjacob
dom/* layout/* - DOM - mattwoodrow
2013-04-10 09:20:52 +00:00