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

30726 Коммитов

Автор SHA1 Сообщение Дата
Nazım Can Altınova 2ee5623032 Bug 1480499 - Add profiler label frame to gfxUserFontEntry::LoadPlatformFont with the OTHER category r=mstange
MozReview-Commit-ID: 49eCKAMxy3I

--HG--
extra : rebase_source : ee17aaded12943d7a150bf3f8d15d58d246c2ce5
2018-08-03 15:15:24 +02:00
Csoregi Natalia 0f4d50ff52 Merge inbound to mozilla-central. a=merge 2018-08-08 12:58:36 +03:00
sotaro 4709864388 Bug 1476846 - Fix UpdateEpoch() handling r=nical 2018-08-08 14:14:00 +09:00
Jeff Muizelaar 955d35ed01 Bug 1480608. Skip over items that aren't in DrawTarget/DirtyRect. r=mstange
MozReview-Commit-ID: Kc9E1SUVUh3

--HG--
extra : rebase_source : d3ee33154622915bd444139bce639e4372fe8f43
2018-08-02 18:09:17 -04:00
Jeff Muizelaar a61a3dece7 Bug 1480620. Replace WebRender's use of DrawTargetTiled.
This replaces WebRender's use of DrawTargetTiled which was just trying to
apply offset.

Differential Revision: https://phabricator.services.mozilla.com/D2906

--HG--
extra : moz-landing-system : lando
2018-08-08 02:55:23 +00:00
Xidorn Quan 346661e6fd Bug 1481125 - Put overflow: -moz-scrollbar-* behind pref. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D2845

--HG--
extra : moz-landing-system : lando
2018-08-07 13:57:45 +00:00
Narcis Beleuzu 5200364866 Backed out changeset 00ff83d23238 (bug 1480608) for build bustages on Moz2DImageRenderer.cpp. CLOSED TREE 2018-08-08 01:48:46 +03:00
Jeff Muizelaar 75d7e45d83 Bug 1480608. Skip over items that aren't in DrawTarget/DirtyRect. r=mstange
MozReview-Commit-ID: Kc9E1SUVUh3

--HG--
extra : rebase_source : aa6561d103b3ab40f9d6033008bdc2fef3d395f8
2018-08-02 18:09:17 -04:00
Jeff Muizelaar 76eeb03deb Bug 1480620. Clip the filter source rect to the transformed DrawTarget bounds. r=mstange
This lets us avoid filtering the entire source image when we only need a small portion of it.
This makes a big performance difference with tiled blob images with WebRender.

MozReview-Commit-ID: EbMZ7ZJEeCe

--HG--
extra : rebase_source : 3f507ca5776e4ad63ac2ea71f20376519953274c
2018-08-01 21:26:40 -04:00
Jeff Muizelaar 8715d55e01 Bug 1480620. Add DrawTargetOffset. r=bas
This adds a DrawTargetOffset which is basically a simplified
DrawTargetTiled that only supports one tile. It useful for situations
where Cairo's device offset was used previously.

This also replaces WebRender's use of DrawTargetTiled which was just trying to
apply offset.

MozReview-Commit-ID: I33PB6CnHh0

--HG--
extra : rebase_source : 9fa51a0180343231cfca41daa0e3fa53f1b7befe
2018-08-03 10:48:37 -04:00
Narcis Beleuzu 6480962188 Backed out changeset e64cbe967b63 (bug 1480866) for GTest failure. CLOSED TREE 2018-08-07 21:21:27 +03:00
Botond Ballo 168027fec9 Bug 1480866 - Avoid creating a fling animation with zero velocity. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D2743

--HG--
extra : moz-landing-system : lando
2018-08-07 13:39:34 +00:00
sotaro 92f8dea8a0 Bug 1476846 - Reduce latency of applying async images of video r=nical 2018-08-07 19:12:06 +09:00
sotaro ebf0ddf6be Bug 1479181 part 2 - Remove glXChooseVisual() usage r=jgilbert 2018-08-07 14:13:37 +09:00
sotaro f4af09856a Bug 1479181 part 1 - Expose glxGetConfig() in GLXLibrary r=jgilbert 2018-08-07 14:13:17 +09:00
Ryan VanderMeulen ae8b50b2bc Bug 1478153 - Update OTS to version 7.1.7. r=jfkthame
--HG--
extra : rebase_source : 6dbc63989bb3d88e0b9c813210370fe70051578d
2018-07-24 16:09:00 -04:00
Daniel Varga edef4f17d4 Backed out changeset 08fa47a24e89 (bug 1445451) for failing Btup 2018-08-09 02:20:25 +03:00
Myk Melez 2d46903ee1 Bug 1445451 - vendor rkv r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D2246

--HG--
rename : third_party/rust/synstructure/.cargo-checksum.json => third_party/rust/synstructure-0.8.1/.cargo-checksum.json
rename : third_party/rust/synstructure/Cargo.toml => third_party/rust/synstructure-0.8.1/Cargo.toml
rename : third_party/rust/synstructure/README.md => third_party/rust/synstructure-0.8.1/README.md
rename : third_party/rust/synstructure/src/lib.rs => third_party/rust/synstructure-0.8.1/src/lib.rs
rename : third_party/rust/synstructure/src/macros.rs => third_party/rust/synstructure-0.8.1/src/macros.rs
extra : moz-landing-system : lando
2018-08-08 20:59:21 +00:00
Jeff Muizelaar da9d4bb3c0 Bug 1481655. Don't add recordings of the hit test info to blob images. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D2938

--HG--
extra : moz-landing-system : lando
2018-08-08 18:15:00 +00:00
dvarga de4435eec5 Backed out changeset 37ac6d023498 (bug 1481655) for bustage at build/src/gfx/layers/wr/WebRenderCommandBuilder.cpp on a CLOSED TREE 2018-08-08 21:00:23 +03:00
Jeff Muizelaar f0b0ce30f2 Bug 1481655. Don't add recordings of the hit test info to blob images. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D2938

--HG--
extra : moz-landing-system : lando
2018-08-08 17:32:52 +00:00
Imanol Fernandez 5424767924 Bug 1481393 - Implement a listener for WebVR PresentationGenerationContext changes; r=kip,rbarker,nika
MozReview-Commit-ID: FAR1fYnNM0U

Differential Revision: https://phabricator.services.mozilla.com/D2832

--HG--
extra : moz-landing-system : lando
2018-08-07 23:09:42 +00:00
L. David Baron 1e88f0f003 Bug 1369941: Replace single integers N in fuzzy() and fuzzy-if() with 0-N ranges. r=dholbert
This patch was written entirely by the following script:

  #!/bin/bash

  if [ ! -d "./.hg" ]
  then
    echo "Not in a source tree." 1>&2
    exit 1
  fi

  find . -regex '.*\(ref\|crash\)test.*\.list' | while read FILENAME
  do
    echo "Processing ${FILENAME}."
    # The following has four substitutions:
    # * The first one replaces the *first* argument to fuzzy() when it doesn't
    #   have a - in it, by replacing it with an explicit 0-N range.
    # * The second one does the same for the *second* argument to fuzzy().
    # * The third does the same for the *second* argument to fuzzy-if().
    # * The fourth does the same for the *third* argument to fuzzy-if().
    #
    # Note that this is using perl rather than sed because perl doesn't
    # support non-greedy matching, which is needed for the first argument to
    # fuzzy-if.
    perl -pi -e 's/(fuzzy\()([^ ,()-]*)(,[^ ,()]*\))/${1}0-${2}${3}/g;s/(fuzzy\([^ ,()]*,)([^ ,()-]*)(\))/${1}0-${2}${3}/g;s/(fuzzy-if\([^ ]*?,)([^ ,()-]*)(,[^ ,()]*\))/${1}0-${2}${3}/g;s/(fuzzy-if\([^ ]*?,[^ ,()]*,)([^ ,()-]*)(\))/${1}0-${2}${3}/g' "${FILENAME}"
  done

