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

40831 Коммитов

Автор SHA1 Сообщение Дата
Andi-Bogdan Postelnicu 1cf28e7475 Bug 1519636 - Reformat recent changes to the Google coding style. r=emilio
Updated with clang-format version 12.0.0 (taskcluster-KEgO7qdgQ8uaewA6NkRnRA)

Differential Revision: https://phabricator.services.mozilla.com/D115804
2021-05-24 15:08:47 +00:00
Mats Palmgren 0c2b4a6155 Bug 1474774 - Remove nscoord assertion that produce false positives. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D114633
2021-05-23 01:04:18 +00:00
Glenn Watson 610abf23e6 Bug 1669840 Part 3: Include image instance color alpha in check for opaque backdrop. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D114988
2021-05-23 00:09:04 +00:00
Jonathan Kew c840efe013 Bug 1712165 - Reorder conditions to avoid a possible race between the InitFontList thread and main thread accessing gfxPlatformFontList. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D115690
2021-05-21 16:39:17 +00:00
sotaro 67d884b3c0 Bug 1699588 - Enable external compositing of SurfaceTexture with sw-wr r=gfx-reviewers,lsalzman
SurfaceTexture handling for external compositing is implemented in RenderCompositorOGLSWGL::HandleExternalImage().

Differential Revision: https://phabricator.services.mozilla.com/D115338
2021-05-21 15:56:16 +00:00
Olli Pettay 06fe870379 Bug 1708042, use control priority for DidComposite but dispatch MozAfterPaint using mediumhigh, since scripts shouldn't run in control queue, r=bas
Depends on D115405

Differential Revision: https://phabricator.services.mozilla.com/D115406
2021-05-21 15:46:46 +00:00
Iulian Moraru e0b2722506 Backed out 3 changesets (bug 1708042) for causing wr failures on background-color-animation-in-body.html.
Backed out changeset f8febc2db198 (bug 1708042)
Backed out changeset a0fccd7121b5 (bug 1708042)
Backed out changeset ddc6d95f0601 (bug 1708042)
2021-05-21 16:39:38 +03:00
Lee Salzman 28af07fd90 Bug 1700434 - Add SWGL fast-path for ps_text_run. r=jrmuizel
This adds some swgl_commitTextureLinearR8ToRGBA8 variations so that we can deal
with alpha glyph formats. Following that, a simple span shader is added that
dispatches to this as appropriate.

Differential Revision: https://phabricator.services.mozilla.com/D115551
2021-05-21 06:52:12 +00:00
Lee Salzman d93f3afc2a Bug 1700434 - Store mono bitmaps and alpha glyphs with same texture format. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D115511
2021-05-21 06:52:12 +00:00
Lee Salzman f09a90ffdf Bug 1700434 - Implement gl_ClipDistance support in SWGL. r=jrmuizel
This implements gl_ClipDistance so that the text shader doesn't have
to manually evaluate whether or not we're inside the untransformed
source texture. This simplification is necessary so that we can work
towards using swgl_commitTexture in the text shader.

Differential Revision: https://phabricator.services.mozilla.com/D115457
2021-05-21 06:52:12 +00:00
Lee Salzman f9e08d3c30 Bug 1700434 - Implement faster subpixel text blend mode for SWGL. r=jrmuizel
This adds a swgl_blendSubpixelText() extension that enables us to move some
of the complexity of plumbing dual-source blending out of the shader for
subpixel text. This will enable further speed-ups later by allowing us to use
swgl_commitTexture.

