Commit Graph

115 Commits

Author SHA1 Message Date
Botond Ballo
ecac74cd13 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
Botond Ballo
b4f149d49f Bug 1220923 - Make nsIntRegion a typedef for IntRegionTyped<UnknownUnits>. r=nical 2015-11-04 11:49:49 -05:00
Sotaro Ikeda
71d19d0328 Bug 1210182 - Implement GrallocTextureHostBasic r=nical 2015-10-26 22:43:07 -07:00
Nathan Froyd
9c5965b035 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
e504437747 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
4d704f7021 Remove the static compositor backend variable. (bug 1211109 part 2, r=mattwoodrow) 2015-10-05 23:39:00 -07:00
Sotaro Ikeda
caffe42db7 Bug 1192352 - Fix fence handling of display mirroring r=nical 2015-08-13 06:52:49 -07:00
Bobby Holley
772b07e3af Bug 1167215 - Composite on every vsync until the scheduled one. r=roc 2015-08-02 17:36:42 -07:00
Vladimir Vukicevic
edc0cc2ab3 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
57030ee10d Bug 1186159 - Add an APZ minimap. r=kats 2015-07-23 11:29:22 -04:00
Birunthan Mohanathas
e52329c788 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
e701b816c3 Bug 1181085 - Don't accumulate ImageCompositeNotifications when we're compositing to a DrawTarget. r=nical
CLOSED TREE
2015-07-08 00:12:24 +12:00
Robert O'Callahan
4ea78a5cc2 Bug 1143575. Ensure we schedule another composite if ImageHost has pending images. r=nical 2015-03-19 19:58:16 +13:00
Robert O'Callahan
3cd1184fdf 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.
2015-07-07 15:38:38 +12:00
Nathan Froyd
46d6f38e68 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
b3eb214735 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
b40b8ace13 Bug 1158122 - Remove the remaining occurences of nsIntRect in gfx/layers. r=nical 2015-05-07 11:07:53 +02:00
Sotaro Ikeda
2f41005dd9 Bug 1152370 part 3 - Use DisplaySurface r=mwu 2015-04-23 06:49:40 -07:00
Andrea Marchesini
cece1d9f00 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
eae4d10b4d Bug 1132854 - Make nsIntSize a typedef of gfx::IntSize. r=Bas, roc 2015-03-29 16:59:08 +02:00
Nicholas Nethercote
7c3d872761 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
9a3e3d4bb8 Backed out changeset 48667a14f94d (bug 1092360) for test bustage / crashes on a CLOSED TREE 2014-11-14 08:14:22 +01:00
Benoit Girard
c0cfe730fd Bug 1092360 - Avoid redundant framebuffer switches. r=jrmuizel 2014-11-12 17:39:17 -05:00
Benoit Girard
0470baff84 Bug 1089380 - Remove ClipRectInLayersCoordinates. r=mattwoodrow
--HG--
extra : rebase_source : d20c08c804f45f2a6baee9063d0e73bf755054ae
2014-10-31 16:34:30 -04:00
Benoit Girard
4cb4693be0 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
16fdd79d33 Bug 1089380 - Remove ClipRectInLayersCoordinates. r=mattwoodrow
--HG--
extra : rebase_source : 6793ed284fa8190c0d4e43e189ca4eb2d020d4f0
2014-10-31 16:34:30 -04:00
Nicolas Silva
c743c70d2e Bug 1077301 - Simplify the gralloc texture code. r=sotaro 2014-10-16 19:08:32 +02:00
Jeff Gilbert
3ca0b077db Bug 1088417 - DecomposeIntoNoRepeatRects for D3D11. - r=nical 2014-10-23 17:08:06 -07:00
Ryan VanderMeulen
c0f2ac2848 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
930a0c6636 Bug 1077301 - Simplify the gralloc texture code. r=sotaro 2014-10-16 19:08:32 +02:00
L. David Baron
11fdb24683 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
16f5aa1217 Bug 1077301 - Simplify the gralloc texture code. r=sotaro 2014-10-16 19:08:32 +02:00
Ryan VanderMeulen
54ad5407df Backed out changeset d16adf321576 (bug 1077301) for B2G bustage.
CLOSED TREE
2014-10-16 14:38:29 -04:00
Nicolas Silva
66ce852993 Bug 1077301 - Simplify the gralloc texture code. r=sotaro 2014-10-16 19:08:32 +02:00
Nicolas Silva
d74e31effc Bug 1077307 - Merge NewTextureSource and TextureSource. r=sotaro 2014-10-07 15:58:59 +02:00
Sotaro Ikeda
d1f5d678d4 Bug 1067455 - Reduce Fence::merge() call on compositor thread r=nical 2014-10-06 15:45:03 -07:00
Phil Ringnalda
5e348eaecc Back out ef1cd14c8cac (bug 1067455) for Windows assertion failures
CLOSED TREE
2014-10-05 19:16:56 -07:00
Sotaro Ikeda
b5b8786cc4 Bug 1067455 - Reduce Fence::merge() call on compositor thread r=nical 2014-10-05 14:14:33 -07:00
Jeff Gilbert
39ac1c0389 Bug 1037147 - Remove SharedTextureHandle and friends r=mattwoodrow,snorp
--HG--
extra : rebase_source : 13101216d6e5eccfb0a19c14b783b3878644b665
2014-09-17 08:13:29 -05:00
James Willcox
fe19d22a4b Back out a84f9edfe968 for bustage 2014-09-12 14:01:26 -05:00
Jeff Gilbert
a399ede263 Bug 1037147 - Replace SharedTextureHandle with a TextureClient variant r=mattwoodrow,snorp 2014-09-12 13:39:20 -05:00
Jeff Muizelaar
876ec2d266 Bug 1064479. Redo how screen rotation is implemented on B2G/Layers. r=nical,mwoodrow
Currently we use a world transform on the LayerManager. This gets passed to the
screen render target which adjusts the gl transform to accomplish the rotation.
This causes a lot of the system to have to know about the transform.

