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 #3998

Merged
merged 3 commits into from Jun 30, 2020
Merged

Conversation

@moz-gfx
Copy link

moz-gfx commented Jun 30, 2020

No description provided.

Glenn Watson and others added 3 commits Jun 29, 2020
In various parts of the picture and mask code, we were casting
the `clipped` rect to i32 (after rounding out). However, this
can cause overflow panics when the origin of the rect is too big.

Instead, treat the origin as f32 (which it was generally being
converted to anyway), and only cast the size part to be i32 as
required. This is safe since we know that the size has been
clipped to the visible screen, so will always be safe to cast
to i32.

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

[ghsync] From https://hg.mozilla.org/mozilla-central/rev/af26bca64d14ceed77026a26879a8e8c77a9e6b6
…itives. r=Bert,nical

This is a partial step towards a larger change. The goal of this and the
follow up patches is to move the tile cache instances to be stored in
the render backend, rather than inside the picture / primitive tree.

This will allow better caching of dependency and visibility state
across both frame and scene builds for primitives. This has the potential
to significantly reduce or eliminate the amount of work we do per-frame
to track per-primitive visibility, clip-chain state and tile assignments.

A longer term goal is to allow correlating up-to-date tile caches with
pipeline display lists that haven't changed. This would allow WR to
skip scene building for content display lists that haven't changed, if
only the outer pipeline content has changed.

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

[ghsync] From https://hg.mozilla.org/mozilla-central/rev/aadffc68619fecf378c5be4321919b49c23c2db0
Guard against nullptr access of missing p.impl.
Also change LinkStatus so is_initialized is no longer true and calling
code can early out if bind_program fails.

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

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

moz-gfx commented Jun 30, 2020

@bors-servo r=auto

@bors-servo
Copy link
Contributor

bors-servo commented Jun 30, 2020

📌 Commit c1cc775 has been approved by auto

@bors-servo
Copy link
Contributor

bors-servo commented Jun 30, 2020

Testing commit c1cc775 with merge bf75cdd...

@bors-servo
Copy link
Contributor

bors-servo commented Jun 30, 2020

☀️ Test successful - status-taskcluster
Approved by: auto
Pushing bf75cdd to master...

@bors-servo bors-servo merged commit bf75cdd into servo:master Jun 30, 2020
2 checks passed
2 checks passed
Community-TC (pull_request) TaskGroup: success
Details
homu Test successful
Details
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

3 participants
You can’t perform that action at this time.