WebRender newsletter #40

WebRender is a GPU based 2D rendering engine for web written in Rust, currently powering Mozilla’s research web browser Servo and on its way to becoming Firefox‘s rendering engine.

Notable WebRender and Gecko changes

  • Kats made improvements to the continuous integration on Mac.
  • Kvark fixed a crash.
  • Kvark added a way to dump the state of the frame builder for debugging.
  • kvark made transform flattening operate at preserve-3d context boundaries.
  • kvark enabled non-screen-space rasterization of plane-splits.
  • kvark fixed seams between image tiles.
  • Glenn fixed a bug with border-style: double where the border widths are exactly 1 pixel.
  • Glenn made some improvements to pixel snapping.
  • Glenn added some debugging infrastructure for pixel snapping.
  • Glenn tidied up some code and added a few optimizations.
  • Nical fixed a rendering bug with shadows and blurs causing them to flicker in some cases.
  • Nical simplified the code that manages the lifetime of image and blob image handles on the content process.
  • Nical added a test.
  • Sotaro enabled mochitest-chrome with WebRender in the CI.
  • Sotaro improved scrolling smoothness when using direct composition.
  • Sotaro fixed a window creation failure when using WebRender with Wayland.
  • Emilio improved background-clip: text invalidation.

Blocker bugs countdown

Only 0 P2 bugs and 4 P3 bugs left (two of which have fixes up for review)!

Enabling WebRender in Firefox Nightly

The best place to report bugs related to WebRender in Firefox is the Graphics :: WebRender component in bugzilla.

Note that it is possible to log in with a github account.

10 thoughts on “WebRender newsletter #40

      1. Indeed. Even with the blocker bug list cleared we want to let these changes go through the usual nightly > beta > release phases to make sure we have a chance to catch regressions and minimize risks overall.

  1. I see that my intel UHD 630 GPU on my work computer is now qualified in Nightly 67.
    Have been manually using it since around April 2018 and it has come a long way in just under a year.

    Page navigation is just all around smoother and hope to see it fare well on Android in the future.
    Thank you for providing much needed competition to those who favor Chrome.

      1. Seeing as Nvidia and Intel have their GPU’s qualified before AMD’s in Webrender (even on linux), that shows work to get AMD GPU’s supported takes a bit more work.

        When you say that AMD is better than Nvidia and Intel on linux, this half-year old review between AMD polaris/vega GPU’s and Nvidia Pascal GPU’s would say otherwise https://www.phoronix.com/scan.php?page=article&item=nvidia-pascal-aug18&num=1

        As far as CPU’s go, Intel has always had the stronger single-core performance and AMD always the better multi-core performance. Single-core may be looking to change when we see reviews on AMD’s Matisse (Zen 2) CPU architecture this July.

      2. And i’m all for AMD doing better as the graphics and CPU market desperately relies on it. Hopefully Navi and future GPU architectures will be competitive or have advantage over Nvidia GPU’s (or Intel GPU’s once we see their Arctic Sound/Xe architecture released).

  2. Hi Nical, mi question is: how is WebRender doing it in GNU/Linux?
    Specifically in AMDGPU hardware, AMDGPU drivers cover third generation, fourth (Polaris) and fifth (Vega).

    I’d like to try it on Linux if that’s already possible!

  3. We don’t enable WebRender on Linux by default yet, but you can try it out by enabling the “gfx.webrender.all” pref in about:config (works on Nightly, Beta and Dev Edition but not yet on stable, I recommend Nightly to get the latest bug fixes).

    I use WebRender on Linux every day on Xorg with various intel integrated GPUs and nvidia (proprietary drivers) and it has worked well for me so far. I don’t know whether you’ll run into issues with AMD hardware but there is a good chance that it’ll work for you too, and if it doesn’t filing bugs will help us close the gap.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s