Commit Graph

32833 Commits

Author SHA1 Message Date
Kartikaya Gupta
0699c44e5a Bug 1529117 - Bump serde and serde_derive to branch from 1.0.88. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D20460

--HG--
extra : moz-landing-system : lando
2019-02-27 11:09:50 +00:00
Glenn Watson
fde9185d49 Bug 1530915 - Change external scroll offset to be a vector. r=emilio
Change the external scroll offset to be a vector, rather than a
point. This can also be updated gecko-side in future, but for
now is converted to a vector at the API boundary.

Also plumb through the external scroll offset so that it is stored
inside the ScrollFrameInfo in a spatial node. This will allow
modifying the transforms that the clip-scroll tree creates to
take into account the external scroll offset in future.

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

--HG--
extra : moz-landing-system : lando
2019-02-27 05:26:50 +00:00
Daosheng Mu
1048e35c21 Bug 1530588 - Remove duplicate copy of geckoState in VRSystemManagerExternal::PushState. r=kip
MozReview-Commit-ID: Emmkw2CazxB

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

--HG--
extra : moz-landing-system : lando
2019-02-27 00:02:06 +00:00
Kartikaya Gupta
41138306e0 Bug 1527807 - Disable subpixel AA on Android. r=Gankro
Differential Revision: https://phabricator.services.mozilla.com/D21269