Differential Revision: https://phabricator.services.mozilla.com/D2974

--HG--
extra : moz-landing-system : lando
2018-08-09 20:10:21 +00:00
Myk Melez 2c2b6eebf9 Bug 1445451 - vendor rkv; r=froydnj
MozReview-Commit-ID: KbcADpNltYq

Differential Revision: https://phabricator.services.mozilla.com/D3042

--HG--
rename : third_party/rust/synstructure/.cargo-checksum.json => third_party/rust/synstructure-0.8.1/.cargo-checksum.json
rename : third_party/rust/synstructure/Cargo.toml => third_party/rust/synstructure-0.8.1/Cargo.toml
rename : third_party/rust/synstructure/README.md => third_party/rust/synstructure-0.8.1/README.md
rename : third_party/rust/synstructure/src/lib.rs => third_party/rust/synstructure-0.8.1/src/lib.rs
rename : third_party/rust/synstructure/src/macros.rs => third_party/rust/synstructure-0.8.1/src/macros.rs
extra : moz-landing-system : lando
2018-08-09 19:42:17 +00:00
Botond Ballo d51598b4d9 Bug 1480866 - Avoid creating a fling animation with zero velocity. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D2743

--HG--
extra : moz-landing-system : lando
2018-08-07 20:48:23 +00:00
Tiberius Oros 4199099335 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-09 13:04:39 +03:00
Martin Stransky 8b68257be5 Bug 1478454 - [Linux/WebRender] Create glxContext with GLX visual chosen at nsWindow::Create(), r=jgilbert
We need to use the same visual for X drawable and glxContext,
otherwise we get BadMatch when we try to make the glxContext current.

The correct glx visual is already configured at nsWindow::Create()
so just use it if it also matches the frame buffer config.

MozReview-Commit-ID: 78IIfiwOnsf

--HG--
extra : rebase_source : 5ddfc0f94abafc7a1441eea095e546568bc31596
2018-08-03 16:20:09 +02:00
Jonathan Kew a7dc2e2bd2 Bug 1481842 - Apply 50% opacity as intended to the border (or filled box on mobile) used for missing-glyph rendering. r=lsalzman 2018-08-08 17:15:42 +01:00
Bas Schouten 4e20187f58 Bug 1480832: Convert nsRegion's internal bounds representation to nsRectAbsolute, and define overflow behaviors. r=mattwoodrow 2018-08-07 15:54:32 +00:00
Nathan Froyd 6ce3ba74db Bug 1481534 - avoid compiling nsRect SSE code on non-x86-ish architectures; r=Bas 2018-08-08 09:24:08 -04:00
Kartikaya Gupta 7879461f7f Bug 1480433 - Update for API changes in WR PR 2948. r=jrmuizel
MozReview-Commit-ID: Linx9qsVeAb
2018-08-07 14:46:56 -04:00
Kartikaya Gupta 56cfeb9660 Bug 1480433 - Update webrender to commit c939a61b83bcc9dc10742977704793e9a85b3858. r=jrmuizel
MozReview-Commit-ID: 8msYpcE1tCx
2018-08-07 14:44:43 -04:00
Jeff Gilbert 6a1d75ae7a Bug 1477817 - Try to get RBAB even with EXT_create_context_robustness. - r=kvark 2018-08-07 12:24:53 -07:00
Brindusan Cristian 181d4f159b Backed out 10 changesets (bug 1478815) for reftest failures on /reftests/layers/forced-bg-color-outside-visible-region.html. CLOSED TREE
Backed out changeset 7ae4c893867a (bug 1478815)
Backed out changeset b865a866fe5a (bug 1478815)
Backed out changeset 405ad3518218 (bug 1478815)
Backed out changeset 64cb50b227e0 (bug 1478815)
Backed out changeset 392a724d5acd (bug 1478815)
Backed out changeset 01110727f2e9 (bug 1478815)
Backed out changeset 56d967e03ee2 (bug 1478815)
Backed out changeset 082638a5c643 (bug 1478815)
Backed out changeset 3dc47f17fa44 (bug 1478815)
Backed out changeset 699c954992f8 (bug 1478815)

--HG--
rename : gfx/2d/BufferEdgePad.cpp => gfx/layers/BufferEdgePad.cpp
rename : gfx/2d/BufferEdgePad.h => gfx/layers/BufferEdgePad.h
rename : gfx/2d/BufferUnrotate.cpp => gfx/layers/BufferUnrotate.cpp
rename : gfx/2d/BufferUnrotate.h => gfx/layers/BufferUnrotate.h
2018-08-07 20:57:27 +03:00
Ryan Hunt d8c8b51305 Bug 1478815 part 10 - Don't submit PaintTask's if the DrawTargetCapture is empty. r=bas
This commit exposes a method on DrawTargetCapture to see if it has
captured any drawing commands. This allows us to not dispatch
paint tasks if they will do nothing.

Ideally these tasks would execute instantly on the PaintThread, and
we would never delay sending the layer transaction or block on the
next paint, but with thread starvation and context switches it's
best to just not send them.

MozReview-Commit-ID: 7ywkEDBw6EX

--HG--
extra : rebase_source : c8f628180a3d908c8851e5c576296f903b9b255d
2018-07-31 17:47:51 -05:00
Ryan Hunt 8b6aa26413 Bug 1478815 part 9 - Add ability to create a DrawTargetCapture that can flush to its destination draw target. r=bas
This commit adds the ability to create a different kind of DrawTargetCapture which
has a limit on the size of which its CaptureCommandList can grow before it is
synchronously flushed to its destination DrawTarget.

Special care is taken to not do a sync flush until we would need to resize
the backing store of the CaptureCommandList. This allows us to not waste
memory we've already allocated.

The async painting content clients are updated to use it, and get a default
value from a new preference.

MozReview-Commit-ID: CJL7ffvaRzR

--HG--
extra : rebase_source : 546d9838808320c51d9ceef0ed0ffcbb88a16269
2018-07-26 16:33:07 -05:00
Ryan Hunt af49011c30 Bug 1478815 part 8 - Remove buffer operations for ContentClient. r=nical
This commit moves ContentClient from creating a CapturedBufferState for
buffer operations, to performing all of those operations on the
DrawTarget(Capture). Creating a DrawTargetCapture is now performed
by the RotatedBuffer when we BeginPaint, all operations are performed
on this capture, and then it's returned to the ClientPaintedLayer
as a PaintTask.

This commit is an involved refactoring of ContentClient and RotatedBuffer
to get this all to work. Here are the major parts:

1. RotatedBuffer is refactored to always perform operations on a single
   DrawTarget, which may be a single DT, dual DT, or capture.
2. RotatedBuffer adds BeginCapture and EndCapture methods to switch
   which DT is used in operations
3. ContentClient uses the RB capture methods when we are async painting
4. CC::BeginPaint is refactored to only perform capturing on a single
   RotatedBuffer. This is because we can't have the output of one
   PaintTask be the input of a different PaintTask due to the design
   of the Snapshot API.
      a. This can occur, today, by doing a FinalizeFrame only to later
         fail to Unrotate the buffer, causing a new RB to be created
         and painted into
      b. The previous PaintThread code worked because it used the
         buffer operations which didn't use Snapshot's
      c. This is fixed by not doing FinalizeFrame on a buffer if we
         realize we cannot unrotate it, and switching to initializing
         a buffer using the front buffer which should be up to date.
      d. I don't like touching this code, but it passes reftests,
         might be a performance improvement, and I've tested it on
         known regressions from the last time I messed up this code.
