Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync changes from mozilla-central gfx/wr #3870

Merged
merged 30 commits into from Feb 27, 2020
Merged

Conversation

@moz-gfx
Copy link

moz-gfx commented Feb 21, 2020

No description provided.

@moz-gfx
Copy link
Author

moz-gfx commented Feb 21, 2020

@bors-servo r=auto

@bors-servo
Copy link
Contributor

bors-servo commented Feb 21, 2020

📌 Commit 91521e2 has been approved by auto

@bors-servo
Copy link
Contributor

bors-servo commented Feb 21, 2020

Testing commit 91521e2 with merge 40ecb3b...

bors-servo added a commit that referenced this pull request Feb 21, 2020
Sync changes from mozilla-central gfx/wr
@bors-servo
Copy link
Contributor

bors-servo commented Feb 21, 2020

💔 Test failed - status-taskcluster

If a memory pressure event arrives _after_ a new scene has
been published that writes persistent targets (i.e. cached
render tasks to the texture cache, or picture cache tiles)
but _before_ the next update/render loop, those targets
will not be updated due to the active_documents list being
cleared at the end of this message. To work around that,
if any of the existing documents have not rendered yet, and
have picture/texture cache targets, force a render so that
those targets are updated.

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

[ghsync] From https://hg.mozilla.org/mozilla-central/rev/c43cfbdad21614b771c8760afcc59ef63960e438
@moz-gfx
Copy link
Author

moz-gfx commented Feb 21, 2020

@bors-servo r=auto

@bors-servo
Copy link
Contributor

bors-servo commented Feb 21, 2020

💡 This pull request was already approved, no need to approve it again.

  • This pull request previously failed. You should add more commits to fix the bug, or use retry to trigger a build again.
@bors-servo
Copy link
Contributor

bors-servo commented Feb 21, 2020

📌 Commit 91521e2 has been approved by auto

aosmond and others added 3 commits Feb 21, 2020
…ext to avoid quantization effects. r=lsalzman

Currently we quantize the snapped reference frame relative offset used
in the shader in order to stuff it in our extra integer parameter fields
in the prim header. Since we don't use the prim rect size for anything
in the text shader, this patch just puts it there instead, and avoids
quantizing that.

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

[ghsync] From https://hg.mozilla.org/mozilla-central/rev/26d8dfb033cec949f38582fe6e8fb8200b84b44b
It's unclear what this was accomplishing, but it
prevents us from correctly processing the pixels
on the edge of the mask, causing masked content to
peek through. No tests seem to rely on this
discarding behaviour.

Also added a reftest that's fairly fuzzy but should
suffice as a canary for a regression here.

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

[ghsync] From https://hg.mozilla.org/mozilla-central/rev/ed0609ec00baad84416ee89012c7138907216989
@moz-gfx
Copy link
Author

moz-gfx commented Feb 21, 2020

@bors-servo r=auto

@bors-servo
Copy link
Contributor

bors-servo commented Feb 21, 2020

📌 Commit b48c796 has been approved by auto

aosmond and others added 3 commits Feb 22, 2020
…transform. r=lsalzman

This patch folds the raster scale and device pixel scale effects into
the font transform, instead of the font size itself. This helps minimize
the quantization effect given the font size is stored as an Au
(resolution of 1/60) instead of an f32, and the shader does not
replicate that effect.

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

[ghsync] From https://hg.mozilla.org/mozilla-central/rev/3b8e7a5e093d7ba4717d3914a07ac46e59cdf8b9
@moz-gfx
Copy link
Author

moz-gfx commented Feb 22, 2020

@bors-servo r=auto

@bors-servo
Copy link
Contributor

bors-servo commented Feb 22, 2020

📌 Commit 49081e8 has been approved by auto

gw3583 and others added 3 commits Feb 24, 2020
… r=nical

If only a single segment is produced, there is no benefit to writing
a segment instance array. Instead, just use the main primitive rect
written into the GPU cache.

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

[ghsync] From https://hg.mozilla.org/mozilla-central/rev/20cf567a6dcff0ac0d4ebfa4d030cabdd99a96e2
Move the UV writing function into the shared yuv.glsl include so
that the YUV compositing shader will be able to access it.

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

[ghsync] From https://hg.mozilla.org/mozilla-central/rev/b22c07ea7c728cc962094c94d18aeed414c4936a
@moz-gfx
Copy link
Author

moz-gfx commented Feb 24, 2020

@bors-servo r=auto

@bors-servo
Copy link
Contributor

bors-servo commented Feb 24, 2020

📌 Commit eee7200 has been approved by auto

aosmond and others added 3 commits Feb 25, 2020
…transform. r=lsalzman

