Commit Graph

78 Commits

Author SHA1 Message Date
Jamie Nicol
6e0e1d166c Bug 1187619 - Only optmimize FrameLayerBuilder visibility calculations if correct. r=mattwoodrow
Bug 1176077 introduced the parameter aDirtyRegion to
DrawPaintedLayerCallback, which allows the callback to recompute the
visibility of all items to be painted in that transaction in a single
go. However, this parameter can not always be determined correctly
when using RotatedBuffer, and using an incorrect value was causing
graphical glitches.

Make the parameter optional, and on null values do not perform the
optimisation. Pass null from ClientPaintedLayer, which uses
RotatedBuffer and was causing problems, but continue to pass the
correct value from other Layer implementations. This optimisation was
most important for tiled layers using progressive paint, so this is
okay.
2015-08-03 04:07:00 -04:00
Jamie Nicol
a1feb12475 Bug 1176077 - Only recompute PaintedLayer item visibility when display list has changed. r=mattwoodrow
FrameLayerManager::RecomputeItemsVisibility() was being called on every
call to FrameLayerBuilder::DrawPaintedLayer(), each time for the region
to be painted by that paint call. This is inefficient when progressive
paint is enabled. Change it so that we compute the visibility of all the
layer's items within the total region to be painted, but only on the
first paint after the display list has been modified.
2015-07-21 09:19:25 +01: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
Markus Stange
14821e5b56 Bug 1169331 - Always clip rotated buffer quadrant drawing to the fill rect. r=jrmuizel 2015-06-15 16:57:30 -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
Amanda Sambath
86f2768844 Bug 1158120 - Edit include and comments that contained gfxIntSize and nsIntSize. r=nical 2015-05-29 17:01:46 +02: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
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
Milan Sreckovic
da5af2d006 Bug 1153724 - Only assert if the size was reasonable to start. r=mchang 2015-04-13 17:07:01 -04:00
Milan Sreckovic
da6639100b Bug 1081911 - Null pointer check (wallpaper) for destDTBufferOnWhite. r=mattwoodrow 2015-02-02 17:46:22 -05:00
David Anderson
39f4bce669 Don't clear the rotated buffer if we incorrectly assume content will be COLOR_ALPHA. (bug 1126045 part 3, r=mattwoodrow) 2015-01-28 15:34:45 -08:00
Milan Sreckovic
1cc73fcc8c Bug 1088833 - A bit of a clean up of warnings, and catch bad draw target in the d3d11 canvas case. r=bschouten 2015-01-20 12:47:29 -05:00
Nicolas Silva
957aceddf0 Bug 1102895 - Remove unused TextureFlags. r=sotaro 2014-11-25 20:19:04 +01:00
Nicolas Silva
186e6edf58 Bug 1086670 - Add some gfxCriticalError logs around DrawTarget creation. r=Bas 2014-11-20 15:48:07 +01:00
Nicolas Silva
a849e8790f Bug 1016540 - GrallocTextureSource::DeallocateDeviceData must assert that it has a compositor, rather than a gl context. r=sotaro 2014-10-07 10:45:04 +02:00
Nicolas Silva
99a5fa1bde Bug 1076825 - Don't crash release builds if allocating the buffer on white failed in RotatedBuffer.cpp. r=Bas 2014-10-06 14:37:57 +02:00
Jeff Muizelaar
f432439688 Bug 1074615. Remove DRAW_SNAPPED. r=mwoodrow
This doesn't seem to be necessary and doesn't really make sense to me. This
will help us moving region clipping into Moz2D
2014-10-01 01:25:25 -04:00
Jeff Muizelaar
bedb8a93fe Bug 1073086. Remove broken snapping code. r=mwoodrow
We generate a Rect from integers and then round them to do the snapping.

-      Rect rect(r->x, r->y, r->width, r->height);
-
-      rect.Round();

This accomplishes nothing.

Just rip it out.
2014-09-25 14:01:10 -04:00
Ed Morley
019738fc16 Backed out changeset 318fa507832d (bug 1073086) 2014-09-29 17:42:34 +01:00
Jeff Muizelaar
f8f8e2b843 Bug 1073086. Remove broken snapping code. r=mwoodrow
We generate a Rect from integers and then round them to do the snapping.

-      Rect rect(r->x, r->y, r->width, r->height);
-
-      rect.Round();

This accomplishes nothing.