5. CC::PrepareForPaint is inlined into BeginPaint because dual draw
   targets can be cleared correctly from a previous commit
6. The code paths in ClientPaintedLayer are unified because we no
   longer need to special case this beyond setting the correct
   ContentClient flag.
7. CapturedPaintState and CapturedBufferState are removed in favor
   of PaintTask. Additionally EndLayer is no longer needed as all
   quadrants of a rotated buffer are in the same capture, so we
   don't need special case flushing code.

MozReview-Commit-ID: 9UI40dwran

--HG--
extra : rebase_source : 2f63464c1f8ca03992700b33838c4aa56608f872
2018-07-26 11:23:26 -05:00
Ryan Hunt 6c76c39c97 Bug 1478815 part 7 - Add a buffer unrotate operation to DrawTarget. r=bas
This commit adds a buffer unrotate operation to DrawTarget. It's
initially implemented with LockBits in DrawTarget. DrawTargetDual
overrides the implementation to pass on the operation to it's
DrawTargets.

No override is given for DrawTargetCapture as we intentionally
avoid this code path when async painting as it can fail.

This is needed so that RotatedBuffer can expose a single DrawTarget,
which can be a DrawTarget (for normal alpha), DrawTargetDual (for
component alpha), or DrawTargetCapture (when async painting).

MozReview-Commit-ID: csjjZ733hl

--HG--
rename : gfx/layers/BufferUnrotate.cpp => gfx/2d/BufferUnrotate.cpp
rename : gfx/layers/BufferUnrotate.h => gfx/2d/BufferUnrotate.h
extra : rebase_source : efc838a3a4b196f78eda79ff3304c15d386bdc63
2018-08-01 12:50:32 -05:00
Ryan Hunt 90b1c71102 Bug 1478815 part 6 - Add ability to create a SourceSurfaceDual directly. r=bas
This commit adds the ability to create a SourceSurfaceDual directly,
instead of only from a DrawTargetDual. This allows SourceRotatedBuffer
to expose itself as a single SourceSurface for a later commit.

MozReview-Commit-ID: K21K42cGDy1

--HG--
extra : rebase_source : 33a523e45f7102343ebd5b3aa1faf2ff1f3d6f87
2018-08-01 12:49:19 -05:00
Ryan Hunt dfb4539ae9 Bug 1478815 part 5 - Rename CapturedTiledPaintState to PaintTask. r=nical
This commit renames CapturedTiledPaintState to PaintTask as in a future
commit I will fold CapturedPaintState into it.

MozReview-Commit-ID: 8py7SrK4s29

--HG--
extra : rebase_source : 1b5259cca6520761ae99e64157d047441b90b563
2018-07-24 15:39:35 -05:00
Ryan Hunt af1087297b Bug 1478815 part 4 - Remove buffer operations for TiledContentClient. r=nical
This commit refactors TiledContentClient to not create PaintThread
buffer operations, but to instead perform all of these operations
on the DrawTarget(Capture). This simplifies the code dramatically
and allows us to add flushing behavior to DrawTargetCapture in a
future commit.

With this change, CapturedTiledPaintState is simply a container
for a DrawTarget, DrawTargetCapture, and keep-alive TextureClients.

Part of this commit is moving the logic of locking the texture
clients, constructing a dual draw target, and constructing a capture
into TiledContentClient so it can be shared.

MozReview-Commit-ID: 2rwz9aDI737

--HG--
extra : rebase_source : 16a4b87263f28b32f5bcb5fd6d9756548f137e11
2018-07-24 14:29:44 -05:00
Ryan Hunt a5f58a4250 Bug 1478815 part 3 - Add a DualTextureClientLock for texture clients used for component alpha. r=nical
This commit adds a RAII class for the common operation of attempting
to lock one or two TextureClients and then maybe constructing a
DrawTargetDual from them.

MozReview-Commit-ID: ECQkDSgpyuL

--HG--
extra : rebase_source : abad14bfee32ea2fd1626069f8229487d1f05015
2018-08-01 12:46:35 -05:00
Ryan Hunt 74645824fc Bug 1478815 part 2 - Make DrawTargetDual aware of component alpha clearing. r=bas
This commit changes the behavior of DrawTargetDual::Clear to be aware that
it has on-white and on-black buffers, and perform clearing appropriately.

This is slightly against what the DrawTarget documentation says the method
should do, but it allows us to move another paint thread operation into
DrawTargetCapture and simplify our ContentClient implementations.

I haven't seen any obvious breakage with this, and reftests are green.

An alternative would be to add a separate Clear method with documented
difference here.

MozReview-Commit-ID: 65CzcxlRqv7

--HG--
extra : rebase_source : 47403847e56521be90190eb6b70ec333f6daf5c0
2018-08-01 12:45:35 -05:00
Ryan Hunt 748ab5ad0f Bug 1478815 part 1 - Add a PadEdges operation to DrawTarget. r=bas
This commit adds an operation to perform 'edge padding' on a draw
target. By default this is performed using LockBits, but it's
overriden in DrawTargetTiled and DrawTargetCapture to propagate
the call so it functions correctly.

This helps TiledContentClient move from applying this operation
on a per texture client basis, to being able to do it on the
DrawTargetTiled after painting. This in turn helps move all
paint thread operations into DrawTargetCapture.

MozReview-Commit-ID: 2ncOTxGXQfk

--HG--
rename : gfx/layers/BufferEdgePad.cpp => gfx/2d/BufferEdgePad.cpp
rename : gfx/layers/BufferEdgePad.h => gfx/2d/BufferEdgePad.h
extra : rebase_source : ab850358a763853d50d1f374f28e67a197740443
2018-08-01 12:44:33 -05:00
Gabriele Svelto 15adf94f4d Bug 1348273 - Convert crash annotations into a machine-readable list of constants; r=ted.mielczarek,njn,dholbert,mak,cpearce,mcmanus,froydnj,Dexter,jrmuizel,jchen,jimm,bz,surkov
This introduces the machinery needed to generate crash annotations from a YAML
file. The relevant C++ functions are updated to take a typed enum. JavaScript
calls are unaffected but they will throw if the string argument does not
correspond to one of the known entries in the C++ enum. The existing whitelists
and blacklists of annotations are also generated from the YAML file and all
duplicate code related to them has been consolidated. Once written out to the
.extra file the annotations are converted in string form and are no different
than the existing ones.

All existing annotations have been included in the list (and some obsolete ones
have been removed) and all call sites have been updated including tests where
appropriate.

--HG--
extra : source : 4f6c43f2830701ec5552e08e3f1b06fe6d045860
2018-07-05 15:42:11 +02:00
sotaro bf2bee5c8e Bug 1481995 - Remove WebRenderBridgeParent::mForceRendering r=nical 2018-08-10 08:10:11 +09:00
Noemi Erli be6ab34c54 Merge mozilla-central to inbound. a=merge CLOSED TREE
--HG--
extra : rebase_source : 691b5b30b6c3b2ddece605c045ad913e466fdbab
2018-08-10 00:35:58 +03:00
Ryan Hunt 8091824d19 Bug 1478815 part 10 - Don't submit PaintTask's if the DrawTargetCapture is empty. r=bas
This commit exposes a method on DrawTargetCapture to see if it has
captured any drawing commands. This allows us to not dispatch
paint tasks if they will do nothing.

Ideally these tasks would execute instantly on the PaintThread, and
we would never delay sending the layer transaction or block on the
next paint, but with thread starvation and context switches it's
best to just not send them.

