gecko-dev/gfx
Jamie Nicol 5b8c7d826e Bug 1575765 - Implement KHR_partial_update for webrender. r=sotaro,jgilbert
KHR_partial_update allows us to avoid rerendering the entire
backbuffer every frame, and instead only render what has changed on
the current frame, as well as the difference between the current
backbuffer and the current frontbuffer. It works similarily to
EXT_buffer_age, which we already support, with the additional
requirement that we must call eglSetDamageRegion each frame before
rendering to the backbuffer.

Modify GLContextEGL::GetBufferAge() so that it queries the age if
either EXT_buffer_age or KHR_partial_update are available. This will
now automatically be queried by webrender through the
PartialPresentCompositor trait. Add a new function to that trait,
set_buffer_damage_region(), whose RenderCompositorEGL implementation
calls eglSetDamageRegion(). Call this from composite_simple(), once
the damage rect has been calculated but before rendering to the
backbuffer.

Additionally, change both RenderCompositorEGL and
RenderCompositorOGL's implementations of
ShouldDrawPreviousPartialPresentRegions() to unconditionally return
true, rather than checking for the existence of EXT_buffer_age (or
adding a new check for KHR_partial_update). The lack of these
extensions does not mean that webrender is able to skip rendering
previous frames' damage. Rather the opposite, it means we cannot
render *only* the previous frames' damage, and must instead always
render the entire buffer.

Differential Revision: https://phabricator.services.mozilla.com/D91203
2020-10-02 08:38:29 +00:00
..
2d Bug 1667863 - Replace AppendToString of Matrix4x4 with ostream usage. r=mattwoodrow 2020-09-29 03:01:45 +00:00
angle Bug 1635293 - Cherry-pick ANGLE fix: Update tex cache even if new type is InvalidEnum. r=lsalzman 2020-06-15 22:07:44 +00:00
cairo Bug 1635273 - Make FT_LCD_FILTER_H a relative rather than absolute path. r=froydnj 2020-06-18 13:40:40 +00:00
config Bug 1668360 - Invert WebRender feature config to be enabled by default. r=jrmuizel 2020-10-01 14:22:33 +00:00
docs Bug 1668466 - Fix broken links. r=sylvestre 2020-10-01 15:19:09 +00:00
gl Bug 1575765 - Implement KHR_partial_update for webrender. r=sotaro,jgilbert 2020-10-02 08:38:29 +00:00
graphite2
harfbuzz Bug 1650414 - Cherry-pick commit 1e6027e29cd5d900337b23a20886b2a8d81bb2de from upstream harfbuzz to fix AAT mark anchoring. r=lsalzman 2020-07-06 09:03:29 +00:00
ipc Bug 1668385 - Add a failure id to GPUProcess::FallbackToSoftware. r=aosmond 2020-09-30 23:05:38 +00:00
layers Bug 1668302 - Expose SWGL state to TextureFactoryIdentifier. r=jrmuizel 2020-10-01 22:19:15 +00:00
ots Bug 1639813 - Update OTS to upstream commit 6300460f76dbf1554a59dc1f20f52d5c2f5641e6 to clean up weird PSname that makes Core Text fail. r=lsalzman 2020-05-21 17:20:48 +00:00
qcms Bug 1668526 - qcms: Fix v4 profiles. r=aosmond 2020-10-01 19:09:37 +00:00
sfntly
skia Bug 1657440 - avoid letting Skia query style information for Mac fonts. r=jfkthame 2020-08-17 06:48:00 +00:00
src Bug 1654992 - Use std::move instead of SwapElements where possible. r=froydnj 2020-08-04 11:27:07 +00:00
tests Bug 1668360 - Invert WebRender feature config to be enabled by default. r=jrmuizel 2020-10-01 14:22:33 +00:00
thebes Bug 1668377 - Switch printing from WrapAndRecord to just Recording. r=aosmond 2020-10-01 14:23:59 +00:00
vr Bug 1650145 - Replace all value uses of Empty[C]String by 0-length _ns literals. r=froydnj,geckoview-reviewers,agi 2020-09-23 15:17:15 +00:00
webrender_bindings Bug 1575765 - Implement KHR_partial_update for webrender. r=sotaro,jgilbert 2020-10-02 08:38:29 +00:00
wgpu Bug 1664105 - Upgrade `ron` to 0.6.2. r=kvark 2020-09-11 06:22:37 +00:00
wgpu_bindings Bug 1653161 - Implement Queue.writeBuffer and writeTexture in WebGPU r=jgilbert,webidl,smaug 2020-07-28 22:26:21 +00:00
wr Bug 1575765 - Implement KHR_partial_update for webrender. r=sotaro,jgilbert 2020-10-02 08:38:29 +00:00
ycbcr Bug 1553289 - Add identity conversion to ConvertYCbCrToRGB32. r=jgilbert 2020-08-10 21:39:13 +00:00
moz.build Bug 1639349 - [ci] Set up a SCHEDULES rule to exclude non-webrender tests on webrender-only pushes, r=gbrown 2020-05-22 14:03:46 +00:00