Граф коммитов

1201 Коммитов

Автор SHA1 Сообщение Дата
Sunny Sidhu cfa8942015 Bug 1220873 - Make Layer::mVisibleRegion a LayerIntRegion. r=botond
--HG--
extra : source : dc46048f7a9e9cc008c97e2d9e0a100944743055
extra : amend_source : 63783bc076e5969ebacdc8c74f9b5194a1891d9e
2015-11-29 02:07:55 -05:00
Botond Ballo 9c99ee0439 Bug 1208829 - Recompute visible regions during composition. r=mstange
--HG--
extra : source : 4d5fb60f53a1dbcaca2a2c914fa215635d987e9d
2015-11-23 14:45:53 -05:00
Botond Ballo eec77ad4e8 Bug 1208829 - Rename LayerManagerComposite::ApplyOcclusionCulling to PostProcessLayers, and clean it up a bit. r=mstange
--HG--
extra : source : bca2641d815e46b5c529b6f84d22a7127773f784
extra : intermediate-source : 7efa96680e28076dcc52a07fd886a94603ca3370
2015-11-09 20:43:54 -05:00
Matt Woodrow 4946a3c907 Bug 1168263 - Add nsDisplayPerspective and build separate layers for perspective. r=roc 2015-11-26 22:32:36 +13:00
Matt Woodrow 6fa0d2f621 Bug 1168263 - Simplify GetResultingTransformMatrix calculations to avoid unnecessary origin changes. r=roc 2015-11-26 22:32:35 +13:00
Matt Woodrow 7c076dbe87 Bug 1168263 - Add a flags parameter to GetResultingTransformMatrix instead of using bools. r=roc 2015-11-26 22:32:35 +13:00
Botond Ballo 32478eadd5 Bug 1168263 - Propagate the scroll-clip of a descendant of a layer with a perspective transform up to the layer itself. r=kats,mstange 2015-11-18 14:21:37 -05:00
Botond Ballo 8e6d03a7b3 Bug 1168263 - Introduce a helper function IntersectMaybeRects(). r=kats 2015-11-19 13:09:16 -05:00
Nicholas Nethercote 52b3d826da Bug 1225007 (part 1, attempt 3) - Use LayoutDevicePixel more in Cocoa widget code. r=kats.
--HG--
extra : rebase_source : e4b3bb36c18822557f7724a58979eddd9d8cac62
2015-11-19 14:10:38 +11:00
Boris Chiou fe6df692e1 Bug 1215406 - Part 3: Change the types of direction and fillmode in AnimationTiming. r=heycam
Use mozilla::dom::FillMode and mozilla::dom::PlaybackDirection
in AnimationTiming.

--HG--
extra : rebase_source : 8210d002d6f116793f439d88b0325ab6fb880048
2015-11-20 06:12:00 +01:00
Kartikaya Gupta c595c834db Bug 1221694 - Add a basic telemetry probe for checkerboarding. r=botond,vladan
--HG--
extra : commitid : LkGcnQbivKT
2015-11-20 23:25:37 -05:00
Phil Ringnalda 538ef0460d Merge m-c to m-i 2015-11-19 21:08:34 -08:00
Phil Ringnalda 87802cdbad Backed out 2 changesets (bug 1225007) for frequent OS X "Shouldn't return empty rect" assertion failures, a=backout
Backed out changeset c5b352c74b35 (bug 1225007)
Backed out changeset 8a513c70ce7c (bug 1225007)
2015-11-19 20:55:26 -08:00
Kartikaya Gupta 076e47d4c8 Bug 1223928 - Make the horizontal scrollbar on the root scrollable shift correctly with the dynamic toolbar. r=botond
--HG--
extra : commitid : I3ZChoVA8Gv
2015-11-19 09:55:21 -05:00
Nicholas Nethercote ce671f3678 Bug 1225007 (part 1, attempt 2) - Use LayoutDevicePixel more in Cocoa widget code. r=kats.
--HG--
extra : rebase_source : ea132cb4a6eda3553682114f3a1a280acfaf0aa3
2015-11-19 14:10:38 +11:00
Kearwood (Kip) Gilbert 6e9e6a6c87 Bug 1206072 - Don't call GetNextRenderTarget if CreateRenderTargetSet failed,r=vlad
- Prevent a crash in ContainerLayerComposite::ContainerRenderVR
  that ocurred when VRHMDRenderingSupport::RenderTargetSet::CreateRenderTargetSet
  returns null.