MozReview-Commit-ID: 7ywkEDBw6EX

--HG--
extra : rebase_source : c60c1c25d551e4a7c14c529137f8e0babc888466
extra : source : 7ae4c893867a5f7df81e0757d4b4a6a21cbc6986
2018-07-31 17:47:51 -05:00
Ryan Hunt 16e8c5d426 Bug 1478815 part 9 - Add ability to create a DrawTargetCapture that can flush to its destination draw target. r=bas
This commit adds the ability to create a different kind of DrawTargetCapture which
has a limit on the size of which its CaptureCommandList can grow before it is
synchronously flushed to its destination DrawTarget.

Special care is taken to not do a sync flush until we would need to resize
the backing store of the CaptureCommandList. This allows us to not waste
memory we've already allocated.

The async painting content clients are updated to use it, and get a default
value from a new preference.

MozReview-Commit-ID: CJL7ffvaRzR

--HG--
extra : rebase_source : f646862dcef7a480b21dfb7ddb1fa165338ba506
extra : source : b865a866fe5a3257615cb54b7e5e790cc9331988
2018-07-26 16:33:07 -05:00
Ryan Hunt 2dd7814423 Bug 1478815 part 8 - Remove buffer operations for ContentClient. r=nical
This commit moves ContentClient from creating a CapturedBufferState for
buffer operations, to performing all of those operations on the
DrawTarget(Capture). Creating a DrawTargetCapture is now performed
by the RotatedBuffer when we BeginPaint, all operations are performed
on this capture, and then it's returned to the ClientPaintedLayer
as a PaintTask.

This commit is an involved refactoring of ContentClient and RotatedBuffer
to get this all to work. Here are the major parts:

1. RotatedBuffer is refactored to always perform operations on a single
   DrawTarget, which may be a single DT, dual DT, or capture.
2. RotatedBuffer adds BeginCapture and EndCapture methods to switch
   which DT is used in operations
3. ContentClient uses the RB capture methods when we are async painting
4. CC::BeginPaint is refactored to only perform capturing on a single
   RotatedBuffer. This is because we can't have the output of one
   PaintTask be the input of a different PaintTask due to the design
   of the Snapshot API.
      a. This can occur, today, by doing a FinalizeFrame only to later
         fail to Unrotate the buffer, causing a new RB to be created
         and painted into
      b. The previous PaintThread code worked because it used the
         buffer operations which didn't use Snapshot's
      c. This is fixed by not doing FinalizeFrame on a buffer if we
         realize we cannot unrotate it, and switching to initializing
         a buffer using the front buffer which should be up to date.
      d. I don't like touching this code, but it passes reftests,
         might be a performance improvement, and I've tested it on
         known regressions from the last time I messed up this code.
5. CC::PrepareForPaint is inlined into BeginPaint because dual draw
   targets can be cleared correctly from a previous commit
6. The code paths in ClientPaintedLayer are unified because we no
   longer need to special case this beyond setting the correct
   ContentClient flag.
7. CapturedPaintState and CapturedBufferState are removed in favor
   of PaintTask. Additionally EndLayer is no longer needed as all
   quadrants of a rotated buffer are in the same capture, so we
   don't need special case flushing code.

MozReview-Commit-ID: 9UI40dwran

--HG--
extra : rebase_source : 809d9816970648468de972c30b0c230c2f21e27b
extra : source : 405ad351821813333c0e989b93e2aeb49ba8552c
2018-07-26 11:23:26 -05:00
Ryan Hunt a71d0035ad Bug 1478815 part 7 - Add a buffer unrotate operation to DrawTarget. r=bas
This commit adds a buffer unrotate operation to DrawTarget. It's
initially implemented with LockBits in DrawTarget. DrawTargetDual
overrides the implementation to pass on the operation to it's
DrawTargets.

No override is given for DrawTargetCapture as we intentionally
avoid this code path when async painting as it can fail.

This is needed so that RotatedBuffer can expose a single DrawTarget,
which can be a DrawTarget (for normal alpha), DrawTargetDual (for
component alpha), or DrawTargetCapture (when async painting).

MozReview-Commit-ID: csjjZ733hl

--HG--
rename : gfx/layers/BufferUnrotate.cpp => gfx/2d/BufferUnrotate.cpp
rename : gfx/layers/BufferUnrotate.h => gfx/2d/BufferUnrotate.h
extra : rebase_source : 5d96e2a5d36a01f2f9992adb37830e56436c7c35
extra : source : 64cb50b227e0ae604653f03ce2e892493126392e
2018-08-01 12:50:32 -05:00
Ryan Hunt e3b25e9b10 Bug 1478815 part 6 - Add ability to create a SourceSurfaceDual directly. r=bas
This commit adds the ability to create a SourceSurfaceDual directly,
instead of only from a DrawTargetDual. This allows SourceRotatedBuffer
to expose itself as a single SourceSurface for a later commit.

MozReview-Commit-ID: K21K42cGDy1

--HG--
extra : rebase_source : d3fe48ac711f9cd28799bfd8d36b74750cb15554
extra : source : 392a724d5acd25854e871fa47335c4b938fe9ae1
2018-08-01 12:49:19 -05:00
Ryan Hunt ce8baf18ae Bug 1478815 part 5 - Rename CapturedTiledPaintState to PaintTask. r=nical
This commit renames CapturedTiledPaintState to PaintTask as in a future
commit I will fold CapturedPaintState into it.

MozReview-Commit-ID: 8py7SrK4s29

--HG--
extra : rebase_source : 7abdf127351cdc82ee4c40112dce7150bdb67243
extra : source : 01110727f2e9e0846fc06997653e04860efb23dc
2018-07-24 15:39:35 -05:00
Ryan Hunt 7e8f465799 Bug 1478815 part 4 - Remove buffer operations for TiledContentClient. r=nical
This commit refactors TiledContentClient to not create PaintThread
buffer operations, but to instead perform all of these operations
on the DrawTarget(Capture). This simplifies the code dramatically
and allows us to add flushing behavior to DrawTargetCapture in a
future commit.

With this change, CapturedTiledPaintState is simply a container
for a DrawTarget, DrawTargetCapture, and keep-alive TextureClients.

Part of this commit is moving the logic of locking the texture
clients, constructing a dual draw target, and constructing a capture
into TiledContentClient so it can be shared.

MozReview-Commit-ID: 2rwz9aDI737

--HG--
extra : rebase_source : 4ac317f632c0a2c21480bc88e6246f4dc0daf0be
extra : source : 56d967e03ee225e032034ffd193b6f42b343226b
2018-07-24 14:29:44 -05:00
Ryan Hunt b3f614693b Bug 1478815 part 3 - Add a DualTextureClientLock for texture clients used for component alpha. r=nical
This commit adds a RAII class for the common operation of attempting
to lock one or two TextureClients and then maybe constructing a
DrawTargetDual from them.

MozReview-Commit-ID: ECQkDSgpyuL

--HG--
extra : rebase_source : 6debecb9d4ca33895daa78de3a52a1ed575706e1
extra : source : 082638a5c6432e0ca6ce377986d84ed130b32ad3
2018-08-01 12:46:35 -05:00
Ryan Hunt 9c419c4c91 Bug 1478815 part 2 - Make DrawTargetDual aware of component alpha clearing. r=bas
This commit changes the behavior of DrawTargetDual::Clear to be aware that
it has on-white and on-black buffers, and perform clearing appropriately.

This is slightly against what the DrawTarget documentation says the method
should do, but it allows us to move another paint thread operation into
DrawTargetCapture and simplify our ContentClient implementations.

I haven't seen any obvious breakage with this, and reftests are green.

