QA/Platform/Graphics

< QA‎ | Platform

Summary

This page holds important information related to testing and quality assurance for Gecko's graphics code.

Metrics:

Get Involved

Here are some ways you can help the Graphics team (and Mozilla):

Activities

Current Activities

The following activities are on-going:

  • Betabreakers runs sanity tests of major changes at least once during each new Aurora version
  • One & Done is used to enable volunteers to participate in sanity testing
  • Triage is done daily from 10am to 11am Pacific to ensure effective resolution of critical issues, each day focusing on a different category of issues.

Past Activities

The following activities are no longer active:

Top Issues

Blockers

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);


Crashes

Full Query
ID Summary Status Last change time
1886765 Crash in [@ mozilla::wr::RenderThread::PostRunnable] NEW 2025-12-15T12:15:24Z
1908798 Crash in [@ IPCError-browser | GPUProcessKill] NEW 2025-10-28T09:21:35Z
1996653 Mac GPU process: Crash in [@ IPCError-browser | GPUProcessKill] NEW 2025-12-04T22:02:30Z

3 Total; 3 Open (100%); 0 Resolved (0%); 0 Verified (0%);


Features

Full Query
ID Summary Status Last change time
703217 Implement image() from CSS Image Values and Replaced Content Module Level 4 NEW 2022-10-11T00:04:16Z
790640 add Media Fragments for images (spatial dimensions) NEW 2023-02-16T08:13:30Z
952539 WebGL should support efficiently uploading a subrect of a canvas to a texture NEW 2024-08-14T10:25:46Z
1152974 Enable by default DEAA (Anti-aliasing) for Linux NEW 2023-08-11T18:19:59Z
1200864 Skip DrawElements buffer validation when we have robust_buffer_access NEW 2023-03-24T17:36:32Z
1223880 Implement initial-letter (from CSS Inline Layout Module Level 3) NEW 2025-09-18T13:44:23Z
1233569 Deprecate RGB8 from being renderable in WebGL 1 NEW 2022-10-11T17:53:19Z
1237489 [webvr] Add basic MOZ_texture_from_element to enable creating a texture from an arbitrary element NEW 2022-10-11T17:55:16Z
1244513 webm videos should be color corrected UNCONFIRMED 2022-10-11T17:59:31Z
1264543 [meta] Out-of-process compositing NEW 2024-09-22T12:02:05Z
1282074 Support very large canvases NEW 2025-11-28T09:25:16Z
1302685 [meta] Support OpenType Font Variations (Variable fonts) NEW 2025-10-02T18:45:57Z
1309309 Report memory used by ANGLE in about:memory as its own block? NEW 2022-10-11T18:39:33Z
1350292 Memory allocated by WebGL in WebGLBuffer::BufferData is not tracked in about:memory (detected by DMD in heap-unclassified) NEW 2024-03-05T08:06:06Z
1367003 Page slow to load when scrolling up and down. NEW 2022-10-11T19:19:15Z
1371101 Run color, border-color, and background-color animations off the main thread NEW 2024-04-03T03:21:39Z
1371108 WebGL: Make default back buffer default to 8x8 AA when available UNCONFIRMED 2022-10-11T19:21:50Z
1371627 GL_EXT_draw_buffers extension not supported UNCONFIRMED 2022-10-11T19:22:13Z
1371836 Provide a performance object for the WebGL canvas NEW 2022-10-11T19:22:42Z
1374710 GLBlitHelper should cache the various shaders NEW 2025-04-05T10:08:55Z
1381098 imageBitmap should provide an api to pull out raw pixel data (unmodified) without having to draw it to a canvas or a renderBuffer. This should be able to run in a webworker UNCONFIRMED 2023-08-07T12:24:48Z
1391345 Some emoji on the emojione demo page don't show up NEW 2022-10-11T19:36:02Z
1392080 Feature request : NPAPI being phased out : please provide an alternative for direct Vulkan/Direct3ᴅ12 access for viewing stereoscopic videos ! UNCONFIRMED 2025-11-15T02:05:08Z
1402293 Implement support for High Efficiency Image File Format (HEIF) NEW 2025-09-08T05:00:49Z
1403299 Support rendering fonts via FreeType on Windows NEW 2024-07-25T05:06:45Z
1403933 Support standard swizzle in D3D11 texture NEW 2025-08-04T12:18:17Z
1412350 Support Color Management on Android NEW 2024-05-31T01:24:55Z
1428954 Support encoding .ico files with multiple sizes NEW 2022-10-11T21:09:36Z
1443863 Implement support for AV1 Still Image File Format (AVIF) NEW 2025-03-02T15:12:52Z
1461360 [meta] Cross-platform dependencies for pinch-zooming on desktop NEW 2023-04-23T08:13:11Z
1476861 Implement FillRoundedRect for DrawTargetSkia ASSIGNED 2022-10-11T21:48:00Z
1477078 Implement PushClipRoundedRect for DrawTargetSkia ASSIGNED 2022-10-11T21:48:11Z
1480894 Implement wide-gamut support on Canvas NEW 2022-10-11T21:51:27Z
1516362 Selecting text using background-clip: text should probably change the text color NEW 2022-10-11T22:20:40Z
1522397 Displayed content in active tab doesn't adapt to screen resolution changes when connecting/disconnecting external monitor NEW 2023-05-24T13:32:17Z
1532721 Re-enable D2D on Qualcomm devices when able NEW 2024-06-19T14:13:44Z
1536809 Add support for Canvas 2D "desynchronized" construction attribute UNCONFIRMED 2025-09-18T13:44:10Z
1539075 Implement support for JPEG XL (image/jxl) ASSIGNED 2025-12-10T04:23:13Z
1547612 Use Lanczos method for upscaling images for different zoom levels NEW 2023-01-14T09:05:28Z
1605234 [meta] Support elastic overscroll on desktop NEW 2025-12-10T21:05:44Z

