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

Merged
merged 4 commits into from Nov 3, 2019
Merged

Sync changes from mozilla-central #3789

merged 4 commits into from Nov 3, 2019

Conversation

@moz-gfx
Copy link

moz-gfx commented Nov 1, 2019

No description provided.

Glenn Watson and others added 3 commits Nov 1, 2019
…otaro

- When partial present is not valid, ensure that a single dirty
   rect the entire size of the framebuffer is returned.
 - Ensure that we never return an empty dirty rect. If nothing is
   dirty, the returned dirty rects array is empty, which can be
   used by the client to completely skip calling Present.
 - Remove partial present Multi mode (for now). This mode has
   some issues with overlapping tiles which can be resolved as
   a follow up.

This should allow enabling partial present for a single dirty rect,
which covers most common cases. We can re-implement the more
complicated Multi partial present mode if / when we find pages
where supporting multiple partial present rects is a good win.

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

[wrupdater] From https://hg.mozilla.org/mozilla-central/rev/9c9fffed78e5aa1ff3a945755a3c28d93c6e1373
A bug in the android emulator means that glTexImage3D thinks the maximum texture
size is the value of GL_MAX_TEXTURE_SIZE, rather than the value returned by
glGetIntegerv(GL_MAX_TEXTURE_SIZE). This means that calls to glTexImage3D fail
when width, height, or depth > 3379.

This forces us to use glTexStorage3D instead of glTexImage3D, avoiding
this bug. This relies upon swizzling, which is indeed supported on the
android emulator.

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

[wrupdater] From https://hg.mozilla.org/mozilla-central/rev/f39fa8f0265d5a86d452c589ac88455ce7295fcc
…ated on android emulator. r=gw

The emulator's implementation of glShaderSource can crash if the source string
are not null-terminated, even though we correctly pass the lengths of the
strings. Work around this by adding a null terminator when running on the
emulator.

Depends on D51293

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

[wrupdater] From https://hg.mozilla.org/mozilla-central/rev/17366ca83b0c964f0b413ddd76229a768660d9e5
@moz-gfx
Copy link
Author

moz-gfx commented Nov 1, 2019

@bors-servo
Copy link
Contributor

bors-servo commented Nov 1, 2019

📌 Commit 7ce746d has been approved by moz-gfx

bors-servo added a commit that referenced this pull request Nov 1, 2019
Sync changes from mozilla-central
@bors-servo
Copy link
Contributor

bors-servo commented Nov 1, 2019

Testing commit 7ce746d with merge 466f04b...

@bors-servo
Copy link
Contributor

bors-servo commented Nov 1, 2019

💔 Test failed - status-taskcluster

…e display port but not currently visible. r=nical

Previously, WR needed to update and track dependencies for all
allocated picture cache tiles in the virtual display port. This
means doing extra CPU work (dependency updates) and in some cases,
extra GPU work (larger off-screen child surfaces) than are strictly
required.

With this patch, each tile determines if it is currently visible in
pre_update. If the tile isn't visible, we skip doing dependency
updates until it is on screen again. More importantly, this is
used to reduce the world culling rect for primitive preparation,
which also means large child surfaces only require allocations
large enough to enclose the visible tiles, rather than the
display port.

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

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

moz-gfx commented Nov 3, 2019

@bors-servo
Copy link
Contributor

bors-servo commented Nov 3, 2019

💡 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 Nov 3, 2019

📌 Commit fe21045 has been approved by moz-gfx

bors-servo added a commit that referenced this pull request Nov 3, 2019
Sync changes from mozilla-central
@bors-servo
Copy link
Contributor

bors-servo commented Nov 3, 2019

Testing commit fe21045 with merge 56000a3...

@bors-servo
Copy link
Contributor

bors-servo commented Nov 3, 2019

☀️ Test successful - status-appveyor, status-taskcluster
Approved by: moz-gfx
Pushing 56000a3 to master...

@bors-servo bors-servo merged commit fe21045 into servo:master Nov 3, 2019
2 of 3 checks passed
2 of 3 checks passed
continuous-integration/appveyor/pr AppVeyor build failed
Details
Taskcluster (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.