--HG--
extra : rebase_source : e5d3cc98575c2db43ac2a29cb0e8acf64996b932
2015-11-19 12:20:26 -08:00
Nicholas Nethercote 26b0d282a5 Backout 52ba24123046 and 66768d6a50fa (bug 1225007) for causing lots of test assertions on Mac. CLOSED TREE 2015-11-17 17:02:39 -08:00
Nicholas Nethercote eb12a384c0 Bug 1225007 (part 1) - Use LayoutDevicePixel more in Cocoa widget code. r=kats.
--HG--
extra : rebase_source : ad3466d05e476ebf65affdde3fca52494e1327cb
2015-11-15 21:37:52 -08:00
Nicholas Nethercote d5fcd40f2f Bug 1224403 (part 10) - Make nsScreenGonk::GetNaturalBoundsUntyped() typed. r=kats.
--HG--
extra : rebase_source : 5f07908c287af3e6e272047a72837641a4d6824e
2015-11-12 05:44:43 -08:00
Nicholas Nethercote 489c83b1dd Bug 1223690 - Remove implicit Rect conversions. r=jrmuizel.
gfxRect can be implicitly constructed from IntRect, which hides a number of
implicit conversion points, makes Moz2Dification harder, and has some
surprising effects.

This patch removes the implicit constructor and replaces it with an explicit
conversion function:

  gfxRect ThebesRect(const IntRect&)

This is the obvious outcome of removing the constructor.

But there is also a second, less obvious outcome: currently we do a number of
IntRect-to-Rect conversions using ToRect(), which (surprisingly) works because
it turns into an implicit IntRect-to-gfxRect conversion (via the implicit
constructor) combined with an explicit gfxRect-to-Rect conversion (via
ToRect()). I.e. we do two conversions, going from a Moz2D type to a Thebes
type and back to a Moz2D type!

So this patch also changes these conversion. It moves this existing function:

  Rect ToRect(const IntRect&)

from gfx2DGlue.h -- where it doesn't really belong because it doesn't involve
any Thebes types -- to gfx/2d/Rect.h, templatifying and renaming it as
IntRectToRect() in the process.

The rest of the patch deals with fall-out from these changes. The call sites
change as follows:

- IntRect-to-gfxRect conversions:
  - old: implicit
  - new: ThebesRect()

- IntRect-to-Rect conversions:
  - old: ToRect()
  - new: IntRectToRect()

--HG--
extra : rebase_source : e4e4c2ad10b36ecad4d57d1630158f3374e403be
2015-11-11 14:23:14 -08:00
Botond Ballo 6a70e1aa18 Bug 1222661 - Replace FromUntyped(obj) calls with FromUnknown*(obj). r=nical
--HG--
extra : rebase_source : c1afe8560b838e1a3be0ce50847861b1815d3dc9
extra : source : d649f163c825736efaf3ac3ad73040beeb48a6ef
2015-11-09 18:22:25 -05:00
Botond Ballo a592a77364 Bug 1222661 - Replace ToUntyped(obj) calls with obj.ToUnknown*(). r=nical
--HG--
extra : rebase_source : 1cab46638599d8c4e6183c42a6fa9d41702392cb
extra : source : cabc28a2200b9b4e5e137d331ee5b86b3c09f065
2015-11-06 22:13:40 -05:00
Thinker K.F. Li 8f0e450b12 Bug 1210784 - Layer tree invalidation with Preserves3D. r=roc
--HG--
extra : rebase_source : 0272b4a05d8c502fcb8afa7bc9ad5ea168967fd2
2015-11-02 18:28:00 +01:00
Kartikaya Gupta 733738df2c Bug 1214267 - Send the side to which fixed-pos items are attached so that we can move them in the compositor more correctly when the viewport size is changing. r=mattwoodrow
--HG--
extra : commitid : ALBL7XCsNm0
2015-11-11 10:07:29 -05:00
Nicholas Nethercote ad0dd8414a Bug 1223310 (part 2) - Use LayoutDeviceIntRect for bounds-related functions in nsIWidget. r=kats.
The patch renames the existing functions (GetBounds(), GetClientBounds(), etc)
by adding an |Untyped| suffix. It then adds typed equivalents, and uses those
typed equivalents in all the call sites where it's easy to do so. The trickier
remaining call sites are converted to use the Untyped-suffix version.