An alternative would be to add a separate Clear method with documented
difference here.

MozReview-Commit-ID: 65CzcxlRqv7

--HG--
extra : rebase_source : 299adbb02e79f66f7d6860c5fe86784bad8332f8
extra : source : 3dc47f17fa446bb7f2b5876753f8271a93c0e0c8
2018-08-01 12:45:35 -05:00
Ryan Hunt 53537230f9 Bug 1478815 part 1 - Add a PadEdges operation to DrawTarget. r=bas
This commit adds an operation to perform 'edge padding' on a draw
target. By default this is performed using LockBits, but it's
overriden in DrawTargetTiled and DrawTargetCapture to propagate
the call so it functions correctly.

This helps TiledContentClient move from applying this operation
on a per texture client basis, to being able to do it on the
DrawTargetTiled after painting. This in turn helps move all
paint thread operations into DrawTargetCapture.

MozReview-Commit-ID: 2ncOTxGXQfk

--HG--
rename : gfx/layers/BufferEdgePad.cpp => gfx/2d/BufferEdgePad.cpp
rename : gfx/layers/BufferEdgePad.h => gfx/2d/BufferEdgePad.h
extra : rebase_source : a3315644fe31f2a432935dcbfdb9969c58b691e1
extra : source : 699c954992f87db7fc792f5562090de42a8162cb
2018-08-01 12:44:33 -05:00
Jan Beich 5677cde33a Bug 1473732 - Base default number of OMTP workers on the number of logical CPU cores. r=rhunt
system-info is a stub on Tier3 platforms while physical vs. logical
difference only matters for hyper-threading. As hyper-threading
is usually available on CPUs with more than 2 physical cores this
change has no impact there as the default is clamped to [1, 4].
However, on Intel i3-* CPUs with 2 physical and 4 logical cores this
bumps the default from 1 to 3.

MozReview-Commit-ID: 1Yh8rJL2JcN

--HG--
extra : rebase_source : 5c563ec8e388a3fd05a0650e8d4c330d48675332
2018-06-30 22:41:59 +00:00
Andi-Bogdan Postelnicu b2d4c86823 Bug 1453795 - GFX - Initialize member fields in classes/ structures. r=nical
--HG--
extra : rebase_source : 56f2cc017632bf27115490ae05254019108c6179
extra : amend_source : 98ea6c3c02a9f7650d2cf65deaf5085cf9a2efa4
2018-06-16 17:42:33 +03:00
Masatoshi Kimura 3b21b7868b Bug 1090497 - Re-enable warnings as errors on clang-cl. r=froydnj
--HG--
extra : rebase_source : c09366fb93e5b0f72abe1e99d3094e3d96a934fb
extra : intermediate-source : 5950c9d63c3b4fd63a25464a7b50944aaec7079f
extra : source : ca1b9a2bcc4381795f556fea2fb59066567c30f3
2018-07-31 22:10:07 +09:00
Andrew Osmond b30de56ba9 Backed out changeset 3f41992ab77e (bug 1446309) because wrong bug number. r=backout 2018-08-10 09:33:31 -04:00
Andrew Osmond cf006cd593 Bug 1446309 - Store a shared surface's dirty rect update if we cannot process it immediately. r=nical
Multiple tabs in the same process could be viewing the same image. If it
is an image we are taking some time to download from the network, it may
not be displayed all at once. As a result, it could generate several
dirty rects for the newly decoded lines each time we paint. Since we
only apply the dirty rect to the active tab, and forget it afterwards,
then when one returns to the other tab(s), it may not reupload all of
the modified image data. Now we save the dirty rect and accumulate it
for the handles which weren't able to be updated immediately.
2018-08-10 09:30:24 -04:00
Lee Salzman bf12f26ad9 Bug 1479196 - draw missing glyphs from an atlas instead of rectangles. r=jfkthame 2018-08-21 12:40:36 -04:00
Lee Salzman daa9f58360 Bug 1479196 - add support to TextDrawTarget for defining and pushing WR images. r=nical 2018-08-21 12:36:48 -04:00
Kearwood "Kip" Gilbert 7be6545dd6 Bug 1320616 - Use the render pose rather than the gameplay pose for OpenVR headsets r=daoshengmu
The WebVR api was returning a headset pose predicted one additional frame in the
future, but the SteamVR async reprojection was reprojecting it using the
prior (correct) frame's pose.

This resulted in a sickness inducing swimming effect as well as deregistration
from the Vive chaperone bounds.

Differential Revision: https://phabricator.services.mozilla.com/D2693

--HG--
extra : moz-landing-system : lando
2018-08-03 22:05:06 +00:00
ISHIKAWA, Chiaki 4293b59efc Bug 1479950: Bug Fixes the incorrect use of && in place of &. r=lsalzman 2018-07-31 21:17:00 +03:00
Bogdan Tara 4759ec60f7 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-08-03 13:28:32 +03:00
Lee Salzman 864930c221 Bug 1479010 - don't populate a ScaledFont's cairo scaled font unless targeting cairo. r=jrmuizel 2018-08-03 00:56:06 -04:00
Kartikaya Gupta 4e5a308827 Bug 1479939 - Ensure we tell WR to remove the compositable pipelines when clearing resources. r=sotaro
MozReview-Commit-ID: AxuvERUalhb

--HG--
extra : rebase_source : 674a20346c234912f7389d9fc7078c956cf08fc7
2018-08-02 00:17:36 -04:00
Narcis Beleuzu 4684ccf98e Merge inbound to mozilla-central. a=merge 2018-08-03 01:28:14 +03:00
Cosmin Sabou de8c2bd891 Backed out changeset 5950c9d63c3b (bug 1090497) for build bustages on several files. CLOSED TREE 2018-08-02 19:59:53 +03:00
Brian Hackett 3c13dd9f31 Bug 1479641 - Don't record counting allocator amount, r=froydnj.
--HG--
extra : rebase_source : 23de9644662c1f9ed36429074837e54bb7cac868
2018-07-31 19:22:54 +00:00
Masatoshi Kimura feea19030c Bug 1090497 - Re-enable warnings as errors on clang-cl. r=froydnj
--HG--
extra : rebase_source : a62521fdc66def4e4d5d7bf52e68365a786b5c55
extra : source : ca1b9a2bcc4381795f556fea2fb59066567c30f3
2018-07-31 22:10:07 +09:00
Boris Zbarsky 357b6b1348 Bug 1479570. Get Add a getter to get a docshell from nsIWindowlessBrowser. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D2669

--HG--
extra : moz-landing-system : lando
2018-08-03 00:05:07 +00:00
Kartikaya Gupta 83d156a753 Bug 1479432 - Update webrender to commit 7a1b919e37d6cd0155077aa90f98cfcdf9fa5bae. r=jrmuizel
MozReview-Commit-ID: 1SJgRWEp2qf

--HG--
extra : rebase_source : ec6ffe0686f8ef0bf8149347fcfd48e3870bc316
2018-08-02 10:20:04 -04:00
Noemi Erli 8f66a71e70 Merge inbound to mozilla-central. a=merge 2018-08-02 11:54:46 +03:00
Kartikaya Gupta 5090ab5988 Bug 1368603 - Fix intermittent scrollbar drag test failure on Linux. r=botond
On Linux, when synthesizing mousemove events interleaved with button
press/release events, the caller is responsible for waiting for the
mousemove events be dispatched before attempting to synthesize the
press/release buttons, otherwise the events can be delivered by the OS
out of order. This updates a few tests to ensure this is done correctly.

MozReview-Commit-ID: 42HkqTCWToP

