gecko-dev/gfx
Glenn Watson da37a0a877 Bug 1664084 - Improve glyph rasterization worker thread usage. r=nical
Previously, any time a text run was requested where the number of
glyphs to rasterize was < 8, WR would rasterize those glyphs on
the main backend thread.

However, this pattern (along with skipping glyphs in the text run
that are already cached) meant that we will often see frames where
almost all of the glyph raster work gets done on the main thread,
even when there are a large number of glyphs to rasterize.

This patch introduces a batching system. Any time a batch of 8
glyphs for a given font instance are queued, they are dispatched
to a worker thread. At the end of the glyph request phase, any
pending glyphs are also sent to worker threads, if there is a
significant amount of work to do, or done on the main thread if
there are only a few glyphs left.

During profiling of a number of common pages, this appears to drop
the mean and median frame building time by a small amount, but drop
the worst case frame building times by significant amounts (often
several ms).

Differential Revision: https://phabricator.services.mozilla.com/D89692
2020-09-10 13:27:59 +00:00
..
2d Bug 1664208 - Add BaseMargin::EnsureAtLeast and BaseMargin::EnsureAtMost. r=jwatt 2020-09-10 15:23:29 +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 1460499 - Use DirectComposition for hardware decoded video on Windows r=nical 2020-09-09 01:04:53 +00:00
docs Bug 1622360 - Remove the RenderRoot enum entirely, along with the feature docs. r=jrmuizel 2020-05-15 00:07:01 +00:00
gl Backed out 2 changesets (bug 1663003) for bustages on nsWindow.cpp . CLOSED TREE 2020-09-10 23:40:09 +03:00
graphite2 Bug 1626550 - Update graphite to version 1.3.14. r=lsalzman 2020-04-01 11:00:36 +00:00
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 1460499 - Use DirectComposition for hardware decoded video on Windows r=nical 2020-09-09 01:04:53 +00:00
layers Bug 1663543 - Convert PROFILER_ADD_MARKER and 2-arg profiler_add_marker to PROFILER_MARKER_UNTYPED - r=gregtatum 2020-09-10 03:02:36 +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 1615394 - Add color management support to the BMP decoder. r=tnikkel 2020-03-03 14:16:00 +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 1658057 - Adjust reftest expectations for windows reftests on hardware. r=bc 2020-08-11 21:25:03 +00:00
thebes Bug 1663894 - Fix minGW build failure by Bug 1460499 r=nical 2020-09-10 14:03:15 +00:00
vr Bug 1655536, part 2 - Don't wait for memory reports from child processes that no longer exist. r=froydnj 2020-08-03 18:29:45 +00:00
webrender_bindings Bug 1662827 - Move the api senders to the webrender crate. r=gw 2020-09-09 12:45:00 +00:00
wgpu Bug 1653161 - Implement Queue.writeBuffer and writeTexture in WebGPU r=jgilbert,webidl,smaug 2020-07-28 22:26:21 +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 1664084 - Improve glyph rasterization worker thread usage. r=nical 2020-09-10 13:27:59 +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