Differential Revision: https://phabricator.services.mozilla.com/D115456
2021-05-21 06:52:11 +00:00
Iulian Moraru 7fcb0d2a66 Backed out 4 changesets (bug 1700434) for causing bustages in src/glsl.h. CLOSED TREE
Backed out changeset 215ea9dc277b (bug 1700434)
Backed out changeset 64f8b849e94e (bug 1700434)
Backed out changeset 6643c36ec306 (bug 1700434)
Backed out changeset a998658f3364 (bug 1700434)
2021-05-21 09:37:17 +03:00
Lee Salzman acd20a15d5 Bug 1700434 - Add SWGL fast-path for ps_text_run. r=jrmuizel
This adds some swgl_commitTextureLinearR8ToRGBA8 variations so that we can deal
with alpha glyph formats. Following that, a simple span shader is added that
dispatches to this as appropriate.

Differential Revision: https://phabricator.services.mozilla.com/D115551
2021-05-21 05:53:46 +00:00
Lee Salzman abefc13c51 Bug 1700434 - Store mono bitmaps and alpha glyphs with same texture format. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D115511
2021-05-21 05:53:46 +00:00
Lee Salzman 5b6a4ecbe1 Bug 1700434 - Implement gl_ClipDistance support in SWGL. r=jrmuizel
This implements gl_ClipDistance so that the text shader doesn't have
to manually evaluate whether or not we're inside the untransformed
source texture. This simplification is necessary so that we can work
towards using swgl_commitTexture in the text shader.

Differential Revision: https://phabricator.services.mozilla.com/D115457
2021-05-21 05:53:45 +00:00
Lee Salzman d1796d3a33 Bug 1700434 - Implement faster subpixel text blend mode for SWGL. r=jrmuizel
This adds a swgl_blendSubpixelText() extension that enables us to move some
of the complexity of plumbing dual-source blending out of the shader for
subpixel text. This will enable further speed-ups later by allowing us to use
swgl_commitTexture.

Differential Revision: https://phabricator.services.mozilla.com/D115456
2021-05-21 05:53:45 +00:00
Alexandru Michis 1c4e911bb6 Backed out 4 changesets (bug 1700434) for causing bustages in src/glsl.h
CLOSED TREE

Backed out changeset 78cc8dd9ed2a (bug 1700434)
Backed out changeset eb02c32b173e (bug 1700434)
Backed out changeset 9d932ee247a2 (bug 1700434)
Backed out changeset 5ff6e9101b77 (bug 1700434)
2021-05-21 08:36:57 +03:00
Lee Salzman 0eabbb9d61 Bug 1700434 - Add SWGL fast-path for ps_text_run. r=jrmuizel
This adds some swgl_commitTextureLinearR8ToRGBA8 variations so that we can deal
with alpha glyph formats. Following that, a simple span shader is added that
dispatches to this as appropriate.

Differential Revision: https://phabricator.services.mozilla.com/D115551
2021-05-21 04:54:31 +00:00
Lee Salzman c5356f1b62 Bug 1700434 - Store mono bitmaps and alpha glyphs with same texture format. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D115511
2021-05-21 04:54:30 +00:00
Lee Salzman 71d671d43e Bug 1700434 - Implement gl_ClipDistance support in SWGL. r=jrmuizel
This implements gl_ClipDistance so that the text shader doesn't have
to manually evaluate whether or not we're inside the untransformed
source texture. This simplification is necessary so that we can work
towards using swgl_commitTexture in the text shader.

Differential Revision: https://phabricator.services.mozilla.com/D115457
2021-05-21 04:54:30 +00:00
Lee Salzman 107eef0d62 Bug 1700434 - Implement faster subpixel text blend mode for SWGL. r=jrmuizel
This adds a swgl_blendSubpixelText() extension that enables us to move some
of the complexity of plumbing dual-source blending out of the shader for
subpixel text. This will enable further speed-ups later by allowing us to use
swgl_commitTexture.

Differential Revision: https://phabricator.services.mozilla.com/D115456
2021-05-21 04:54:29 +00:00
sotaro 4b5c84856f Bug 1712039 - Move ActivateProgram() from CompositorOGL to ShaderProgramOGLsHolder r=gfx-reviewers,jrmuizel
When sw-wr is used on Android, one GLContext is shared between CompositorOGLs. Then the CompositorOGL does not know what current program is. ShaderProgramOGLsHolder knows it, since ShaderProgramOGLsHolder is also shared between CompositorOGLs.