--HG--
extra : rebase_source : 57fbc84bcfbed345d8f6d90aaadb3399e691894e
2018-08-01 23:25:05 -04:00
dvarga 956d57e7f2 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-08-02 01:26:29 +03:00
dvarga e487e6e564 Merge inbound to mozilla-central. a=merge 2018-08-02 01:09:38 +03:00
Nicolas Silva 97855cd84d Bug 1474722 - Add a reftest. r=Bas 2018-08-01 17:13:18 +02:00
Nicolas Silva 514e74387d Bug 1474722 - Prevent large rect integer overflows without forbidding large nine-patches. r=Bas 2018-08-01 17:13:12 +02:00
Jonathan Kew 0165cf1194 Bug 1478716 - Ensure we only call FT_Get_MM_Var once per face (and cache the result in the font entry), to avoid being bitten by freetype bug 52955 on Ubuntu. r=lsalzman 2018-08-01 22:39:05 +01:00
David Major f9500eac94 Bug 1479842: Don't PGO gfxFontInfoLoader.cpp with clang-cl. r=froydnj 2018-08-01 15:10:13 -04:00
Randall Barker 6d045ccecb Bug 1479549 Add a pref to disable double tap zooming in APZ r=botond
MozReview-Commit-ID: HK5RWuI6lIk
2018-08-01 11:25:32 -07:00
sotaro 60415ddc5b Bug 1479680 - Change clear_color to (0.0, 0.0, 0.0, 0.0) in webrender r=nical 2018-08-01 08:50:48 +09:00
Xidorn Quan 8421040c69 Bug 1479995 - Rename ScrollbarStyles to ScrollStyles. r=mstange
This change also renames several related functions, as well as fields,
and the header is moved into EXPORTS.mozilla given it is defined under
mozilla namespace.

MozReview-Commit-ID: LqCdcW8fmUN

--HG--
rename : layout/base/ScrollbarStyles.cpp => layout/base/ScrollStyles.cpp
rename : layout/base/ScrollbarStyles.h => layout/base/ScrollStyles.h
extra : rebase_source : 8933f3bca88d5db4b9508e3947f695ecf7511b3e
2018-08-01 16:14:26 +10:00
Bogdan Tara 9c44097a0d Merge inbound to mozilla-central. a=merge 2018-08-01 00:58:55 +03:00
Kartikaya Gupta 43a729e246 Bug 1478035 - Add crashtest. r=mstange
MozReview-Commit-ID: Fopmx8cJtc7

--HG--
extra : rebase_source : b9f9b8e10fc95845fd6f2d6d413106b17e97efee
2018-07-24 15:46:28 -04:00
Lee Salzman c3f5240478 Bug 1258781 - reduce Skia font cache size to 5MB. r=bz 2018-07-31 14:03:22 -04:00
Lee Salzman 0a080bf168 Bug 1473732 - avoid race condition when accessing and creating SkCairoFTTypeface. r=rhunt 2018-07-31 13:32:12 -04:00
Jim Chen 2c94ad0e54 Bug 1472140 - 3. Remove ForceIsFirstPaint ipdl call; r=kats
Remove the PCompositorBridge::ForceIsFirstPaint call that's no longer
used anywhere.
2018-07-31 12:21:49 -04:00
Kearwood Gilbert 17fa5240f0 Bug 1476797 - Indicate VR session activity indepenently of layer presence r=daoshengmu
MozReview-Commit-ID: 4F0vclSj5gB

Differential Revision: https://phabricator.services.mozilla.com/D2451

--HG--
extra : moz-landing-system : lando
2018-07-31 01:41:25 +00:00
Hiroyuki Ikezoe d096c8bddf Bug 1479234 - Include missing headers in D3D11YCbCrImage.cpp and VRLayerChild.cpp. r=hiro
MozReview-Commit-ID: C8VQO46Lm1

--HG--
extra : rebase_source : 5751da5530ac9771ed349b71a2c10fec28904a97
2018-07-31 08:13:19 +09:00
Hiroyuki Ikezoe 0020eaf1a1 Bug 1479234 - Fix the header for gfx::Glyph. r=kats
MozReview-Commit-ID: I0ukIwuxv7z

--HG--
extra : rebase_source : 74c7ad6a43520c3ba5ce96cbd2b13dedd6aaaa22
2018-07-31 06:13:15 +09:00
Hiroyuki Ikezoe 221a08d59e Bug 1479234 - Drop GetAnimationOpacity and GetAnimationTransform ipc calls. r=boris,froydnj
They are no longer used.

MozReview-Commit-ID: 1SaIkj4ryUF

--HG--
extra : rebase_source : 0666e3f297e9c12f8a024e96944d99c2c301820c
2018-07-31 06:13:15 +09:00
Hiroyuki Ikezoe 94f5f622eb Bug 1479234 - Introduce a generic function to get an animation value on the compositor. r=boris,froydnj
On the compositor we store animation values in a hash table and the hash is
the compositor animation id which is a unique id for each property respectively.
So we can get the corresponding animation value for the given property.

In this patch there are lots of duplicated code, but they will be removed in the
next patch.

MozReview-Commit-ID: 7EboVcculcg

--HG--
extra : rebase_source : 304ea80849af8af72a07437736041aeabbe47eeb
2018-07-31 06:13:15 +09:00
Jim Chen 9c55d02aa5 Bug 1472140 - 1. Set first paint flag when resuming and resizing composition; r=rbarker
When resuming composition in a new GeckoView, we wait for the first
paint signal in order to uncover the SurfaceView. This patch makes sure
that we always send the first paint signal.

MozReview-Commit-ID: EZeOR80d8HY

--HG--
extra : rebase_source : f82ab94ef87e5b0651f368918e8cd8a97469c68e
2018-07-30 16:38:35 -04:00
Imanol Fernandez 25d362ba4f Bug 1479424 - Fix VRManager NotifyVSync not called when compositor is paused on Android; r=kip,rbarker
MozReview-Commit-ID: JY8xyCSKIgv

--HG--
extra : rebase_source : 8ae0ba070bba5cc03137c4053a7730ad89090e96
2018-07-30 18:14:05 +02:00
Coroiu Cristina 9e8155b8f6 Merge inbound to mozilla-central a=merge 2018-07-31 00:58:28 +03:00
Cosmin Sabou 09c97210a7 Backed out 2 changesets (bug 1473732) for devtools and web platform reftest leaks. CLOSED TREE
Backed out changeset 7742f4ea046b (bug 1473732)
Backed out changeset 3354b6d032f3 (bug 1473732)
2018-07-30 20:52:11 +03:00
Jonathan Kew a78b7458a9 Bug 1478720 - Increase the fractional adjustment applied to 'opsz' on macOS to avoid using the font's default setting, which may be mishandled by Core Text. r=lsalzman 2018-07-30 17:53:09 +01:00
Jamie Nicol 35e92591dd Bug 1474883 - Ensure D2D glyph cache is pruned after rendering 1000 transformed glyphs. r=bas
Rendering glyphs at many different rotations was causing the D2D glyph
cache to grow very large. Calling EndDraw/BeginDraw will prune the
cache, but is costly, so only do it for every 1000 glyphs.

MozReview-Commit-ID: HUFpxDvYAzQ

--HG--
extra : rebase_source : de283c5e687da07e5417e0d221d7f45b992080d5
2018-07-26 15:23:19 +01:00
Kartikaya Gupta 78157f60ff Bug 1477970 - Update webrender to commit 8a4fe66528aa362721e4048aac3cd5abf7faaf2c. r=jrmuizel
MozReview-Commit-ID: H40i6i2LmAl