--HG--
extra : moz-landing-system : lando
2019-02-26 21:39:07 +00:00
Kartikaya Gupta
deff2f485b Bug 1392259 - Drop reference to outstanding issue since the issue was resolved. r=me and DONTBUILD 2019-02-27 16:43:43 -05:00
Daniel Varga
3599b0576d Merge mozilla-central to mozilla-inbound. a=merge
--HG--
rename : browser/base/content/test/general/browser_bug655584.js => browser/components/urlbar/tests/browser/browser_switchTab_closesUrlbarPopup.js
rename : browser/base/content/test/general/browser_bug555767.js => browser/components/urlbar/tests/browser/browser_switchToTab_closes_newtab.js
rename : mobile/android/themes/core/about.css => toolkit/themes/mobile/global/about.css
rename : mobile/android/themes/core/aboutMemory.css => toolkit/themes/mobile/global/aboutMemory.css
rename : mobile/android/themes/core/aboutSupport.css => toolkit/themes/mobile/global/aboutSupport.css
extra : rebase_source : 5fd5811cdafdf926348a80fbb1a1427b9c113f90
2019-02-27 18:36:49 +02:00
Chris Peterson
13d583f829 Bug 1528881 - Part 9: gfx/layers: Move CreateTextureHostBasic/D3D11/OGL() function declarations to header files. r=mattwoodrow
clang's -Wmissing-prototypes option identifies global functions that can be made static (because they're only called from one compilation unit) or removed (if they're never called).

In this case, moving these functions' declarations to header files means the same declaration will be seen by the .cpp files defining each function and TextureHost.cpp calling the functions.

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

--HG--
extra : source : ffeda0b30541127073de4892ba3e1a6e8bd0f15f
extra : intermediate-source : 22238a64f3da13ed0f8de826092def10a427a55a
extra : histedit_source : b6f1c1e39ddf16f7e5716eb07915114b94204174
2019-02-17 23:05:15 -08:00
Chris Peterson
8cd5f7de32 Bug 1528881 - Part 8: gfx/layers: Move ShutdownTileCache() function declaration to header file. r=mattwoodrow
clang's -Wmissing-prototypes option identifies global functions that can be made static (because they're only called from one compilation unit) or removed (if they're never called).

In this case, moving ShutdownTileCache()'s function declaration to the header file TiledContentClient.h means the same declaration will be seen by the TiledContentClient.cpp file defining the function and the gfxPlatform.cpp calling the function.

gfx/layers/client/TiledContentClient.cpp:337:6 [-Wmissing-prototypes] no previous prototype for function 'ShutdownTileCache'

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

--HG--
extra : source : 495273cd3fdc65f353d5562573503fc897760603
extra : histedit_source : fab19badff1cadd66212cf182978217b398c0fe6
2019-02-17 14:18:57 -08:00
Chris Peterson
bac6d697ae Bug 1528881 - Part 6: gfx/layers: Make some global functions static. r=mattwoodrow
clang's -Wmissing-prototypes option identifies global functions that can be made static (because they're only called from one compilation unit) or removed (if they're never called).

gfx/layers/composite/ContainerLayerComposite.cpp:132:6 [-Wmissing-prototypes] no previous prototype for function 'TransformLayerGeometry'
gfx/layers/composite/LayerManagerComposite.cpp:1409:6 [-Wmissing-prototypes] no previous prototype for function 'ComputeVisibleRegionForChildren'
gfx/layers/composite/LayerManagerComposite.cpp:234:6 [-Wmissing-prototypes] no previous prototype for function 'ShouldProcessLayer'
gfx/layers/composite/TiledContentHost.cpp:156:6 [-Wmissing-prototypes] no previous prototype for function 'UseTileTexture'
gfx/layers/ipc/CompositorBridgeParent.cpp:1827:6 [-Wmissing-prototypes] no previous prototype for function 'EraseLayerState'
gfx/layers/ipc/CompositorBridgeParent.cpp:2140:6 [-Wmissing-prototypes] no previous prototype for function 'UpdateIndirectTree'
gfx/layers/opengl/OGLShaderProgram.cpp:28:6 [-Wmissing-prototypes] no previous prototype for function 'AddUniforms'

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

--HG--
extra : source : f5653a8b1bc5a02cf899fe87cb3ebc9796b0b0b1
extra : histedit_source : 4f44f15098c42b4b1fa141de7b8593c128b58596
2019-02-17 14:25:01 -08:00
Barret Rennie
f9efa579d1 Bug 1444449 - Implement CompositorD3D11::BlitRenderTarget r=bas
Differential Revision: https://phabricator.services.mozilla.com/D18147

--HG--
extra : moz-landing-system : lando
2019-02-19 14:54:12 +00:00
Barret Rennie
8366a43e96 Bug 1444449 - Implement AsyncReadbackBuffer APIs for CompositorD3D11 r=mstange,bas
Differential Revision: https://phabricator.services.mozilla.com/D18146

--HG--
extra : moz-landing-system : lando
2019-02-19 14:54:12 +00:00
Barret Rennie
d31c311fda Bug 1444449 - Implement CompositorD3D11::GetWindowRenderTarget API r=mstange,bas
Differential Revision: https://phabricator.services.mozilla.com/D18145

--HG--
extra : moz-landing-system : lando
2019-02-19 14:54:12 +00:00
shindli
c442603050 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-02-26 18:58:45 +02:00
shindli
c780ef516c Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-02-26 12:20:22 +02:00
Bas Schouten
a4220fc608 Bug 1526045 - Part 2: Verify all DrawTargets created through CreateOffscreenContentDrawTarget. r=rhunt
Preferrably CreateOffscreenContentDrawTarget would create Capture DrawTargets when we intend to use OMTP. This is not the case at the moment though and changing this would likely introduce more unforseen issues. For now all of these calls basically mean a DrawTarget will be used on the main thread and we should use a no-op ClearRect to ensure that the DrawTarget is actually initialized. Since IsValid for the moment won't do this for DrawTargetD2D. (See bug 1521368)

--HG--
extra : rebase_source : 6a5c1732d3908be748ea4d05668f4a7562828f6a
2019-02-26 08:46:08 +01:00
Glenn Watson
1008811aea Bug 1530518 - Refactor the way stacking context coords are converted to reference frame coords. r=emilio
This doesn't introduce any functional changes. However, it refactors
the way that stacking context coords are converted into reference
frame relative coordinates.

Having a single method to retrieve the current offset will make it
easier to take advantage of the newly added API that allows Gecko
to supply initial scroll offsets for scroll nodes. In turn, this
will allow WR to normalize the local coordinates of primitives, which
will allow future improvements and simplifications to the picture
caching implementation.

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

--HG--
extra : moz-landing-system : lando
2019-02-25 22:31:06 +00:00
Byron Campen [:bwc]
7b480b92cd Bug 1521879 - Part 2: Fix include-what-you-use bugs triggered by unified compilation. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D17274

--HG--
extra : moz-landing-system : lando
2019-02-25 21:51:11 +00:00
Glenn Watson
1500229636 Bug 1530242 - Enable some picture caching invalidation tests in wrench. r=emilio
A number of small tweaks to enable the picture caching invalidation
tests. With this in place, we can start adding more test coverage
for various invalidation scenarios.

- Make the reference image render after the test images, so that dirty
  region tracking is more intuitive.
- Instead of replaying the same frame in wrench to ensure frames are
  caching, try to cache tiles every frame when testing mode is enabled.
- Add a basic invalidation test for a rectangle with color that changes
  each frame.
- Make the dirty region index implicit and rename dirty_region to dirty
  in reftest format.
- Fix an underflow error when moving to next frame in wrench.

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

--HG--
extra : moz-landing-system : lando
2019-02-25 22:25:22 +00:00
Cosmin Sabou
a499294d09 Backed out 4 changesets (bug 1516454, bug 1530247) for multiple failures on Linux x64 asan. CLOSED TREE
Backed out changeset 180c7672c57c (bug 1516454)
Backed out changeset a460a4d0a66c (bug 1516454)
Backed out changeset c6ab8d3dd19a (bug 1530247)
Backed out changeset 43862dc87e0b (bug 1516454)
2019-02-26 00:49:27 +02:00
Noemi Erli
7e23372938 Merge mozilla-central to autoland. a=merge CLOSED TREE
--HG--
extra : rebase_source : de8796d5d7d7079af1b895a2f537371885f8cc6c
2019-02-26 00:09:40 +02:00
Emilio Cobos Álvarez
b411b3894d Bug 1516454 - Use rust lengths for border corners. r=boris
The test in https://github.com/web-platform-tests/wpt/pull/15423 hasn't been
synced over yet, but it passes with this patch of course.

Differential Revision: https://phabricator.services.mozilla.com/D20960
2019-02-25 12:42:31 -08:00
Kartikaya Gupta
280260b8d0 Bug 1519718 - Follow-up to bump the fuzz number slightly, so the test passes on AppVeyor too. rs=kvark 2019-02-25 09:04:23 -05:00
Oana Pop Rus
d102d1fb55 Merge autoland to mozilla-central. a=merge
--HG--
rename : gfx/wr/wrench/reftests/blend/multiply-2-ref.yaml => gfx/wr/wrench/reftests/blend/multiply-3-ref.yaml
rename : gfx/wr/wrench/reftests/blend/multiply-3.yaml => gfx/wr/wrench/reftests/blend/multiply-4.yaml
extra : rebase_source : 3dcaf2f7e006ea8d3b1c48e7b851623dc9a2bf2e
2019-02-25 12:07:31 +02:00
Gurzau Raul
e6740c75fc Backed out 10 changesets (bug 1521879) for causing bug 1530107. a=backout
Backed out changeset f597a73a6eac (bug 1521879)
Backed out changeset 0bb76534f207 (bug 1521879)
Backed out changeset abcb8be12adf (bug 1521879)
Backed out changeset ed6c8d3bbfde (bug 1521879)
Backed out changeset 1addf1e15b55 (bug 1521879)
Backed out changeset 6b709cd9a479 (bug 1521879)
Backed out changeset 07747027c59c (bug 1521879)
Backed out changeset a6105ccc188c (bug 1521879)
Backed out changeset 48c9c643e7bb (bug 1521879)
Backed out changeset d4004105a04a (bug 1521879)
2019-02-25 12:12:15 +02:00
Dorel Luca
4a4dcd57fa Backed out 4 changesets (bug 1525319) for Android failures in dom/base/test/test_progress_events_for_gzip_data.html
Backed out changeset b73f033efb41 (bug 1525319)
Backed out changeset 1d318d5c6b98 (bug 1525319)
Backed out changeset 6d73418988d4 (bug 1525319)
Backed out changeset 84ca79bd2dc3 (bug 1525319)
2019-02-25 04:06:11 +02:00
Dzmitry Malyshau
0bf19769e6 Bug 1519718 - WR mix-blend rewrite r=gw
This is a new implementation of mix-blend compositing that is meant to be more idiomatic to WR and efficient.

Previously, mix-blend mode was composed in the following way:
  1. parent stacking context was forced to isolate
  2. source picture is also isolated
  3. when rendering the isolated context, the framebuffer is read upon reaching the source. Both the readback and the source are placed in the RT cache.
  4. a mix-blend draw call is issued to read from those cache segments and blend on top of the backdrop

The new implementation works by using the picture cutting (intruduced for preserve-3D contexts earlier) and some bits of magic:
  1. backdrop stacking context is isolated with a special composition mode that prevents it from actually rendeing unless the suorce stacking context is invisible.
  2. source stacking context is isolated with mix-blend composition mode that has a pointer to the backdrop picture
  3. the instance of the backdrop picture is placed as a peer of the source picture (not a child)
  4. if the backdrop is invisible, the source is drawn as a simple blit
  5. otherwise, it's a draw call that reads from the isolated backdrop and source textures

Note the differences:
  - parent stacking context is not isolated, but backdrop is
  - no framebuffer readback is involved
  - the source and backdrop pictures are rendered in parallel in a pass, improving the batching
  - we don't blend onto the backdrop while reading from the backdrop copy at the same time
  - the depth of the render pass tree is reduced: previously the parent and the source were isolated, now the source and the backdrop, which are siblings

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

--HG--
rename : gfx/wr/wrench/reftests/blend/multiply-2-ref.yaml => gfx/wr/wrench/reftests/blend/multiply-3-ref.yaml
rename : gfx/wr/wrench/reftests/blend/multiply-3.yaml => gfx/wr/wrench/reftests/blend/multiply-4.yaml
extra : moz-landing-system : lando
2019-02-25 00:17:22 +00:00
Jonathan Kingston
63ab2bd8aa Bug 1525319 - Removing context from OnDataAvailable r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20881

--HG--
extra : moz-landing-system : lando
2019-02-24 20:27:55 +00:00
Jonathan Kingston
332531fa9c Bug 1525319 - Removing context from OnStopRequest r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20770

--HG--
extra : moz-landing-system : lando
2019-02-24 20:26:59 +00:00
Jonathan Kingston
2441197975 Bug 1525319 - Removing context from OnStartRequest r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D20769

--HG--
extra : moz-landing-system : lando
2019-02-24 20:26:16 +00:00
Doug Thayer
9785d8bd59 Bug 1441308 - Ensure lazy init of debug renderer in draw_frame_debug_items r=gw
Document splitting is crashing with early initialization of the debug
renderer. Not sure why, and this is just a temporary workaround, but
one that I think we want anyway, as we don't want to be unnecessarily
lazy-initting the debug renderer.

Depends on D20698

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

--HG--
extra : moz-landing-system : lando
2019-02-26 15:29:15 +00:00
Emilio Cobos Álvarez
b7bb398730 Bug 1516454 - Use rust lengths for border corners. r=boris
The test in https://github.com/web-platform-tests/wpt/pull/15423 hasn't been
synced over yet, but it passes with this patch of course.

Differential Revision: https://phabricator.services.mozilla.com/D20960
2019-02-26 06:01:34 -08:00
Razvan Maries
98aa3c3fde Backed out 2 changesets (bug 1519718) for causing perma fails on blend-gradient-background-color.html. a=backout
Backed out changeset 4f11ca736067 (bug 1519718)
Backed out changeset 4fefbf627bfc (bug 1519718)

--HG--
rename : gfx/wr/wrench/reftests/blend/multiply-3-ref.yaml => gfx/wr/wrench/reftests/blend/multiply-2-ref.yaml
2019-02-24 16:16:30 +02:00
Dzmitry Malyshau
9ddfc7834c Bug 1519718 - Remove accidental wrench log r=kats
Log was landed my mistake in https://phabricator.services.mozilla.com/D20608

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

--HG--
extra : moz-landing-system : lando
2019-02-23 19:31:15 +00:00
Dzmitry Malyshau
575dd4463b Bug 1519718 - WR mix-blend rewrite r=gw
This is a new implementation of mix-blend compositing that is meant to be more idiomatic to WR and efficient.

Previously, mix-blend mode was composed in the following way:
  1. parent stacking context was forced to isolate
  2. source picture is also isolated
  3. when rendering the isolated context, the framebuffer is read upon reaching the source. Both the readback and the source are placed in the RT cache.
  4. a mix-blend draw call is issued to read from those cache segments and blend on top of the backdrop

The new implementation works by using the picture cutting (intruduced for preserve-3D contexts earlier) and some bits of magic:
  1. backdrop stacking context is isolated with a special composition mode that prevents it from actually rendeing unless the suorce stacking context is invisible.
  2. source stacking context is isolated with mix-blend composition mode that has a pointer to the backdrop picture
  3. the instance of the backdrop picture is placed as a peer of the source picture (not a child)
  4. if the backdrop is invisible, the source is drawn as a simple blit
  5. otherwise, it's a draw call that reads from the isolated backdrop and source textures

Note the differences:
  - parent stacking context is not isolated, but backdrop is
  - no framebuffer readback is involved
  - the source and backdrop pictures are rendered in parallel in a pass, improving the batching
  - we don't blend onto the backdrop while reading from the backdrop copy at the same time
  - the depth of the render pass tree is reduced: previously the parent and the source were isolated, now the source and the backdrop, which are siblings

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

--HG--
rename : gfx/wr/wrench/reftests/blend/multiply-2-ref.yaml => gfx/wr/wrench/reftests/blend/multiply-3-ref.yaml
rename : gfx/wr/wrench/reftests/blend/multiply-3.yaml => gfx/wr/wrench/reftests/blend/multiply-4.yaml
extra : moz-landing-system : lando
2019-02-23 03:34:56 +00:00
Alex Gaynor
0e903787da Bug 1415508 - use Span in constructing a byte input stream; r=mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D20687

--HG--
extra : moz-landing-system : lando
2019-02-25 19:11:20 +00:00
Kartikaya Gupta
b8ad25821d Bug 1499113 - Multiply transform scales into the blur radius for blur filters. r=kvark
Without this patch any enclosing scale transform between a blurred
picture and the nearest raster root was being ignored entirely for the
purposes of blur.

Also includes a couple of reftests to exercise this code.

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

--HG--
extra : moz-landing-system : lando
2019-02-25 17:12:17 +00:00
Kartikaya Gupta
3d5d6cd639 Bug 1499113 - Turn the blur stddev value into a tuple with horizontal and vertical components. r=kvark
This patch is just plumbing; no functional changes intended.

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

--HG--
extra : moz-landing-system : lando
2019-02-25 17:33:24 +00:00
Jamie Nicol
8ad32e5644 Bug 1498732 - Ensure PBO texture upload is performed asynchronously on webrender on Adrenos. r=kvark
Currently on Android we upload texture data to the webrender texture
cache using a PBO. On Adreno GPUs, however, this upload is still being
done synchronously, and profiles show a lot of time spent waiting in
glTexSubImage3D.

The problem is that the stride of the data in the PBO is not a
multiple of 256 bytes, so the driver is not able to DMA the upload.

This patch ensures that data is laid out optimally in the PBO, using
glMapBufferRange then copying the data line-by-line if required. This
allows the driver to perform the upload asynchronously as intended.

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

--HG--
extra : moz-landing-system : lando
2019-02-25 15:00:09 +00:00
Jamie Nicol
32ffe0f9b1 Bug 1498732 - Update gleam to 0.6.9. r=kats
This provides the functions glMapBufferRange and glUnmapBuffer.

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

--HG--
extra : moz-landing-system : lando
2019-02-25 14:59:01 +00:00
Jeff Gilbert
d7246df19b Bug 1530035 - Replace OSXVersionMinor/Major() with nsCocoaFeatures::IsAtLeastVersion. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D20883

--HG--
extra : moz-landing-system : lando
2019-02-23 03:28:28 +00:00
Razvan Maries
d7a2f49ed8 Merge mozilla-inbound to mozilla-central a=merge 2019-02-23 06:15:14 +02:00
Daosheng Mu
dfed686aab Bug 1523923 - Cancel VR submit frame tasks when the VRDisplayHost is destroyed. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D20692

--HG--
extra : moz-landing-system : lando
2019-02-22 22:04:00 +00:00
Ciure Andrei
0e59b4108e Backed out changeset b5b2ecf454b0 (bug 1519718) for causing webrender-windows bustage CLOSED TREE
--HG--
rename : gfx/wr/wrench/reftests/blend/multiply-3-ref.yaml => gfx/wr/wrench/reftests/blend/multiply-2-ref.yaml
2019-02-23 01:13:38 +02:00
Dzmitry Malyshau
d34bbe138b Bug 1519718 - WR mix-blend rewrite r=gw
This is a new implementation of mix-blend compositing that is meant to be more idiomatic to WR and efficient.

Previously, mix-blend mode was composed in the following way:
  1. parent stacking context was forced to isolate
  2. source picture is also isolated
  3. when rendering the isolated context, the framebuffer is read upon reaching the source. Both the readback and the source are placed in the RT cache.
  4. a mix-blend draw call is issued to read from those cache segments and blend on top of the backdrop

The new implementation works by using the picture cutting (intruduced for preserve-3D contexts earlier) and some bits of magic:
  1. backdrop stacking context is isolated with a special composition mode that prevents it from actually rendeing unless the suorce stacking context is invisible.
  2. source stacking context is isolated with mix-blend composition mode that has a pointer to the backdrop picture
  3. the instance of the backdrop picture is placed as a peer of the source picture (not a child)
  4. if the backdrop is invisible, the source is drawn as a simple blit
  5. otherwise, it's a draw call that reads from the isolated backdrop and source textures

Note the differences:
  - parent stacking context is not isolated, but backdrop is
  - no framebuffer readback is involved
  - the source and backdrop pictures are rendered in parallel in a pass, improving the batching
  - we don't blend onto the backdrop while reading from the backdrop copy at the same time
  - the depth of the render pass tree is reduced: previously the parent and the source were isolated, now the source and the backdrop, which are siblings

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

--HG--
rename : gfx/wr/wrench/reftests/blend/multiply-2-ref.yaml => gfx/wr/wrench/reftests/blend/multiply-3-ref.yaml
rename : gfx/wr/wrench/reftests/blend/multiply-3.yaml => gfx/wr/wrench/reftests/blend/multiply-4.yaml
extra : moz-landing-system : lando
2019-02-22 22:22:06 +00:00
sotaro
481ac38791 Bug 1529027 - Make WebRenderImageHost to hold WeakPtr<WebRenderBridgeParent> r=nical
Log is added to check if WrBridge mismatch happened.

Differential Revision: https://phabricator.services.mozilla.com/D20435
2019-02-23 08:59:53 +09:00
Coroiu Cristina
6a915c899d Merge mozilla-central to inbound a=merge 2019-02-22 18:41:16 +02:00
Nicolas Silva
b9092ff14c Bug 1528753 - Update euclid dependency. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D20176

--HG--
extra : moz-landing-system : lando
2019-02-21 14:41:36 +00:00
Nicolas Silva
6ccb0762a3 Bug 1528753 - Compute the layout space tiling origin. r=kvark
The tiling origin is computed withing image::tiles instead of being provided to the function.
In addition, the image rect in device space is exposed as function parameter.
In a followup, callers will have to determine the correct image rect using the blob image's visible area.

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

--HG--
extra : moz-landing-system : lando
2019-02-19 18:16:41 +00:00
Dorel Luca
3b7aa5a584 Merge mozilla-central to autoland. CLOSED TREE
--HG--
extra : amend_source : 7031cab1673ebf517464fe27a8320beee794f1d8
2019-02-22 09:23:50 +02:00
sotaro
d33affb03f Bug 1528865 - Change SwapChain's BufferUsage as to add DXGI_USAGE_SHADER_INPUT r=kvark
DXGI_USAGE_SHADER_INPUT is set for improving performance of copying from framebuffer to texture on intel gpu.

Differential Revision: https://phabricator.services.mozilla.com/D20622
2019-02-22 08:31:12 +09:00
Agi Sferro
3f65ec073d Backed out changeset f5a7724e2c03 for causing crash in Fennec. r=backout
See https://bugzilla.mozilla.org/show_bug.cgi?id=1529697.

--HG--
extra : rebase_source : 507958a7e0e2e3b74da155263950656c6c8776bf
2019-02-21 13:53:22 -08:00
Jeff Gilbert
8fda14347f Bug 1527534 - Reuse LoadApitraceLibrary. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D20418
2019-02-21 13:38:51 -08:00
Narcis Beleuzu
9a26332ec2 Merge autoland to mozilla-central. a=merge 2019-02-21 17:59:30 +02:00
Oana Pop Rus
e3f2246ee8 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-02-21 11:42:10 +02:00
Oana Pop Rus
b36e97fc77 Merge inbound to mozilla-central. a=merge 2019-02-21 11:31:00 +02:00
Nicolas Silva
fd337e9ded Bug 1476368 - Add VecHelper::take/take_and_preallocate. r=gw
--HG--
extra : source : 8bc9ab1a56f9985c0c8e6c85758a121d577b264f
extra : histedit_source : 3155f5881349ec818032547492e83532a894d32c
2019-02-19 17:53:31 +01:00
Nicolas Silva
f9b5d37783 Bug 1476368 - Avoid moving picture primitives when destroying them. r=gw
--HG--
extra : source : 88f409bc495a135764d75ac22802c2fca94d7be3
extra : histedit_source : fa57c05c5227b676ba5f7c582c00b6d1511d89be
2019-02-19 18:39:06 +01:00
Nicolas Silva
83085f11a5 Bug 1476368 - Reserve storage for the dynamic property vectors in the bindings before filling them. r=kvark
--HG--
extra : source : 4246885397b41acd0cfd60fa2ec50d75584ec84a
extra : histedit_source : cc18ffbad76aca8d3f8e598fb61832597c9c371c
2019-02-19 18:43:41 +01:00
Nicolas Silva
93f732bfcd Bug 1476368 - Avoid moving texture cache entries when evicting them. r=gw
--HG--
extra : source : 03e1b2ae53bb312d91f7251740a9cc575d7ac3cd
extra : histedit_source : 463663b79fd134e72e5130b642d347d0244340cb
2019-02-20 09:16:44 +01:00
Nicolas Silva
859c756fae Bug 1476368 - Pre-allocate primitives vector in setup_picture_caching. r=gw
--HG--
extra : source : 32aa85626f6c484dff616ec9ae78ca53ea38dec5
extra : histedit_source : 109a92a512932d686f31906c37392f5f55db18e8
2019-02-20 10:01:28 +01:00
Nicolas Silva
b6c94f1ece Bug 1476368 - Pre-allocate vectors in HitTester::read_clip_scroll_tree. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D20507

--HG--
extra : source : 96b0377ea3ce47ef806331cb7ca7881aaafdf2c1
extra : histedit_source : 97034307c821c468828f65a9aeb9436fd7cd7e7b
2019-02-20 10:11:09 +01:00
Nicolas Silva
a9803d039d Bug 1529272 - Reduce the amount of allocations, hashing and moves related to FontInstance. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D20503

--HG--
extra : source : 8c408c32fb6fdd1162938336ab26ece65a249c82
extra : histedit_source : c19032ba76065988f2fb4bc62d207e2437bfb90e
2019-02-22 14:53:37 +01:00
Brindusan Cristian
f282736243 Backed out changeset 0e6973ba9fe5 (bug 1526045) for build bustages at gfxPlatform.cpp. CLOSED TREE 2019-02-26 08:56:06 +02:00
Bas Schouten
3bc90cc49b Bug 1526045 - Part 2: Verify all DrawTargets created through CreateOffscreenContentDrawTarget. r=rhunt
Preferrably CreateOffscreenContentDrawTarget would create Capture DrawTargets when we intend to use OMTP. This is not the case at the moment though and changing this would likely introduce more unforseen issues. For now all of these calls basically mean a DrawTarget will be used on the main thread and we should use a no-op ClearRect to ensure that the DrawTarget is actually initialized. Since IsValid for the moment won't do this for DrawTargetD2D. (See bug 1521368)

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

--HG--
extra : rebase_source : 7b9f4c5ed66d5ecaf613634c660f085de3584fd3
2019-02-25 19:12:13 +01:00
Timothy Nikkel
c85a512b81 Bug 1505871. Add a wrench reftest. 2019-02-26 00:16:37 -06:00
Timothy Nikkel
3bf7ef2abf Bug 1505871. Fix comment to not trigger angle_shader_validation.rs.
angle_shader_validation.rs just checks that the number of "switch" and "default:" are the same number in the source file, even if they occur in comments.
2019-02-26 00:16:37 -06:00
Timothy Nikkel
78f0cf02be Bug 1505871. Work around a suspected shader miscompilation on Windows. r=gw
On Windows the vFuncs array is always 0 in the fragment shader. If we move the computation of the vFuncs array outside of the switch (so that it is computed for every type of shader, even when it is not needed) then it works.
2019-02-26 00:16:37 -06:00
Timothy Nikkel
6919a21fa6 Bug 1505871. Implementation of shaders. r=gw 2019-02-26 00:16:37 -06:00
Timothy Nikkel
487492593e Bug 1505871. Implement putting the required data in the gpu cache for component transfer. r=gw
For table/discrete we just create a lookup table for all 256 possible input values. We should probably switch to just computing the value in the shader, unless the list of value is really long.
2019-02-26 00:16:37 -06:00
Timothy Nikkel
c0ef28ed8e Bug 1505871. Pass DataStores to prepare_for_render. r=gw
We need this to get get filter data from the intern table.
2019-02-26 00:16:37 -06:00
Timothy Nikkel
7a0fe66d40 Bug 1505871. Don't borrow frame_state.surface for the duration of prepare_for_render. r=gw
We need to call update on the filter data handle which needs to use frame_state (in a later patch), so we can't borrow across that call.
2019-02-26 00:16:36 -06:00
Timothy Nikkel
02ac32975f Bug 1505871. Implement the necessary things for interning of filter data. r=gw 2019-02-26 00:16:36 -06:00
Timothy Nikkel
dad4e9d0b7 Bug 1505871. Implement yaml reader/writer for component transfer. r=jrmuizel 2019-02-26 00:16:36 -06:00
Timothy Nikkel
f39f60fa91 Bug 1505871. Write component transfer filter data into the webrender display list bitstream. r=jrmuizel
The format for stacking contexts in the built display list goes from

PushStackingContext item
push_iter of Vec<FilterOp>

to

SetFilterOps item
push_iter of Vec<FilterOp>
1st SetFilterData item
push_iter of array of func types
push_iter funcR values
push_iter funcG values
push_iter funcB values
push_iter funcA values
.
.
.
nth SetFilterData item
push_iter of array of func types
push_iter funcR values
push_iter funcG values
push_iter funcB values
push_iter funcA values
PushStackingContext item

We need separate a SetFilterData item for each filter because we can't push_iter a variable sized thing.

When we iterate over the built display list to flatten it we work similarly to how gradients work with a SetGradientStops item before the actual gradient item. So when we see SetFilterOps or SetFilterData we use them to fill out values on the built display list iterator but don't those items return them to the iterator user and instead continue iterating until we hit the PushStackingContext item, at which point to the iterator consumer it appears as those the FilterOps and FilterDatas were on the PushStackingContext item. (This part is trickier too since we need a TempFilterData type that just holds ItemRange's until we get the actual bytes later.)

