QA/Platform/Graphics: Difference between revisions

From MozillaWiki
< QA‎ | Platform
Jump to navigation Jump to search
Line 10: Line 10:


= Activities =
= Activities =
* <u>[[QA/Platform/Graphics/Betabreakers|Betabreakers]]</u> runs sanity tests of major changes at least once during each new Aurora version  
; Current Activities
* <u>[[QA/Platform/Graphics/Triage|Triage]]</u> is done daily from 10am to 11am Pacific to ensure effective resolution of critical issues, each day focusing on a different category of issues.
* [[QA/Platform/Graphics/Betabreakers|Betabreakers]] runs sanity tests of major changes at least once during each new Aurora version
* [https://oneanddone.mozilla.org/tasks/143/ One & Done] is used to enable volunteers to participate in sanity testing
* [[QA/Platform/Graphics/Triage|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 (no longer active)
Android:
* [[QA/Platform/Graphics/Android#November_24,_2015|Skia backend update]] (2015)
Boot2Gecko:
* [https://docs.google.com/spreadsheets/d/1us2Rw-xwKZvuvvTTidy96C5PPt3ivgB58LSDkmV0qnY/edit#gid=2 On-going Sanity Checks] (2015)
Firefox:
* [[QA/Platform/Graphics/Toronto_Lab_Testing|Toronto Lab Testing]] (2015)


= Metrics =
= Metrics =

Revision as of 23:37, 12 April 2016

Summary

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

Activities

Current Activities
  • 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 (no longer active)

Android:

Boot2Gecko:

Firefox:

Metrics


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)

Projects

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
2007715 Hit MOZ_CRASH(Element state change during style refresh (6291456)) at /builds/worker/checkouts/gecko/layout/style/RestyleManager.cpp:3374 NEW 2025-12-25T12:11:37Z
2007754 Crash in [@ wgpu_hal::dx12::Adapter::expose] NEW 2025-12-29T12:13:02Z

5 Total; 5 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-12-27T11:39:46Z
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%);


Get Involved

Want to help the Graphics team? Here are some ways you can get involved.