--HG--
extra : rebase_source : 6bfb15bfc4698e2eba7d4db55497299d3dffcd51
2015-11-09 21:37:32 -08:00
Randall Barker 9199477993 Bug 1223436 - Fix AsyncCompositionManager so that mLayersUpdated is only set to false after SyncFrameMetrics has been called. r=kats
--HG--
extra : commitid : 14Ip4CDsoEZ
2015-11-10 12:01:35 -05:00
Nicolas Silva 8b09e3bc14 Bug 121976 - Add a destruction handshake to PCompositable so as to avoid races between messages and the protocol. r=sotaro 2015-11-06 16:56:03 +01:00
Botond Ballo 5bf85e9f9d Bug 1220923 - Make nsIntRegion a typedef for IntRegionTyped<UnknownUnits>. r=nical
--HG--
extra : source : 1f371f014048ed4c3c25095233fea927311a7e23
2015-11-04 11:49:49 -05:00
Boris Chiou b2d9321540 Bug 1108055 - Part 2: Refine ComputedTiming. r=birtles
Do some minor revisions in struct ComputedTiming.
1. Use Nullable<double> mProgress, so remove the static const kNullProgress.
   The generated ComputedTimingProperties dictionary uses "Nullable" variable,
   so we replace the origin type in ComputedTiming to make it more consistent
   with that in ComputedTimingProperties dictionary.
2. Use scoped enums for AnimationPhase.