Do we need to clear cur_filters and cur_filter_data at some point to prevent them from getting ready by items for which they do not apply?
2019-02-26 00:16:36 -06:00
Timothy Nikkel
4a54583c19 Bug 1505871. C++ code to get component transfer filter data into webrender. r=jrmuizel
Have to use a pointer/size pair to transfer the value list to rust.

We use a "filter holder" that contains an nsTArray that owns the values.
2019-02-26 00:16:36 -06:00
Timothy Nikkel
b2695b4b73 Backed out changeset 2bf33f573505 2019-02-25 22:48:35 -06:00
Timothy Nikkel
213203d8e5 Backed out changeset 90660632d641 2019-02-25 22:48:04 -06:00
Timothy Nikkel
736fc91b3f Backed out changeset def812790f5c 2019-02-25 22:47:54 -06:00
Timothy Nikkel
8238bfd239 Backed out changeset 11c9d5a64a30 2019-02-25 22:47:40 -06:00
Timothy Nikkel
e4b483e186 Backed out changeset 1206e1a32e5f 2019-02-25 22:47:23 -06:00
Timothy Nikkel
aac71db24c Bug 1505871. Don't borrow frame_state.surface for the duration of prepare_for_render. r=gw
We need to call update on the filter data handle which needs to use frame_state (in a later patch), so we can't borrow across that call.
2019-02-25 22:45:16 -06:00
Timothy Nikkel
22cf8be9b7 Bug 1505871. Implement the necessary things for interning of filter data. r=gw 2019-02-25 22:45:16 -06:00
Timothy Nikkel
24dc00068c Bug 1505871. Implement yaml reader/writer for component transfer. r=jrmuizel 2019-02-25 22:45:16 -06:00
Timothy Nikkel
5455bb5b62 Bug 1505871. Write component transfer filter data into the webrender display list bitstream. r=jrmuizel
The format for stacking contexts in the built display list goes from