Instead we can just bake the transform into the root layer's shadow transform.
Everything now mostly just works.

--HG--
extra : rebase_source : e0e170d191eef5887a2e6b17f71ac79037033006
2014-09-10 15:59:00 -04:00
Benoit Girard
f43d2177c0 Bug 1010584 - Cull in ContainerLayerComposite. r=mwoodrow
--HG--
extra : rebase_source : ed9457906ac6d69bf563ddadff1599aea8964849
2014-08-27 18:46:55 -04:00
Benoit Girard
dd68564fab Bug 1010584 - Part 1: Introduce RenderTargetPixel. r=mwoodrow 2014-07-30 14:36:15 -04:00
Ehsan Akhgari
3bffba3b99 Bug 1050609 - Fix more bad implicit constructors in gfx/layers; r=roc 2014-08-20 00:55:14 -04:00
Matt Woodrow
57cf682f32 Bug 1013767 - Restrict BasicCompositor snapshots to the bounds of the invalid region. r=nical 2014-05-28 13:21:32 +12:00
Matt Woodrow
37b1f0f705 Bug 1013784 - Implement ClearRect for BasicCompositor. r=Cwiiis 2014-05-22 14:36:26 +12:00
Andreas Gal
299af06a65 Bug 1012407 - Part 2: Use Moz2D to draw velocity graph and elminiate use of GL_LINE_STRIP (r=Bas) 2014-05-21 23:24:16 +02:00
Benoit Jacob
dd92d414d0 Bug 987311 - 5/6 - Convert the rest of CompositorTypes.h to typed enums, auto regex changes - r=nical
find gfx/layers -type f | grep -v CompositorTypes.h | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)DIAGNOSTIC_\(NONE\|TILE_BORDERS\|LAYER_BORDERS\|BIGIMAGE_BORDERS\|FLASH_BORDERS\)\($\|[^A-Za-z0-9_]\)/\1DiagnosticTypes::\2\3/g'
find gfx/layers -type f | grep -v CompositorTypes.h | xargs sed -i 's/DiagnosticTypes\:\:NONE/DiagosticTypes::NO_DIAGNOSTIC/g'
find gfx/layers -type f | grep -v CompositorTypes.h | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)DIAGNOSTIC_\(IMAGE\|CONTENT\|CANVAS\|COLOR\|CONTAINER\|TILE\|BIGIMAGE\|COMPONENT_ALPHA\|REGION_RECT\)\($\|[^A-Za-z0-9_]\)/\1DiagnosticFlags::\2\3/g'
find gfx/layers -type f | grep -v CompositorTypes.h | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)EFFECT_\(MASK\|MAX_SECONDARY\|RGB\|YCBCR\|COMPONENT_ALPHA\|SOLID_COLOR\|RENDER_TARGET\|MAX\)\($\|[^A-Za-z0-9_]\)/\1EffectTypes::\2\3/g'
find gfx/layers -type f | grep -v CompositorTypes.h | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)TEXTURE_\(CONTENT\|SHMEM\|YCBCR\|SHARED_GL\|SHARED_GL_EXTERNAL\|STREAM_GL\|FALLBACK\)\($\|[^A-Za-z0-9_]\)/\1DeprecatedTextureClientType::\2\3/g'
find gfx/layers -type f | grep -v CompositorTypes.h | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(BUFFER_UNKNOWN\|BUFFER_IMAGE_SINGLE\|BUFFER_IMAGE_BUFFERED\|BUFFER_BRIDGE\|BUFFER_CONTENT\|BUFFER_CONTENT_DIRECT\|BUFFER_CONTENT_INC\|BUFFER_TILED\|BUFFER_SIMPLE_TILED\|COMPOSITABLE_IMAGE\|COMPOSITABLE_CONTENT_SINGLE\|COMPOSITABLE_CONTENT_DOUBLE\|BUFFER_COUNT\)\($\|[^A-Za-z0-9_]\)/\1CompositableType::\2\3/g'
find gfx/layers -type f | grep -v CompositorTypes.h | xargs sed -i 's/CompositableType\:\:COMPOSITABLE_/CompositableType::/g'
find gfx/layers -type f | grep -v CompositorTypes.h | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)TEXTURE_HOST_\(DEFAULT\|TILED\|COPY_PREVIOUS\)\($\|[^A-Za-z0-9_]\)/\1DeprecatedTextureHostFlags::\2\3/g'
find gfx/layers -type f | grep -v CompositorTypes.h | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)Texture\(Front\|Back\|OnWhiteFront\|OnWhiteBack\)\($\|[^A-Za-z0-9_]\)/\1TextureIdentifier::\2\3/g'
find gfx/layers -type f | grep -v CompositorTypes.h | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(OPEN_NONE\|OPEN_READ\|OPEN_WRITE\|OPEN_READ_WRITE\|OPEN_READ_ONLY\|OPEN_WRITE_ONLY\)\($\|[^A-Za-z0-9_]\)/\1OpenMode::\2\3/g'
find gfx/layers -type f | grep -v CompositorTypes.h | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(MaskNone\|Mask2d\|Mask3d\|NumMaskTypes\)\($\|[^A-Za-z0-9_]\)/\1MaskType::\2\3/g'
find gfx -type f | xargs sed -i 's/Diagostic/Diagnostic/g'
2014-04-25 22:34:06 -04:00
Benoit Jacob
01868df539 Bug 987311 - 3/6 - Make TextureFlags a typed enum, final manual changes - r=nical 2014-04-25 22:34:05 -04:00