--HG--
extra : rebase_source : 31280c867a30e7bcdcfe831cbc72ca08c8ddc762
2015-10-19 00:38:00 +02:00
Birunthan Mohanathas 9985829ecc Bug 1219392 - Capitalize mozilla::unused to avoid conflicts. r=froydnj 2015-11-02 07:53:26 +02:00
Markus Stange 030313a222 Bug 1216248 - Recomposite when the window overlay changes. r=mattwoodrow
--HG--
extra : commitid : JX5QiGz9HSG
extra : rebase_source : 7330073386d25c112cf1c0056383520a0bcf0e0b
extra : amend_source : 66cc16e8ad0ca361c3f9c25814d00ec5df4b169d
2015-10-30 11:49:07 +01:00
Milan Sreckovic 33b10a1074 Bug 1214802 - gfxEnv - consolidate environment variables used by the graphics code in one place. r=botond 2015-10-28 14:31:00 +01:00
Matt Woodrow 9ebdab0d64 Bug 1205913 - Differentiate YCbCr, NV12 and RGB textures when drawing layer borders. r=nical
--HG--
extra : rebase_source : 07e21d92965390711da32ab5ae8d797c1aeb98d8
2015-10-23 12:51:20 +13:00
Carsten "Tomcat" Book e3543211df Backed out changeset 94df1f873f5c (bug 1205913) 2015-10-29 13:52:14 +01:00
Matt Woodrow e0436217a8 Bug 1205913 - Differentiate YCbCr, NV12 and RGB textures when drawing layer borders. r=nical
--HG--
extra : rebase_source : cc0245929183231291f6fbb49bb7270a0a1e58e4
2015-10-23 12:51:20 +13:00
James Willcox faa1a44adb Bug 1208513 - Resurrect SharedSurface_GLTexture for use on iOS r=jgilbert 2015-10-28 14:10:25 -05:00
David Anderson 8dd3b854fb Compute the compositor's damage region before composites, rather than layers updates. (bug 1217560, r=mattwoodrow) 2015-10-27 10:15:02 -07:00
Sotaro Ikeda d7e0a22d6a Bug 1210182 - Implement GrallocTextureHostBasic r=nical 2015-10-26 22:43:07 -07:00
Bas Schouten df2cb10dd3 Bug 1216349: Upload the old valid region as well if our texture host changed. r=nical 2015-10-25 16:00:59 +01:00
Jim Mathies 176b60b4a8 Bug 1213671 - CompositorParent::UpdatePluginWindowState should always return an accurate result indicating when an ipc request for plugin geometry updates was sent. r=roc 2015-10-21 17:27:48 -05:00
Botond Ballo c132f32fc8 Bug 1213762 - Clear AsyncCompositionManager::mIsFirstPaint on non-Android platforms, too. r=mstange
--HG--
extra : rebase_source : 86e4c9b185c9d5a0b57cc12099326008a5b08a55
extra : source : 84dbb629686454ce74c7cdf1ea18866f703a0b4d
2015-10-16 18:33:35 -04:00
Benoit Girard 6b9d783414 Bug 1216287 - Properly invalidate the debug overlay. r=mattwoodrow
--HG--
extra : commitid : 7FvAQbZecjW
2015-10-19 18:03:48 -04:00
JerryShih 66c7ddec13 Bug 1215050 - Make layerscope support TiledPaintedLayer when using HWC. r=mattwoodrow, r=cjku
--HG--
extra : rebase_source : 3a606457d9c7cd630b6c9ab38941e2619b03943e
2015-10-15 06:03:00 -04:00
Nathan Froyd 01583602a9 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

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Nathan Froyd 583afa0965 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
Aniket Vyas 95a17ea52c Bug 1197315 - remove PR_snprintf calls in gfx/; r=froydnj 2015-10-12 14:06:19 -07:00
Bas Schouten d7e5ec0950 Bug 1211615: Upload the full texture on the first upload for component alpha textures. r=nical 2015-10-14 17:00:42 +02:00
Jamie Nicol 2e1135737e Bug 1209801 - Part 2: Do not allow big image textures to be used with TiledLayerBuffers. r=mattwoodrow
Big-image textures (where multiple textures are tiled together to act as
a single larger texture, e.g. TiledTextureImage) were in some cases
being used to back the TextureSources associated with each Tile in a
TiledLayerBuffer. CompositorOGL was unaware of this, so when compositing
would only render the first tile in each big image, stretching it to the
size of the entire big image.

It doesn't make much sense to allow tiling-within-tiling, so set the
DISALLOW_BIGIMAGE flag for textures created for use with TiledLayerBuffers.

--HG--
extra : histedit_source : 7783b2132cb2037dda2a736b1497dc13231b4dee
2015-10-14 11:32:44 +05:30
Nigel Babu fabdcab137 Backed out changeset 9e69375c47ed (bug 1209801) for suspicion of Android reftest bustage ON A CLOSED TREE 2015-10-12 09:43:06 +05:30
Jamie Nicol a4433bab57 Bug 1209801 - Part 2: Do not allow big image textures to be used with TiledLayerBuffers. r=mattwoodrow
Big-image textures (where multiple textures are tiled together to act as
a single larger texture, e.g. TiledTextureImage) were in some cases
being used to back the TextureSources associated with each Tile in a
TiledLayerBuffer. CompositorOGL was unaware of this, so when compositing
would only render the first tile in each big image, stretching it to the
size of the entire big image.

It doesn't make much sense to allow tiling-within-tiling, so set the
DISALLOW_BIGIMAGE flag for textures created for use with TiledLayerBuffers.
---
 gfx/layers/client/SingleTiledContentClient.cpp | 2 +-
 gfx/layers/client/TiledContentClient.cpp       | 2 +-
 gfx/layers/composite/TextureHost.cpp           | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
2015-10-11 18:13:10 +02:00