This patch folds the raster scale and device pixel scale effects into
the font transform, instead of the font size itself. This helps minimize
the quantization effect given the font size is stored as an Au
(resolution of 1/60) instead of an f32, and the shader does not
replicate that effect.

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

[ghsync] From https://hg.mozilla.org/mozilla-central/rev/dd93a477ee7892007db8810030e41081529ca0dc
…muizel

Previously we only saved shaders to disk on the tenth frame, meaning
shaders compiled afterwards would not be cached and would need to be
recompiled in future runs of the application. This change makes it so
that we cache shaders to disk regardless of which frame they are
compiled in.

We continue to treat only the shaders used within the first ten frames
as the "startup shaders", meaning only those ones will be loaded on
next startup. Caching as many other shaders as possible is still
beneficial, however, as they are loaded on-demand.

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

[ghsync] From https://hg.mozilla.org/mozilla-central/rev/de1a62be4e5769c30ec3925c0660da31069c9964
Jim Blandy and others added 6 commits Feb 25, 2020
… failures

CLOSED TREE

Backed out changeset 3d44ebc7aed0 (bug 1616422)
Backed out changeset d17dbf82cdd0 (bug 1616422)

[ghsync] From https://hg.mozilla.org/mozilla-central/rev/7ab2d5774c5e936edb667d4c0fedca124472dd19
@moz-gfx
Copy link
Author

moz-gfx commented Feb 25, 2020

@bors-servo r=auto

@bors-servo
Copy link
Contributor

bors-servo commented Feb 25, 2020

📌 Commit af4618e has been approved by auto

cbrewster and others added 2 commits Feb 25, 2020
…n a CLOSED TREE

Backed out changeset 49e61b566da1 (bug 1596513)
Backed out changeset 889cee140af8 (bug 1596513)

[ghsync] From https://hg.mozilla.org/mozilla-central/rev/e9a85eb47d024d9defa5e0a0eaf17c6403eddf98
@moz-gfx
Copy link
Author

moz-gfx commented Feb 25, 2020

@bors-servo r=auto

@bors-servo
Copy link
Contributor

bors-servo commented Feb 25, 2020

📌 Commit f46f784 has been approved by auto

gw3583 and others added 6 commits Feb 27, 2020
…r mode. r=Bert

This patch adds support for YUV images to be promoted to compositor
surfaces when using the simple (draw) compositor mode. A follow up
to this will extend support to native compositor implementations.

We rely on only promoting compositor surfaces that are opaque
primitives. With this assumption, the tile(s) that intersect the
compositor surface get a 'cutout' in the location where the
compositor surface exists, allowing that tile to be drawn as
an overlay after the compositor surface.

Tiles are only drawn in overlay mode if there is content that
exists on top of the compositor surface. Otherwise, we can draw
the tiles in the normal fast path before the compositor surface
is drawn.

The patch also introduces a new subpixel AA mode, which allows
subpixel rendering to be enabled conditionally as long as the
text run does not intersect some number of excluded rectangle
regions. In this way, subpixel text remains on most of the page,
but is disabled for elements that are drawn into transparent
regions of the tile where the compositor surface exists.

This allows video playback to be composited directly into the
framebuffer, without invalidation of content tiles, which can
save a significant amount of battery power and improve performance.

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

[ghsync] From https://hg.mozilla.org/mozilla-central/rev/238379209ef45c45fa1fd78960d16b10a266097e
…SED TREE

Backed out changeset 1bf2a082ca62 (bug 1510030)
Backed out changeset 8b0fd12a063b (bug 1510030)
Backed out changeset ec9c6b79ea42 (bug 1510030)
Backed out changeset cd729f8b0220 (bug 1510030)
Backed out changeset c3e6c17ba7b0 (bug 1510030)
Backed out changeset edc3c212be1f (bug 1510030)

[ghsync] From https://hg.mozilla.org/mozilla-central/rev/7a5cb26a2d518e9cfaf512ba9a06239b573d7f0e
@moz-gfx
Copy link
Author

moz-gfx commented Feb 27, 2020

@bors-servo r=auto

@bors-servo
Copy link
Contributor

bors-servo commented Feb 27, 2020

📌 Commit 8f0014a has been approved by auto

@bors-servo
Copy link
Contributor

bors-servo commented Feb 27, 2020

Testing commit 8f0014a with merge 4ba17a6...

@bors-servo
Copy link
Contributor

bors-servo commented Feb 27, 2020

☀️ Test successful - status-appveyor, status-taskcluster
Approved by: auto
Pushing 4ba17a6 to master...

@bors-servo bors-servo merged commit 4ba17a6 into servo:master Feb 27, 2020
3 checks passed
3 checks passed
Community-TC (pull_request) TaskGroup: success
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
homu Test successful
Details
This was referenced Feb 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

You can’t perform that action at this time.