--HG--
extra : rebase_source : 5bd5ea3be3463b3f91a2e64da4e2c99c55cecd45
2018-07-30 09:35:05 -04:00
Kartikaya Gupta 3faf3e38d9 Bug 1478016 - Add a strongly-typed LayersObserverEpoch type. r=mattwoodrow
MozReview-Commit-ID: 6fELexXRYeV

--HG--
extra : rebase_source : 0eb028ee9b98199d18421f7ff28433189940fdca
2018-07-30 09:24:50 -04:00
sotaro 2d7e793ae4 Bug 1478570 - Fix ExternalImageId allocation of AsyncImagePipelineManager r=jrmuizel 2018-07-30 10:16:03 +09:00
Imanol Fernandez 3866161569 Bug 1478754 - WebGL crash when webgl.enable-surface-texture is enabled on Android; r=jgilbert,rbarker
MozReview-Commit-ID: GBTvZiLspvP

--HG--
extra : rebase_source : ff568522fecd415decd27b6b8bf7abe72c0bcd99
2018-07-28 12:33:55 +02:00
Gurzau Raul ebe874201b Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-07-28 12:49:02 +03:00
Gurzau Raul db79375c66 Merge inbound to mozilla-central. a=merge 2018-07-28 12:45:44 +03:00
Kartikaya Gupta 22456cd52b Bug 1479075 - Ensure FlushRenderingAsync actually flushes the compositor. r=sotaro
MozReview-Commit-ID: AfVIwLj2YJp

--HG--
extra : rebase_source : 3c9f4af10be9ab38fb708a2be4cb9393cd7e86c7
2018-07-28 04:47:08 -04:00
Mitch Ament c7c03f661b Bug 1477335 - Replace reference member AsyncPanZoomController::mFrameMetrics with getter functions which return mScrollMetadata.mMetrics. r=botond
This fixes a const correctness loophole.

MozReview-Commit-ID: I8yM74OAr8m

--HG--
extra : rebase_source : 8aeea554bfeff7efe03cd9a00539a6100e040b8a
2018-07-27 14:58:46 -04:00
Cosmin Sabou d71fce60ce Merge mozilla-central to mozilla-inbound. a=merge 2018-07-28 01:56:40 +03:00
Jeff Gilbert 0e128a3868 Bug 1470985 - s/PodEqual/ArrayEqual/ from ArrayUtils.h. - r=waldo
We can't use memcmp to compare PODs, largely because of undefined
padding. The rest of the Pod* functions are fine though, since we're
replicating or zeroing PODs.

MozReview-Commit-ID: LSspAi8qCWw
2018-07-27 14:11:18 -07:00
Ryan Hunt d50993e6a4 Bug 1477799 - Use the paint thread instead of workers when we only have one worker. r=jrmuizel
MozReview-Commit-ID: 3mR4KrS924N

--HG--
extra : rebase_source : 3075243361b7f1772854c85336e7d75a207b8cb6
extra : source : ccf97cb6779fafeb54f30b251487ae24c630e08b
2018-07-19 12:41:34 -05:00
Doug Thayer 3604605cfc Bug 1478704 - Compute shader adjustments for mask separately r=jrmuizel,mstange
When masking as a secondary effect to RENDER_TARGET, mFBOTextureTarget
will have a target of GL_TEXTURE_2D, leading us to not use sampler2DRect
and friends for the mask. This fixes that, and also assures our coord
adjustments are based on the mask texture's dimensions.

MozReview-Commit-ID: JSDfDJuLNSa

--HG--
extra : rebase_source : 77010ae331f4d004e9b716e6063334d98529bf5f
2018-07-27 09:56:34 -07:00
Doug Thayer a6b91271e5 Bug 1478704 - Use GL_TEXTURE_RECTANGLE_ARB for client storage r=jrmuizel
Now that the shader problems are fixed it's a simple switch.

MozReview-Commit-ID: 6MJlEVITwii

--HG--
extra : rebase_source : cb33bd45196eca26476c52c2c50e51f03f6129f8
2018-07-26 16:55:55 -07:00
Doug Thayer 2df99d5c56 Bug 1478704 - Fully generalize shader generation to rect textures r=jrmuizel
I'm not sure if there was a reason for not fully generalizing the
sampler2DRect and texture2DRect stuff throughout the shader
generalization file. It seemed the simplest thing was to fully
replace it - even if in some cases it doesn't make sense it's
more consistent, and it definitely fixes the trouble we were having
with switching to GL_TEXTURE_RECTANGLE_ARB for client storage.

MozReview-Commit-ID: 7243OjQdakN

--HG--
extra : rebase_source : 756741bbff4c56edec64cc6dd367328974b83b35
2018-07-26 16:54:48 -07:00
Andreea Pavel 3746d597a1 Backed out 3 changesets (bug 1478704) on request by dthayer for breaking video
Backed out changeset c57be31d3c06 (bug 1478704)
Backed out changeset c77acf366e1c (bug 1478704)
Backed out changeset 3329c8f5582a (bug 1478704)
2018-07-28 01:23:16 +03:00
Doug Thayer 030dbb65b5 Bug 1478704 - Compute shader adjustments for mask separately r=jrmuizel,mstange
When masking as a secondary effect to RENDER_TARGET, mFBOTextureTarget
will have a target of GL_TEXTURE_2D, leading us to not use sampler2DRect
and friends for the mask. This fixes that, and also assures our coord
adjustments are based on the mask texture's dimensions.

MozReview-Commit-ID: JSDfDJuLNSa

--HG--
extra : rebase_source : c779b18789196c9352a862a17f4a1e8d799805ec
2018-07-27 09:56:34 -07:00
Doug Thayer dcac2af944 Bug 1478704 - Use GL_TEXTURE_RECTANGLE_ARB for client storage r=jrmuizel
Now that the shader problems are fixed it's a simple switch.

MozReview-Commit-ID: 6MJlEVITwii

--HG--
extra : rebase_source : 7c91165633d5bc4fb07135781774998b0e1f1cf0
2018-07-26 16:55:55 -07:00
Doug Thayer f2242da77b Bug 1478704 - Fully generalize shader generation to rect textures r=jrmuizel
I'm not sure if there was a reason for not fully generalizing the
sampler2DRect and texture2DRect stuff throughout the shader
generalization file. It seemed the simplest thing was to fully
replace it - even if in some cases it doesn't make sense it's
more consistent, and it definitely fixes the trouble we were having
with switching to GL_TEXTURE_RECTANGLE_ARB for client storage.

MozReview-Commit-ID: 7243OjQdakN

--HG--
extra : rebase_source : d1b9f51f45d0cb875c82f3de5b2ea917e0385077
2018-07-26 16:54:48 -07:00
Jan Beich b252c0cc61 Bug 1473732 - Base default number of OMTP workers on the number of logical CPU cores. r=rhunt
system-info is a stub on Tier3 platforms while physical vs. logical
difference only matters for hyper-threading. As hyper-threading
is usually available on CPUs with more than 2 physical cores this
change has no impact there as the default is clamped to [1, 4].
However, on Intel i3-* CPUs with 2 physical and 4 logical cores this
bumps the default from 1 to 3.

MozReview-Commit-ID: 1Yh8rJL2JcN

--HG--
extra : rebase_source : 3e497f254ce91e4a8e539d475f90690831bcbe07
2018-06-30 22:41:59 +00:00
Lee Salzman adfdc21527 Bug 1473732 - Avoid race condition when accessing and creating SkCairoFTTypeface. r=rhunt
--HG--
extra : rebase_source : 658a1fc2a7e3f3bcab1c6f5d7a5070d762beaeef
2018-07-30 12:11:46 -04:00
Kartikaya Gupta b154baea17 Bug 1478504 - Inline function only used in a couple of places. r=sotaro
MozReview-Commit-ID: JfOgsxUHSlu