40 Total; 40 Open (100%); 0 Resolved (0%); 0 Verified (0%);


New Issues

Full Query
ID Summary Last change time
2002367 When watching YouTube in a maximized window on my monitor driven by the Intel integrated graphics chip causes a massive memory leak in dwm.exe 2025-12-17T13:44:51Z
2002458 Firefox reliably crashes on our web application 2025-12-23T23:11:15Z
2002711 Arabic/Complex/Bidi text rendering is broken with SVG textLength 2025-12-15T17:50:02Z
2002786 Firefox 145.0.2 - cannot paste into browser a text copied from MS Excel cell. No problem with previous version of Firefox. 2025-12-04T13:34:45Z
2002821 Nvidia GPU 1 crashes when Firefox is returned from minimized state 2025-12-17T13:47:58Z
2003198 glitch due to stylesheet change during paused view transition animations 2025-12-01T11:40:19Z
2003203 big performance disparity with Chromium on "figtree" font homepage 2025-12-08T13:44:01Z
2003448 <code> results in a cramped font size on my Linux system 2025-12-04T23:29:20Z
2003629 Video playback freezes completely on NVIDIA 940MX (Maxwell) after a few videos in Firefox 145.0.2 with DXVA/NVDEC hardware acceleration 2025-12-16T02:24:58Z
2003762 Text overflows from th when writing-mode: vertical-lr and rowspan is more than 1 2025-12-17T12:06:42Z
2003977 A big difference in jank between Firefox and Chromium at 2025.holidayhackchallenge.com 2025-12-18T12:06:16Z
2003997 Firefox unable to render Grafana visualizations 2025-12-22T20:44:55Z
2004457 position:sticky disabled subpixel font antialiasing 2025-12-15T10:55:37Z
2004580 Youtube Videos or movies stutter when in fullscreen, 2025-12-10T14:59:17Z
2005021 The CSS generic font families "cursive" and "fantasy" can't be set in the settings menu 2025-12-09T18:42:02Z
2005440 [Regression] Emojis fail to render on macOS (aarch64) - Firefox 146.0 2025-12-23T16:19:30Z
2005877 Stylo should be generic over type of stylesheet being used 2025-12-13T11:58:14Z
2005894 Key points blocks of link previews can get truncated on lower resolution displays and should perhaps be made scrollable or use a smaller font 2025-12-14T00:09:57Z
2006370 Crash on Copy Command with EXCEPTION_SINGLE_STEP 2025-12-18T16:06:29Z
2006584 Broken "font-variant: small-caps" rendering for the Polish letter "ż" 2025-12-22T14:05:07Z
2006733 Arrow-keys is not working as they where before. 2025-12-19T07:16:10Z
2006866 Windows precision touchpad tap to stop kinetic scrolling gesture doesn't work 2025-12-18T11:16:58Z
2006975 High CPU usage when rendering complex animated SVG (Lottie) in Firefox 2025-12-19T16:11:07Z
2007328 Firefox Bug Report 2025-12-23T08:11:27Z
2007470 Implement container queries for anchor positioning 2025-12-23T06:36:03Z
2007510 webgpu canvas opaque alphaMode does not work 2025-12-23T12:46:27Z
2007564 New windows, popups, and private windows are drawn only in the background color. 2025-12-24T10:15:22Z