Just rip it out.
2014-09-25 14:01:10 -04:00
Markus Stange
a15e939a69 Bug 1073103 - Rename ThebesLayer to PaintedLayer. r=roc 2014-09-26 13:06:08 -04:00
Bas Schouten
a278a38368 Bug 1066417: Add Direct2D 1.1 to the list op backends that don't like OP_SOURCE. r=mattwoodrow 2014-09-14 23:51:28 +02:00
Jonathan Watt
727b0a4e88 Bug 1065031, part 2 - Changes to Moz2D consuming code to update callers of Moz2D Matrix's Translate, Scale and Rotate methods to use these methods' new names. r=Bas 2014-09-10 18:29:35 +01:00
Jonathan Watt
74357509dd Bug 1065127 - Avoid Matrix().Translate()/Scale()/Rotate() multiplication in lots of places. r=Bas 2014-09-10 14:26:12 +01:00
Carsten "Tomcat" Book
fa3af35d11 Backed out changeset e6b766d8a815 (bug 1065127) for bustage 2014-09-10 14:30:36 +02:00
Jonathan Watt
b001556151 Bug 1065127 - Avoid Matrix().Translate()/Scale()/Rotate() multiplication in lots of places. r=Bas 2014-09-10 11:45:42 +01:00
Bas Schouten
e78f295e46 Bug 947781 - Part 1: Refactor RotatedBuffer to easily be re-usable for any rotated buffer drawing. r=mattwoodrow 2014-07-30 15:38:46 +02:00
Ed Morley
d1234abfec Backed out changeset 6bc1a62eb443 (bug 947781) for build failures 2014-07-30 14:54:28 +01:00
Bas Schouten
90d1337864 Bug 947781 - Part 1: Refactor RotatedBuffer to easily be re-usable for any rotated buffer drawing. r=mattwoodrow 2014-07-30 15:38:46 +02:00
Matt Woodrow
92c8aefeaf Bug 1039145 - Part 2: Fully remove component alpha/background copying support from BasicCompositor. r=roc 2014-07-18 18:48:23 +12:00
Carsten "Tomcat" Book
a9f417483c Backed out changeset 49c713f92304 (bug 1039145) 2014-07-18 10:45:20 +02:00
Matt Woodrow
9772ed7433 Bug 1039145 - Part 2: Fully remove component alpha/background copying support from BasicCompositor. r=roc 2014-07-18 18:48:23 +12:00
Jonathan Watt
f525c7d161 Bug 1027763, part 2 - Make non-Moz2D callers of DrawTarget::GetType() call DrawTarget::GetBackendType() instead. r=Bas 2014-06-19 21:35:33 +01:00
Nicolas Silva
dc075c6966 Bug 1023350 - Rename TextureClient::GetAsDrawTarget into TextureClient::BorrowDrawTarget and fix TextureClientX11. r=bjacob 2014-06-11 14:57:58 -04:00
Victor Porof
298ca2ed1b Bug 1007203 - Always add categories when pushing to the pseudostack, r=djvj 2014-05-23 17:12:29 -04:00
Matt Woodrow
dbf0726a5e Bug 1013759 - Simplify invalid region for Direct2D when using OMTC to avoid hitting expensive drawing paths for complex regions. r=jrmuizel 2014-05-23 09:08:21 +12:00
Matt Woodrow
129afe0635 Bug 950312 - Part 1: Copy mix-blend-mode proprties to the compositor layer tree. r=roc 2014-05-09 21:41:56 +12:00
Bas Schouten
d08fe467ba Bug 996745: Do not try to FinalizeFrame when there is no buffer. r=mattwoodrow 2014-04-29 22:33:11 +02:00
Nicolas Silva
dca99e78f0 Bug 990871 - Move TextureClientDrawTarget into TextureClient. r=mattwoodrow 2014-04-10 10:14:28 +02:00
Carsten "Tomcat" Book
5adb9c9e75 Backed out changeset 3747c80a1cde (bug 990871) for bustage on a CLOSED TREE 2014-04-10 13:15:47 +02:00
Nicolas Silva
be00cc4369 Bug 990871 - Move TextureClientDrawTarget into TextureClient. r=mattwoodrow 2014-04-10 10:14:28 +02:00
Matt Woodrow
6546435d83 Bug 992486 - Part 5: Fix copying the front buffer to back buffer. r=roc 2014-04-10 20:42:29 +12:00
Carsten "Tomcat" Book
6eca7e0aff Backed out changeset e6126e815061 (bug 992486) windows bustage 2014-04-10 10:09:25 +02:00
Matt Woodrow
68be04876e Bug 992486 - Part 5: Fix copying the front buffer to back buffer. r=roc 2014-04-10 19:44:10 +12:00
Matt Woodrow
188b91ad94 Bug 993784 - Part 1: Use Moz2D mask data for BasicThebesLayer drawing. r=roc 2014-04-09 21:15:19 +12:00
Matt Woodrow
203b3a85cf Bug 991513 - Part 1: Don't lock ContentClientDoubleBuffered's texture until we need the buffers. r=nrc 2014-04-09 21:15:18 +12:00
Matt Woodrow
013d6e57f8 Bug 992486 - Part 1: Add API to RotatedContentBuffer for drawing in multiple passes. r=roc 2014-04-09 21:15:17 +12:00
Nicolas Silva
7ce54ab24d Bug 989904 - Remove some of the deprecated backend-independent textures. r=mattwoodrow 2014-04-01 14:28:23 +08:00
Matt Woodrow
3350e3b174 Bug 971720 - Adjust the source pattern transform when masking with RotatedBuffer to take the mask transform into account. r=roc 2014-03-01 08:51:17 +13:00