Differential Revision: https://phabricator.services.mozilla.com/D115576
2021-05-21 00:55:32 +00:00
Noemi Erli e861fde400 Backed out 4 changesets (bug 1669840) for causing reftest failures in opacity-background-1.html CLOSED TREE
Backed out changeset b0dc93c36fb5 (bug 1669840)
Backed out changeset dc8740f5d193 (bug 1669840)
Backed out changeset 17d1706271a9 (bug 1669840)
Backed out changeset a4d21aa2f97d (bug 1669840)
2021-05-21 02:51:14 +03:00
Glenn Watson 63ba5dac37 Bug 1712032 - Update picture cache visibility in reverse order r=gfx-reviewers,lsalzman
This will allow us to check occlusion of slices earlier, so that
we know if we need to redraw a tile that was evicted or freed
due to previously being occluded.

Differential Revision: https://phabricator.services.mozilla.com/D115563
2021-05-20 21:24:17 +00:00
Glenn Watson 0b6dab5ac6 Bug 1669840 Part 3: Include image instance color alpha in check for opaque backdrop. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D114988
2021-05-20 21:02:53 +00:00
Brad Werth ee8a46244a Bug 1706561 Part 5: Intern polygon data for image masks, and retrieve for hit tests. r=gw
This moves the polygon data out of the ClipItemKind and ClipItemKeyKind enums,
which reduces bloat, which improves access times for scenes with lots of
clips -- even if they don't use image mask clips. The SceneBuilder interns
polygons when they arrive alongside image mask clips, and the HitTestingScene
retrieves them when it's time to build the hit test nodes.

Differential Revision: https://phabricator.services.mozilla.com/D114558
2021-05-20 17:26:23 +00:00
Brad Werth e92370307c Bug 1706561 Part 4: Passthrough SceneBuilder Interners to HitTestScene. r=gw
HitTestScene will need to access the SceneBuilder interners in order to pull
polygon data when creating HitTestNodes. This patch isolates the function
signature changes and the passthrough of the interners, without actually
using the interners for anything yet.

Differential Revision: https://phabricator.services.mozilla.com/D114557
2021-05-20 17:26:22 +00:00
Brad Werth 9b8359fa9e Bug 1706561 Part 3: Make intern Handles hashable. r=gw
This is needed to support the use of intern::Handle structs in hashable enums.

Differential Revision: https://phabricator.services.mozilla.com/D114556
2021-05-20 17:26:22 +00:00
Brad Werth cda1692b47 Bug 1706561 Part 2: Update profiler ids to also track interned polygons. r=gw
Defining a new interner requires a new profiler tag. Adding a new tag requires
that some ids need to be shifted to maintain continuity with the other
interners. This patch isolates those changes without actually creating the new
polygon interner in the hope that it makes the reviewing easier.

Differential Revision: https://phabricator.services.mozilla.com/D114555
2021-05-20 17:26:22 +00:00
Brad Werth a85d6eebfb Bug 1706561 Part 1: Only push a SetPoints DisplayItem when points have been provided. r=gw
This reduces the size of the display list in the common case of an image mask
having no associated hit-test polygon.

Differential Revision: https://phabricator.services.mozilla.com/D113000
2021-05-20 17:26:21 +00:00
Noemi Erli fadafafe08 Backed out 4 changesets (bug 1669840) for causing reftest failures in border-collapse-opacity-table-row-group.html CLOSED TREE
Backed out changeset be66ef46592b (bug 1669840)
Backed out changeset 31dfd306b953 (bug 1669840)
Backed out changeset 7716542373a3 (bug 1669840)
Backed out changeset 8444d88d1869 (bug 1669840)
2021-05-20 21:00:20 +03:00
Glenn Watson e629f297b9 Bug 1669840 Part 3: Include image instance color alpha in check for opaque backdrop. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D114988
2021-05-20 15:59:05 +00:00
Olli Pettay cbae42faf9 Bug 1708042, use control priority for DidComposite but dispatch MozAfterPaint using mediumhigh, since scripts shouldn't run in control queue, r=bas
Depends on D115405