27 Total; 27 Open (100%); 0 Resolved (0%); 0 Verified (0%);


Understanding the Problem Space

First order of business for my transition to the Graphics team is to understand the problem space so I can understand the immediate needs of the team and make the best impact I can in the shortest amount of time.

What are the key problems/challenges facing the Graphics team in terms of quality?
  • discrepancy in environments between testers and release users
  • discoverability of bugs pre-release
  • ?...
Where can QA add value/support to the Graphics team?
  • improving pre-release discoverability of bugs
  • closing the gap between tester and release systems
  • helping with bug triage, particularly with bugs hiding in general components
  • representation in crashkill
  • improving code coverage and/or identifying gaps in code coverage
  • identifying ways to improve participation in the graphics team (events, projects, One & Done, etc)
  • documentation of tools, testing processes, etc
  • building out the lab in Toronto
  • continuing to drive Betabreakers testing every 6 weeks
  • verifying bug fixes (what does this look like)?
  • profiling areas of risk (eg. troublesome configs)
  • conducting root cause analysis for regressions
  • understanding problems outside of our control (eg. driver resets)
  • feature testing and upcoming priorities (e10s, Windows 10, El Capitain, Android, B2G, etc)
What does QA need to know to be effective?
  • key components of an actionable Graphics bug
  • fundamentals/technologies that should be learned
  • how to distinguish a graphics crash from a non-graphics crash with a graphics signature
  • meetings, mailing lists, bugzilla components to watch, blogs, IRC channels to join, etc
  • who is each member of the team (incl. contributors) and what do they do
  • where does graphics code reside in the tree?
  • what role does Unified Telemetry in graphics quality?
  • what are the prefs to enable/disable different functionalities?
  • we need a database of known-troublesome hardware/driver configurations to inform testing, hardware acquisitions, and blocklisting
Understanding the Stability
  • How do we identify a graphics crash?
    • by signature: gfx, layers, D2D, D3D, ?...
    • by topmost filename: gfx, ?...
    • by driver (DLL, version, ?...)
    • by device/vendor ID?...
    • ?...
  • How do we prioritize graphics crashes?
    • Overall topcrashes in release > beta > aurora > nightly
    • Gfx crashes in release > beta > aurora > nightly
    • Explosive crashes in release > beta > aurora > nightly
  • What tools do we have at our disposal to investigate crashes?
    • Bughunter for investigating crashes correlated to a URL
    • KaiRo's reports for identifying crashes that are new or escalating quickly
    • Socorro for getting detailed information about crash reports
  • What information is needed to make a crash actionable by developers?
    • Correlations to particular hardware, driver, add-on, 3rd-party software, or library
    • ?...
Participation
  • Sanity checking via One & Done
  • Meetups to connect testers/users with devs
  • Testdays to teach people about graphics testing
  • Documentation and translation of documentation
  • Engaging on community spaces (Discourse, Reddit, Facebook, Twitter, etc)
Telemetry
  • COMPOSITE_TIME: time in CompositorParent::CompositeToTarget dispatching draw calls and calling SwapBuffers, but not texture upload (ie. complete composition)