PushStackingContext item
push_iter of Vec<FilterOp>

to

SetFilterOps item
push_iter of Vec<FilterOp>
1st SetFilterData item
push_iter of array of func types
push_iter funcR values
push_iter funcG values
push_iter funcB values
push_iter funcA values
.
.
.
nth SetFilterData item
push_iter of array of func types
push_iter funcR values
push_iter funcG values
push_iter funcB values
push_iter funcA values
PushStackingContext item

We need separate a SetFilterData item for each filter because we can't push_iter a variable sized thing.

When we iterate over the built display list to flatten it we work similarly to how gradients work with a SetGradientStops item before the actual gradient item. So when we see SetFilterOps or SetFilterData we use them to fill out values on the built display list iterator but don't those items return them to the iterator user and instead continue iterating until we hit the PushStackingContext item, at which point to the iterator consumer it appears as those the FilterOps and FilterDatas were on the PushStackingContext item. (This part is trickier too since we need a TempFilterData type that just holds ItemRange's until we get the actual bytes later.)

Do we need to clear cur_filters and cur_filter_data at some point to prevent them from getting ready by items for which they do not apply?
2019-02-25 22:45:15 -06:00
Timothy Nikkel
b9d0354d8a Bug 1505871. C++ code to get component transfer filter data into webrender. r=jrmuizel
Have to use a pointer/size pair to transfer the value list to rust.