Differential Revision: https://phabricator.services.mozilla.com/D115406
2021-05-20 12:42:31 +00:00
Andrew Osmond 35eed7acf6 Bug 1711948 - Add surfaces from image containers to the memory report. r=tnikkel
An image container can keep a surface alive longer than it can remain in
the cache, if it is indeed kept in the cache. We should cross reference
our memory report generated from the SurfaceCache against any surfaces
stored in our ImageContainer objects to ensure they are all reported.

This is of particular importance for blob recordings which are not put
into SurfaceCache. While the recordings themselves have their own memory
reporting inside of WebRender, it would be good to know what recordings
we are keeping alive from the content side to help break it down.

Differential Revision: https://phabricator.services.mozilla.com/D115517
2021-05-20 12:31:27 +00:00
Timothy Nikkel d94292fc70 Bug 1710050. Double tap on tall wide element after zooming in scrolls up. r=botond
The DoubleTapToZoom code starts with the rect for the whole element: let's say it runs the entire height of the (scrollable) page, and the entire width, and the width is enough to make it scrollable horizontally. Then it shrinks the height of the rect so the aspect ratio is the same as the composition bounds. Since the width of the element is wider than the composition bounds at minimum zoom, so too is the height. So it is impossible zoom out far enough to fit the whole target rect. We end up scrolling to the top left of this rect.

We want to zoom out so that we center what was visible before zooming out. This will keep whatever was in the center of the screen stationary. One might think we would want to center the rect on the cursor position, but that leads to scrolling document and does not look/feel good.

The test runs into bug 1710052, so that the layout scroll position never gets updated.

I checked that the test fails locally and on try server without this patch.

Differential Revision: https://phabricator.services.mozilla.com/D114588
2021-05-20 11:22:34 +00:00
Hiroyuki Ikezoe b44e644ec2 Bug 1704080 - Handoff pan gestures to the root content scroller depending on whether child/root frame is scrollable or not. r=botond
And overscroll the root content scroller even if it's not scrollable.

The conditions when we handoff are;
1) Handoff to the root unconditionally if the subframe is not scrollable
   with the given pan delta
2) Handoff to the root if both the subframe and the root are scrollable
   with the given pan delta

Differential Revision: https://phabricator.services.mozilla.com/D115426
2021-05-20 09:45:19 +00:00
Hiroyuki Ikezoe 419890bcd7 Bug 1704080 - Add AsyncPanZoomController::GetScrollableDirections. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D115425
2021-05-20 09:45:19 +00:00
Hiroyuki Ikezoe 3935383c69 Bug 1704080 - Factor out ScrollDirectionsForDelta(const ParentLayerPoint&). r=botond
Differential Revision: https://phabricator.services.mozilla.com/D115424
2021-05-20 09:45:18 +00:00
jkew 7cbbbc1426 Bug 1711947 - Update glyph properties during AAT substitutions so that mark zeroing works as expected. r=RyanVM
Cherry-pick of the following upstream commits:
[aat] Update glyph properties from GDEF if available when doing a replacement.
[aat] If shaping via morx, don't adjust mark positioning when zeroing widths.

https://github.com/harfbuzz/harfbuzz/pull/2968

Differential Revision: https://phabricator.services.mozilla.com/D115542
2021-05-19 22:13:13 +00:00
Yuan Tong 83f1c42ade Bug 1654461 - Make ConvertYCbCrToRGB32 color range aware r=jbauman,aosmond
Fix for ConvertYCbCrToRGB32 to use full range convert functions for full range data.

Some changes of libyuv are backported from newer version, to get support of full range BT.709 and BT.2020 colorspace.