--HG--
extra : rebase_source : bc08909aa478071daf862ba355e2e4df03dfcf00
2018-07-27 09:43:41 -04:00
Kartikaya Gupta bfa67498d5 Bug 1478504 - Use NotifyPipelineRendered instead of DidComposite for WebRender. r=sotaro
MozReview-Commit-ID: 4eaMTEPD9NY

--HG--
extra : rebase_source : 7d2f5b5fe4d45f135f0899dccf6a910848b5c7e4
2018-07-27 09:42:30 -04:00
Dorel Luca 704612cf44 Merge mozilla-inbound to mozilla-central. a=merge 2018-07-27 13:19:26 +03:00
Csoregi Natalia 470d472200 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-07-27 01:01:27 +03:00
Thomas P. cd613a5787 Bug 1477858 - add Qcms fuzzing target dictionary. r=decoder 2018-07-23 22:34:16 +00:00
Emilio Cobos Álvarez 517256e365 Bug 1478391: Autogenerate StyleAppearance. r=jwatt
This builds on bug 1428676 and introduces StyleAppearance, which replaces the
NS_THEME_* constants.

Really sorry for the size of the patch.

There's a non-trivial change in the gtk theme, which I submitted separately as
bug 1478385.

Differential Revision: https://phabricator.services.mozilla.com/D2361

MozReview-Commit-ID: DiSmMWK7Krp
2018-07-26 17:06:17 +02:00
Jeff Muizelaar fd810fa7ce Bug 1478150. Restrict webrender qualified to modern Nvidia gpus. r=kats
MozReview-Commit-ID: 1CyOgLkqD40

--HG--
extra : rebase_source : 0766de768efa82cf70f98a262d7e33b6dfd258d9
2018-07-26 15:10:35 -04:00
Lee Salzman 8a02469d65 Bug 1478084 - fix recursive locking in SkFontHost_cairo. r=jrmuizel 2018-07-26 15:23:53 -04:00
Lee Salzman 79d6db9a30 Bug 1478084 - make cairo_font_face_set_user_data thread-safe. r=jrmuizel 2018-07-26 15:23:25 -04:00
Cosmin Sabou acd8ea2c75 Backed out changeset e354029775b8 (bug 1473732) for causing leaks at gfxFT2FontBase::GetGlyph, GetCharWidth. CLOSED TREE 2018-07-26 04:40:00 +03:00
Jan Beich 061b467f45 Bug 1473732 - Base default number of OMTP workers on the number of logical CPU cores. r=rhunt
system-info is a stub on Tier3 platforms while physical vs. logical
difference only matters for hyper-threading. As hyper-threading
is usually available on CPUs with more than 2 physical cores this
change has no impact there as the default is clamped to [1, 4].
However, on Intel i3-* CPUs with 2 physical and 4 logical cores this
bumps the default from 1 to 3.

MozReview-Commit-ID: 1Yh8rJL2JcN

--HG--
extra : rebase_source : 77613cbb99c14f19217592080bfd51ea2194422b
2018-06-30 22:41:59 +00:00
Cosmin Sabou a313ea14ff Merge mozilla-inbound to mozilla-central. a=merge 2018-07-25 21:21:50 +03:00
Cosmin Sabou 76b0913227 Merge autoland to mozilla-central. a=merge 2018-07-25 21:20:49 +03:00
Andreea Pavel da179a7f47 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2018-07-25 18:13:30 +03:00
sotaro 2bcc8b96f5 Bug 1477608 - Reuse same ExternalImageId for different video frames if possible r=jrmuizel 2018-07-25 23:30:08 +09:00
Sebastian Hengst bd900ee36a Merge mozilla-inbound to mozilla-central. a=merge 2018-07-25 17:16:53 +03:00
Tiberius Oros 036999d0a9 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-07-25 13:43:03 +03:00
Kartikaya Gupta e16af06073 Bug 1468020 - Add crashtest. r=mstange
MozReview-Commit-ID: KeWy2KHPSjl

--HG--
extra : rebase_source : d077abc9c926feaa13808d624b15024729560e6a
2018-07-24 16:38:25 -04:00
Kartikaya Gupta 533c8b4d83 Bug 1468020 - Extract helper function to avoid duplicated code. r=mstange
MozReview-Commit-ID: JuirkAId7Km

--HG--
extra : rebase_source : c9d15e9fd4a823b321aff9c1048b659f87d03823
2018-07-24 16:38:25 -04:00
Kartikaya Gupta ad4d295efb Bug 1468020 - Conform to static analysis bot suggestion. r=mstange
MozReview-Commit-ID: KeWy2KHPSjk

--HG--
extra : rebase_source : 87764ba4387e1a53d8d6fdb66c1fe03669dee943
2018-07-24 16:38:25 -04:00
Kartikaya Gupta c219864291 Bug 1468020 - Don't layerize filter and mask items. r=mstange
This restricts the active-item-detection code to wrap lists and
perspective items because other wrapper items are not supported yet.

MozReview-Commit-ID: JuirkAId7Kk

--HG--
extra : rebase_source : 971de2c56d183090bb9a8701af62ada493e39b77
2018-07-24 16:37:38 -04:00
Bogdan Tara 1cd7dec7b6 Backed out 4 changesets (bug 1468020) for crashtest failures on gfx/tests/crashtests/1468020.html CLOSED TREE
Backed out changeset 262d541a474f (bug 1468020)
Backed out changeset 621ab5087373 (bug 1468020)
Backed out changeset 866492bf5ccf (bug 1468020)
Backed out changeset eb6a2ae68d09 (bug 1468020)
2018-07-24 22:57:02 +03:00
Imanol Fernandez c7746a52c2 Bug 1476380 - Remove the spin wait in Android gfxVRExternal PullState calls; r=kip
MozReview-Commit-ID: 7pwMhE7emwY

--HG--
extra : rebase_source : f7ce0053855e51c0b166a0a9e686e2f2e9a09e22
2018-07-24 16:27:58 +02:00
Jeff Gilbert c4da2d9fee Bug 1471632 - Cherry-pick mingw clang compilation fix.
Differential Revision: https://phabricator.services.mozilla.com/D2346

--HG--
extra : moz-landing-system : lando
2018-07-24 23:23:52 +00:00
Kartikaya Gupta 76a7f3cba7 Bug 1468020 - Add crashtest. r=mstange
MozReview-Commit-ID: KeWy2KHPSjl

--HG--
extra : rebase_source : d22c55d1d0fa17bf722f4540ab7fb3243a3001af
2018-07-24 14:21:09 -04:00
Kartikaya Gupta 970bd5648f Bug 1468020 - Extract helper function to avoid duplicated code. r=mstange
MozReview-Commit-ID: JuirkAId7Km

--HG--
extra : rebase_source : 3e2b3d228b3ad6dafc11dc89631778cd23580c9c
2018-07-24 14:21:08 -04:00
Kartikaya Gupta af58b4a732 Bug 1468020 - Conform to static analysis bot suggestion. r=mstange
MozReview-Commit-ID: KeWy2KHPSjk

--HG--
extra : rebase_source : 4280ba5c9f2b77e5c5ed98cfc9b9e586c4794add
2018-07-24 14:21:08 -04:00
Kartikaya Gupta 614fc7e747 Bug 1468020 - Don't layerize filter and mask items. r=mstange
This restricts the active-item-detection code to wrap lists because
other wrapper items are not supported yet.

MozReview-Commit-ID: JuirkAId7Kk

--HG--
extra : rebase_source : 5dbb8af8504f301ca49273b4f6f434a91524860a
2018-07-24 14:21:07 -04:00