We use a "filter holder" that contains an nsTArray that owns the values.
2019-02-25 22:45:15 -06:00
Chris Peterson
45bbf620fc Bug 1528881 - Part 7: gfx/layers: Remove some unused functions. r=mattwoodrow
clang's -Wmissing-prototypes option identifies global functions that can be made static (because they're only called from one compilation unit) or removed (if they're never called).

gfx/layers/Layers.cpp:58:7 [-Wmissing-prototypes] no previous prototype for function 'FILEOrDefault'
gfx/layers/ipc/CompositorThread.cpp:26:25 [-Wmissing-prototypes] no previous prototype for function 'GetCompositorThreadHolder'
MINIMUM_TILE_COPY_AREA()

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

--HG--
extra : rebase_source : 5c80a140cbd661644e2076a8852a0cfe58539083
extra : source : 7f44c2bcebce0b4bd549d653e4eff8b4bad71e29
2019-02-17 16:04:13 -08:00
Chris Peterson
e77882620f Bug 1528881 - Part 4: gfx/2d: Make some global functions static. r=lsalzman
And #include "BufferUnrotate.h" in BufferUnrotate.cpp for BufferUnrotate() function prototype.

clang's -Wmissing-prototypes option identifies global functions that can be made static (because they're only called from one compilation unit) or removed (if they're never called).

gfx/2d/BufferUnrotate.cpp:17:6 [-Wmissing-prototypes] no previous prototype for function 'BufferUnrotate'
gfx/2d/DrawTargetCairo.cpp:195:6 [-Wmissing-prototypes] no previous prototype for function 'ReleaseData'
gfx/2d/DrawTargetCairo.cpp:201:18 [-Wmissing-prototypes] no previous prototype for function 'CopyToImageSurface'
gfx/2d/DrawTargetCairo.cpp:239:18 [-Wmissing-prototypes] no previous prototype for function 'GetAsImageSurface'
gfx/2d/DrawTargetCairo.cpp:251:18 [-Wmissing-prototypes] no previous prototype for function 'CreateSubImageForData'
gfx/2d/DrawTargetCairo.cpp:272:18 [-Wmissing-prototypes] no previous prototype for function 'ExtractSubImage'
gfx/2d/DrawTargetCairo.cpp:308:18 [-Wmissing-prototypes] no previous prototype for function 'GetCairoSurfaceForSourceSurface'
gfx/2d/DrawTargetRecording.cpp:26:6 [-Wmissing-prototypes] no previous prototype for function 'RecordingSourceSurfaceUserDataFunc'
gfx/2d/DrawTargetRecording.cpp:272:6 [-Wmissing-prototypes] no previous prototype for function 'RecordingFontUserDataDestroyFunc'
gfx/2d/DrawTargetWrapAndRecord.cpp:26:6 [-Wmissing-prototypes] no previous prototype for function 'WrapAndRecordSourceSurfaceUserDataFunc'
gfx/2d/DrawTargetWrapAndRecord.cpp:358:6 [-Wmissing-prototypes] no previous prototype for function 'WrapAndRecordFontUserDataDestroyFunc'
gfx/2d/FilterNodeSoftware.cpp:1816:6 [-Wmissing-prototypes] no previous prototype for function 'IsAllZero'
gfx/2d/FilterNodeSoftware.cpp:183:37 [-Wmissing-prototypes] no previous prototype for function 'CloneAligned'
gfx/2d/MacIOSurface.cpp:442:6 [-Wmissing-prototypes] no previous prototype for function 'MacIOSurfaceBufferDeallocator'
gfx/2d/QuartzSupport.mm:38:6 [-Wmissing-prototypes] no previous prototype for function 'cgdata_release_callback'
gfx/2d/ScaledFontMac.cpp:191:10 [-Wmissing-prototypes] no previous prototype for function 'CalcTableChecksum'
gfx/2d/ScaledFontMac.cpp:224:5 [-Wmissing-prototypes] no previous prototype for function 'maxPow2LessThan'
gfx/2d/unittest/TestCairo.cpp:12:6 [-Wmissing-prototypes] no previous prototype for function 'TryCircle'

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

--HG--
extra : rebase_source : b42bce33ed899caeb89e462d99a5cde29a9bb559
extra : intermediate-source : 7923cc86a6394bcd2fb3b7e38f458a5180d31e11
extra : source : 02388f2454e8842d2c023bf9f9fab222d8130093
2019-02-16 18:08:30 -08:00
Andrea Marchesini
9e8594dfcb Bug 1526214 - Get rid of network.cookie.leave-secure-alone, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D19125

--HG--
extra : moz-landing-system : lando
2019-02-20 09:42:22 +00:00
Cosmin Sabou
9f8b29287b Merge mozilla-central to autoland. 2019-02-21 05:43:34 +02:00
Cosmin Sabou
f3db52f4cf Merge mozilla-inbound to mozilla-central. a=merge 2019-02-21 05:42:03 +02:00
Masatoshi Kimura
e59e3b3e20 Bug 1528651 - Fix some trivial warnings and re-enable warnings-as-errors on Windows in some directories. r=dmajor
--HG--
extra : source : 5ee9efeda9e67f6af0521be85266703763cc4c50
2019-02-19 20:42:11 +09:00
sotaro
17f7778647 Bug 1521466 - Stop composite during handling device reset r=nical
By stopping composite during handling device reset, we could reduce a possibility of crashes.

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

--HG--
extra : moz-landing-system : lando
2019-02-20 15:49:20 +00:00
Glenn Watson
9ef53fde87 Bug 1529378 - Corruption on Google Calendar time period selector. r=kvark
This bug occurs under the following conditions:
 - The clip chain instance has multiple clip items.
 - The first item in the clip chain is a clip rectangle, with:
   - ClipMode::Clip
   - Is in the same coordinate system as the primitive.

In this case, the code would skip adding the clip rect to the
mask (due to the same coord system). However, the logic that
determines whether to render subsequent masks with blend disabled
or multiplicative blend was only considering the index of the
clip item in the clip chain. In this case, these masks would
get added to the blend enabled batches, but the first clip mask
which would have written the initial mask values was skipped.

The end result was that the subsequent clip masks would be
blending with uninitialized render target contents from a previous
frame.

This patch changes the logic to track when the first clip mask
has actually been added to the batch, rather than relying on
the index. In this case, it means that the rounded rect mask
will get drawn in the blend disabled path, writing the correct
mask values without blending with the existing render target contents.

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

--HG--
extra : moz-landing-system : lando
2019-02-21 03:05:59 +00:00
Cosmin Sabou
6872844079 Backed out changeset e74b9560a9d4 (bug 1528396) for causing mochitest webgl failures on test_pixel_pack_buffer. CLOSED TREE 2019-02-21 04:39:09 +02:00
Kartikaya Gupta
495aefb222 Bug 1523080 - Add a reftest. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D20484

--HG--
extra : moz-landing-system : lando
2019-02-20 19:24:14 +00:00
Kartikaya Gupta
3797456260 Bug 1523080 - Don't apply the pipeline clip to display items inside a SC with a clip. r=kvark
Without this patch, if we got a display item with the root clip id, we
would always clip that display item with the root clip of the enclosing
pipeline. However, this violates the documented semantics on
ClipId::root() which states that it effectively does no clipping.
Specifically, it could end up doing clipping if the display item was
part of a scrollframe that was scrolled such that the display item
extended beyond the enclosing pipeline.

This patch adds an extra argument to some of the flattening functions -
the flag is true when recursing the DL between a pipeline item and the
first stacking context that has a clip. For these items, the pipeline
clip is applied. Once inside the stacking context, the pipeline clip is
not applied.

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

--HG--
extra : moz-landing-system : lando
2019-02-20 20:40:05 +00:00
Kartikaya Gupta
35b16df12a Bug 1428158 - Fix static analysis errors in Android widgetry code. r=snorp
Just a few implicit constructors that need to be made explicit.

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

--HG--
extra : moz-landing-system : lando
2019-02-20 19:58:15 +00:00
Agi Sferro
d820bcd635 Bug 1529322 - Remove webgl.enable-surface-texture. r=jgilbert
Looks like this is not needed anymore and we can just use SurfaceTexture
everywhere.

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

--HG--
extra : moz-landing-system : lando
2019-02-20 19:18:08 +00:00
Jeff Gilbert
878881b125 Bug 1528396 - More precise GL symbol loading. r=lsalzman
In particular, don't fallback to loading symbols from any loaded
library.

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

--HG--
extra : moz-landing-system : lando
2019-02-20 15:46:03 +00:00
Jeff Gilbert
2f680de24a Bug 1528396 - More precise GL symbol loading. r=lsalzman
In particular, don't fallback to loading symbols from any loaded
library.

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

--HG--
extra : moz-landing-system : lando
2019-02-22 21:17:28 +00:00
Jeff Gilbert
d8d7ebde0c Bug 1129354 - Implement draft extension OES_fbo_render_mipmap. r=lsalzman,qdot
Differential Revision: https://phabricator.services.mozilla.com/D20397

--HG--
extra : moz-landing-system : lando
2019-02-22 19:25:20 +00:00
Csoregi Natalia
208f1b790a Backed out 2 changesets (bug 1529117) for failures on webdriver/tests/new_session/invalid_capabilities.py. CLOSED TREE
Backed out changeset 27882e7ca2a9 (bug 1529117)
Backed out changeset fcfafe134f70 (bug 1529117)
2019-02-20 18:20:49 +02:00
Kartikaya Gupta
15cd3ce2f6 Bug 1529117 - Bump serde_derive to branch from 1.0.88. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D20460

--HG--
extra : moz-landing-system : lando
2019-02-20 13:58:32 +00:00
Hiroyuki Ikezoe
3b8b937340 Bug 1525805 - Don't apply the minimum scale size if user-scalable=no is specified. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D20206

--HG--
extra : moz-landing-system : lando
2019-02-20 10:04:30 +00:00
Csoregi Natalia
769bb21bcf Backed out changeset 931ffb6a2a7a (bug 1525805) by request. CLOSED TREE 2019-02-20 11:46:17 +02:00
Hiroyuki Ikezoe
062a28422e Bug 1525805 - Don't apply the minimum scale size if user-scalable=no is specified. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D20206

--HG--
extra : moz-landing-system : lando
2019-02-20 09:17:26 +00:00
sotaro
c51309eab2 Bug 1529148 - Remove WebRenderImageHost::mUseAsyncImagePipeline r=nical
WebRenderImageHost::mUseAsyncImagePipeline is not used anymore.

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

--HG--
extra : moz-landing-system : lando
2019-02-20 08:27:09 +00:00
Nicolas Silva
a1a6e98c02 Bug 1476368 - Preallocate a few more items in the render task tree. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D20193

--HG--
extra : moz-landing-system : lando
2019-02-19 19:17:31 +00:00
Nicolas Silva
cb6ed5e452 Bug 1527884 - Make webrender_build publishable. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D20134

--HG--
extra : moz-landing-system : lando
2019-02-19 16:06:01 +00:00
Daniel Varga
4587d14668 Merge mozilla-inbound to mozilla-central. a=merge 2019-02-20 06:01:45 +02:00
Jeff Gilbert
d6410e953a Bug 1528394 - Reduce includes of GLContext.h. r=lsalzman
Splitting part of OGLShaderProgram.h out into OGLShaderConfig.h makes it
easier to keep GLContext.h included in OGLShaderProgram.h for inlining
purposes.

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

--HG--
extra : moz-landing-system : lando
2019-02-19 23:25:42 +00:00
Glenn Watson
9314a751d7 Bug 1491929 - Text is rasterized at the wrong resolution. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D20276

--HG--
extra : moz-landing-system : lando
2019-02-19 20:25:40 +00:00
Glenn Watson
702c53489e Bug 1528157 - Optimize GPU time for clip mask generation. r=kvark
On integrated GPUs, we are typically completely bound by memory
bandwidth and the number of pixels that get written / blended.

On real world pages, it's often the case that we end up with
clip tasks that are long in one dimension but not the other, due
to box-shadow edges, clip mask segments etc. When this occurs,
the logic that tries to get a small 'used_rect' to clear targets
to fails, since the union of those ends up being a very large
rect that covers (most of) the surface. This can cost a lot of
GPU time on some integrated chipsets.

Instead, it appears to be much faster to issue multiple clears,
one for each clip mask region, which is typically < 10% of the
surface we were clearing previously.

However, we can also restore an old optimization we used to have
which means we can skip clears altogether in the common case. The
first mask in a clip task will write to all the pixels in the mask,
so we can draw that with blending disabled (also a significant win
on integrated GPUs) and skip the clear in these cases. With this
functionality in place, the multiplicative blend mode is only
enabled for any clips other than the first in a mask (this is
quite a rare case - most clip tasks end up with a single mask).

On low end GPUs driving a 4k screen, I've measured GPU wins of up
to 5 ms/frame on some real world pages with this change.

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

--HG--
extra : moz-landing-system : lando
2019-02-19 20:52:27 +00:00
Lee Salzman
7f5a1fd684 Bug 1525549 - use SkTypefaceCache::FindByProcAndRef to associate typefaces with fontconfig fonts. r=rhunt 2019-02-19 15:08:03 -05:00
Dorel Luca
342127c75f Backed out changeset 2c28c2185a32 (bug 1528394) for build bustage. CLOSED TREE 2019-02-19 22:09:07 +02:00
Bogdan Tara
aedbe0b772 Merge inbound to mozilla-central. a=merge 2019-02-19 19:34:25 +02:00
Emilio Cobos Álvarez
d2cbf071d5 Bug 1528712 - Remove nsFont::featureValueLookup. r=jfkthame
It's a global object, it doesn't have to be stored in nsFont. Pass it from the
caller like the user font set and co.

Depends on D20141

Differential Revision: https://phabricator.services.mozilla.com/D20142
2019-02-19 14:54:04 +01:00
Jeff Gilbert
58e561b983 Bug 1528394 - Reduce includes of GLContext.h. r=lsalzman
Splitting part of OGLShaderProgram.h out into OGLShaderConfig.h makes it
easier to keep GLContext.h included in OGLShaderProgram.h for inlining
purposes.

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

--HG--
extra : moz-landing-system : lando
2019-02-19 05:23:54 +00:00
Masatoshi Kimura
e25fbce870 Bug 1528651 - Re-enable warnings-as-errors on Windows in some directories. r=dmajor
--HG--
extra : source : ba86ea25070b37f4725834e1c2d9ec4c0783e119
2019-02-17 15:03:02 +09:00
Ciure Andrei
965d533ca4 Backed out 2 changesets (bug 1528712) for Linux spcshell and reftest failures (test_ext_browserSettings.js, 1022481-1.html) CLOSED TREE
Backed out changeset 2d5c4e71e258 (bug 1528712)
Backed out changeset d981515b874b (bug 1528712)
2019-02-19 14:25:57 +02:00
Emilio Cobos Álvarez
f97a9f50a2 Bug 1528712 - Remove nsFont::featureValueLookup. r=jfkthame
It's a global object, it doesn't have to be stored in nsFont. Pass it from the
caller like the user font set and co.

Depends on D20141

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

--HG--
extra : moz-landing-system : lando
2019-02-18 14:03:47 +00:00
Glenn Watson
9214b9fd29 Bug 1528866 - Specify device pixel ratio per render task. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D20245

--HG--
extra : moz-landing-system : lando
2019-02-19 09:11:09 +00:00
Jonathan Kew
e17031a2ca Bug 1528758 - No need for a null-check before calling hb_*_destroy functions, as they do it internally. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D20177

--HG--
extra : moz-landing-system : lando
2019-02-18 17:16:22 +00:00
sotaro
087c420a72 Bug 1526213 - Enable WebRenderTextureHostWrapper for canvas r=nical
By using WebRenderTextureHostWrapper for canvas, we could avoid triggering frame build on WebRender backend if WebRenderTextureHostWrapper is only change.

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

--HG--
extra : moz-landing-system : lando
2019-02-18 09:33:32 +00:00
Nicolas Silva
b92eadafcf Bug 1476368 - Preallocate the render task tree. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D19916

--HG--
extra : moz-landing-system : lando
2019-02-15 16:57:43 +00:00
Dorel Luca
33e05d0370 Merge mozilla-central to mozilla-inbound 2019-02-17 12:50:55 +02:00
Csoregi Natalia
952908fda0 Merge mozilla-central to mozilla-inbound. CLOSED TREE 2019-02-17 00:14:07 +02:00
Botond Ballo
67de81297c Bug 1527516 - Enable RDL in APZ mochitests that had it disabled due to container scrolling. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D19605

--HG--
extra : moz-landing-system : lando
2019-02-16 22:11:10 +00:00
Botond Ballo
996accd4cb Bug 1527516 - Disable container scrolling for test_group_minimum_scale_size.html. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D19604

--HG--
extra : moz-landing-system : lando
2019-02-16 22:11:00 +00:00
Sylvestre Ledru
e0c61dafa5 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
Summary: # ignore-this-changeset

Reviewers: Ehsan

Reviewed By: Ehsan

Subscribers: emilio, jandem, bbouvier, jya

Bug #: 1519636

Differential Revision: https://phabricator.services.mozilla.com/D20062
2019-02-16 20:20:37 +01:00
Coroiu Cristina
e6520f0a4d Merge inbound to mozilla-central a=merge 2019-02-16 11:36:46 +02:00
Markus Stange
ad3f9a53de Bug 1500692 - Add GRAPHICS subcategories. r=njn,mattwoodrow
r?njn only because this is the first example that adds any actual subcategories.

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

--HG--
extra : moz-landing-system : lando
2019-02-16 17:38:23 +00:00
Markus Stange
0b151b8c2b Bug 1500692 - Centralize profiling category definition and add infrastructure for subcategories. r=njn
The actual subcategories will be added in later patches, so that there are no
unused categories.

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

--HG--
extra : moz-landing-system : lando
2019-02-16 17:37:43 +00:00
Botond Ballo
0e93ad31bf Bug 1526486 - Disable container scrolling in APZ zoom mochitests. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D19222

--HG--
extra : moz-landing-system : lando
2019-02-16 00:52:07 +00:00
Botond Ballo
df99bc4ec1 Bug 1526486 - Hook up reftest-async-{scroll,zoom} for containerless scrolling. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D19218

--HG--
extra : moz-landing-system : lando
2019-02-16 00:51:27 +00:00
Dzmitry Malyshau
78eba476ed Bug 1527325 - Refactor webrender_api includes r=gw,nical
Differential Revision: https://phabricator.services.mozilla.com/D19499

--HG--
extra : moz-landing-system : lando
2019-02-15 18:59:31 +00:00
Cosmin Sabou
8cb8ef3973 Merge mozilla-central to autoland. 2019-02-15 20:50:34 +02:00
Cosmin Sabou
a4b19fcd61 Merge mozilla-inbound to mozilla-central. a=merge
--HG--
rename : browser/components/nsBrowserContentHandler.js => browser/components/BrowserContentHandler.jsm
2019-02-15 20:39:45 +02:00
Andrew Osmond
bc9d7000be Bug 1527085 - Ensure we invalidate when the image request changes. r=jrmuizel
When the underlying image request (imgIRequest) changes for an image, we
need to ensure that we invalidate the cached WebRenderImageData such that
the image container stored therein is updated to be for the correct
image. This gets a little tricky because some display items store both
the current and previous images, and choose to display the latter if the
former is not yet ready. We also don't know what image the image
container belongs to. As such, we now compare the producer ID of the
current frame in the image container, to the expected producer ID of the
current image request. If they don't match, we must regenerate the
display list.

Differential Revision: https://phabricator.services.mozilla.com/D19699
2019-02-15 09:24:21 -05:00
Noemi Erli
0e4944369a Backed out changeset 541f044e3e7b (bug 1527325) for webrender bustage CLOSED TREE 2019-02-15 20:14:54 +02:00
Dzmitry Malyshau
1a4b75a034 Bug 1527325 - Refactor webrender_api includes r=gw,nical
Differential Revision: https://phabricator.services.mozilla.com/D19499

--HG--
extra : moz-landing-system : lando
2019-02-15 17:39:40 +00:00
Nicolas Silva
faade4c98a Bug 1527884 - Make wr_malloc_size_of publishable. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D19942

--HG--
extra : moz-landing-system : lando
2019-02-15 15:47:00 +00:00
Nicolas Silva
b32dce70e6 Bug 1527884 - WebRender version 0.60.0. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D19796

--HG--
extra : moz-landing-system : lando
2019-02-15 02:54:40 +00:00
Sylvestre Ledru
41d1d79094 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-02-15 08:15:57 +00:00
Kartikaya Gupta
ca0bceb4a8 Bug 1516568 - Fuzz a couple of mac reftests. r=gw
For some reason running these via cross-compiled wrench in Mozilla
automation produces a few pixels difference.

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

--HG--
extra : source : f06721b552a819e4d2456f1c31d62c782d9a42cb
2019-02-15 01:32:10 +00:00
Kartikaya Gupta
c5e6c813f1 Bug 1516568 - Update WR mac CI scripts to allow cross-compiling. r=kvark
This introduces some env vars to allow running cross-compiled
binaries instead of running things on the builder. Additionally
the `cargo test --features "ipc"` check is modified to be `check`
instead since there are no actual tests being run by that command.
The only thing we lose is a rustdoc example check but we are
checking that on Linux anyway so doing it for Mac is redundant.

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

--HG--
extra : source : ee403c79877e028c58fa9091dd360fe50a80af37
2019-02-15 01:32:06 +00:00
Kartikaya Gupta
e537a097f1 Bug 1516568 - Update osmesa-src to includes servo/osmesa-src#33 for cross-compiling support. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D19366

--HG--
extra : source : 8990eef6c31e6071a433f4007c08491dadb2ab5b
2019-02-15 01:32:02 +00:00
Dorel Luca
b73b2c4f67 Backed out 7 changesets (bug 1516568) for Docker and Toolchain failures. CLOSED TREE
Backed out changeset 79120d13e713 (bug 1516568)
Backed out changeset 028c0ed368b8 (bug 1516568)
Backed out changeset f06721b552a8 (bug 1516568)
Backed out changeset ee403c79877e (bug 1516568)
Backed out changeset 8990eef6c31e (bug 1516568)
Backed out changeset f6413e576a21 (bug 1516568)
Backed out changeset e9f887f489e5 (bug 1516568)
2019-02-15 05:16:55 +02:00
Kartikaya Gupta
7fdac6c6fe Bug 1516568 - Fuzz a couple of mac reftests. r=gw
For some reason running these via cross-compiled wrench in Mozilla
automation produces a few pixels difference.

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

--HG--
extra : moz-landing-system : lando
2019-02-15 01:32:10 +00:00
Kartikaya Gupta
a79bc23095 Bug 1516568 - Update WR mac CI scripts to allow cross-compiling. r=kvark
This introduces some env vars to allow running cross-compiled
binaries instead of running things on the builder. Additionally
the `cargo test --features "ipc"` check is modified to be `check`
instead since there are no actual tests being run by that command.
The only thing we lose is a rustdoc example check but we are
checking that on Linux anyway so doing it for Mac is redundant.

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

--HG--
extra : moz-landing-system : lando
2019-02-15 01:32:06 +00:00