Differential Revision: https://phabricator.services.mozilla.com/D105937
2021-05-19 18:03:43 +00:00
Nicolas Silva 26935b5e79 Bug 1711648 - Implement Peek and Poke for euclid::Box2D. r=gfx-reviewers,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D115368
2021-05-19 14:35:26 +00:00
Nicolas Silva 41d60e3642 Bug 1711806 - Backed out changeset 456370072e8f for causing bug 1711806 and bug 1711808. r=gfx-reviewers,aosmond
Differential Revision: https://phabricator.services.mozilla.com/D115489
2021-05-19 14:13:22 +00:00
Nicolas Silva 5f05699559 Bug 1711678 - Avoid vector reallocations in ClipStore::build_clip_chain_instance. r=gfx-reviewers,kvark
Differential Revision: https://phabricator.services.mozilla.com/D115364
2021-05-19 13:07:54 +00:00
Jeff Muizelaar 72cf67a1d2 Bug 1711786 - Fix NumPictureCacheInvalidated not showing up. r=nical
self.profiler doesn't have the data set in it yet so
we need to use self.profile.

Differential Revision: https://phabricator.services.mozilla.com/D115412
2021-05-19 11:55:14 +00:00
Nicolas Silva dba96d50db Bug 1705024 - Evict unused cached render tasks after 10 frames. r=gfx-reviewers,gw
Cached render tasks are usually much cheaper to produce than texture uploads so it's good to make sure lingering unused render tasks don't create unnecessary pressure on the texture cache. It also avoids things like animated gradients from filling the texture cache in a second.

Depends on D115206

Differential Revision: https://phabricator.services.mozilla.com/D115207
2021-05-19 08:05:33 +00:00
Nicolas Silva ce66e50500 Bug 1711462 - Evict non-manual texture cache items when nothing holds on to them. r=gfx-reviewers,gw
Making room in the texture cache as early as possible reduces the likelihood of allocating extra textures. It will also let us discard unused cached render tasks more aggressively in a folowup patch.

Differential Revision: https://phabricator.services.mozilla.com/D115206
2021-05-19 08:05:33 +00:00
Jamie Nicol f36ea4e622 Bug 1711211 - Ensure RenderCompositorOGLSWGL does a full render after EGL surface creation. r=sotaro
RenderCompositorOGLSWGL will currently skip compositing if webrender
decides that the dirty rect for a frame is empty. However, in cases
where the EGL surface has been recreated we must perform a full
composite, as the previous contents of the framebuffer has been
lost. Not doing so is resulting in black screens being shown after
restoring the app on android, or the contents of the previous tab
being shown after switching to a new tab.

In the future we will add proper partial rendering support by tracking
buffer age and damage regions, and webrender will be able to force a
full render when the buffer age is zero. Until that time, we can fix
this bug by making RenderCompositorOGLSWGL::RequestFullRender() return
true for the subsequent frame after the surface has been recreated.

Differential Revision: https://phabricator.services.mozilla.com/D115342
2021-05-19 06:41:20 +00:00
Matt Woodrow a85b405f6d Bug 1548056 - Use nsDisplayItem::Paint and DLBI to paint fallback filters instead of FrameLayerBuilder. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D115321
2021-05-19 02:56:33 +00:00
Matt Woodrow 1873c437b7 Bug 1548056 - Use nsDisplayItem::Paint for filters and transforms within SVG blobs instead of FrameLayerBuilder. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D115320
2021-05-19 02:56:32 +00:00
Timothy Nikkel fb200fb271 Bug 1710052. Modify test. r=botond
With the patch for this bug we need to modify an existing test.

I haven't investigated this, but I think the scrollY value is always between 0 and 2 and I guess the patch makes it move around a bit more non-monotonically. Not sure it's worth spending time on, but I can if you think otherwise.

Differential Revision: https://phabricator.services.mozilla.com/D114668
2021-05-19 02:50:52 +00:00