Platform/GFX: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
 
(184 intermediate revisions by 19 users not shown)
Line 1: Line 1:
== Quarterly Planning ==
This is a page of useful information about and for the Firefox Graphics team. For an overview of graphics inside of Gecko look [https://wiki.mozilla.org/Gecko:Overview#Graphics here]


See the [[Platform/Planning | Platform Planning page]] for info on our meetings that occur 2-3 times a year to plan features.
If you're interested in contributing, check out [[Platform/GFX/Contribute|this]] page.


== Feature Planning ==
You can find the team in channel #gfx-firefox:mozilla.org on Matrix ([https://wiki.mozilla.org/Matrix info on how to join Matrix]).


* [[Platform/GFX/HardwareAcceleration|Hardware Acceleration]]
* [[Platform/GFX/LayerAPI|Layer API]]
* [[Platform/GFX/Responsiveness|Responsiveness]]
* [[Platform/GFX/PerformanceToDo|PerformanceToDo]]
* [[Platform/GFX/Firefox.next|Firefox.next]]
* [[Platform/GFX/GLLayersOnMobile|OpenGL Layers on Mobile]]
* [[Platform/GFX/OffMainThreadCompositing|Off Main Thread Compositing]]
* [[Platform/GFX/WebCL|WebCL]]
* [[Platform/GFX/WebGL|WebGL]]
* [[Platform/GFX/X11GLLayers|X11 GL Layers]]
* [[Platform/GFX/Fonts|Fonts]]
* [[Platform/GFX/MobileGPUs|MobileGPUs]]


== Development Planning ==
== Roadmaps and Goals==


* [[Platform/GFX/InternProjects|Intern Project List]]
===Roadmaps===
* [[Platform/GFX/GLESLayersMeeting|OpenGL ES accelerated layers syncup meeting]]
* [[Platform/GFX/BugKill|BugKill - make our bug lists containable in one person's head]]
* [[Platform/GFX/AzureConversion|Convert code to the new 2D API - the second phase of the Azure project]]
* [[Platform/GFX/2013Thoughts|Things that are being considered for 2013]]


== Team Meetings ==
View our general [https://wiki.mozilla.org/Platform/GFX/roadmap2020 Roadmap for 2020]


* [[Platform/GFX/2013-April-2|2 April 2013]]
View the [https://wiki.mozilla.org/Platform/GFX/WebRender2020 WebRender-specific roadmap]
* [[Platform/GFX/2013-March-18|18 March 2013]]
* [[Platform/GFX/2013-March-4|4 March 2013]]
* [[Platform/GFX/2013-February-19|19 February 2013]]
* [[Platform/GFX/2013-February-4|4 February 2013]]
* [[Platform/GFX/2013-January-7|7 January 2013]]
* [[Platform/GFX/2012-December-10|10 December 2012]]
* [[Platform/GFX/2012-November-26|26 November 2012]]
* [[Platform/GFX/2012-November-5|5 November 2012]]
* [[Platform/GFX/2012-October-22|22 October 2012]]
* [[Platform/GFX/2012-October-15|15 October 2012]]
* [[Platform/GFX/2012-October-1|1 October 2012]]
* [[Platform/GFX/2012-September-24|24 September 2012]]
* [[Platform/GFX/2012-September-10|10 September 2012]]
* [[Platform/GFX/2012-August-27|27 August 2012]]
* [[Platform/GFX/2012-August-20|20 August 2012]]
* [[Platform/GFX/2012-August-13|13 August 2012]]
* [[Platform/GFX/2012-July-30|30 July 2012]]
* [[Platform/GFX/2012-July-9|9 July 2012]]
* [[Platform/GFX/2012-June-25|25 June 2012]]
* [[Platform/GFX/2012-June-18|18 June 2012]]
* [[Platform/GFX/2012-June-11|11 June 2012]]
* [[Platform/GFX/2012-June-4|4 June 2012]]
* [[Platform/GFX/2012-May-22|22 May 2012]]
* [[Platform/GFX/2012-May-14|14 May 2012]]
* [[Platform/GFX/2012-May-7-priorities|7 May 2012 GFX Priorities]]
* [[Platform/GFX/2012-May-7|7 May 2012]]
* [[Platform/GFX/2012-April-30|30 April 2012]]
* [[Platform/GFX/2012-April-23|23 April 2012]]
* [[Platform/GFX/2012-April-16|16 April 2012]]
* [[Platform/GFX/2012-April-10|10 April 2012]]
* [[Platform/GFX/2012-April-2|2 April 2012]]
* [[Platform/GFX/2012-March-26|26 March 2012]]
* [[Platform/GFX/2012-March-19|19 March 2012]]
* [[Platform/GFX/2012-March-12|12 March 2012]]
* [[Platform/GFX/2012-March-5|5 March 2012]]
* [[Platform/GFX/2012-February-27|27 February 2012]]
* [[Platform/GFX/2012-February-21|21 February 2012]]
* [[Platform/GFX/2012-February-13|13 February 2012]]
* [[Platform/GFX/2012-February-6|6 February 2012]]
* [[Platform/GFX/2012-January-30|30 January 2012]]
* [[Platform/GFX/2012-January-23|23 January 2012]]
* [[Platform/GFX/2012-January-16|16 January 2012]]
* [[Platform/GFX/2012-January-9|9 January 2012]]
* [[Platform/GFX/2011-December-19|19 December 2011]]
* [[Platform/GFX/2011-December-12|12 December 2011]]
* [[Platform/GFX/2011-December-5|5 December 2011]]
* [[Platform/GFX/2011-November-28|28 November 2011]]
* [[Platform/GFX/2011-November-21|21 November 2011]]
* [[Platform/GFX/2011-November-7|7 November 2011]]
* [[Platform/GFX/2011-October-31|31 October 2011]]
* [[Platform/GFX/WebGL-Security-2011-10-28|28 October 2011 WebGL security review]]
* [[Platform/GFX/2011-October-24|24 October 2011]]
* [[Platform/GFX/2011-October-17|17 October 2011]]
* [[Platform/GFX/2011-October-11|11 October 2011]]
* [[Platform/GFX/2011-October-3|3 October 2011]]
* [[Platform/GFX/2011-September-26|26 September 2011]]
* [[Platform/GFX/2011-September-19|19 September 2011]]
* [[Platform/GFX/2011-September-13-with-Apple-and-Google|13 September 2011 informal meeting with Apple and Google engineers]]
* [[Platform/GFX/2011-September-6|6 September 2011]]
* [[Platform/GFX/2011-August-29|29 August 2011]]
* [[Platform/GFX/2011-August-22|22 August 2011]]
* [[Platform/GFX/2011-August-15|15 August 2011]]
* [[Platform/GFX/2011-August-8|8 August 2011]]
* [[Platform/GFX/2011-August-2|2 August 2011]]
* [[Platform/GFX/2011-July-25|25 July 2011]]
* [[Platform/GFX/2011-July-11|11 July 2011]]
* [[Platform/GFX/WebGL-Security-2011-06-29|29 June 2011 WebGL security review]]
* [[Platform/GFX/2011-June-27|27 June 2011]]
* [[Platform/GFX/2011-June-20|20 June 2011]]
* [[Platform/GFX/2011-June-13|13 June 2011]]
* [[Platform/GFX/2011-June-6|6 June 2011]]
* [[Platform/GFX/2011-May-30|30 May 2011]]
* [[Platform/GFX/2011-May-24|24 May 2011]]
* [[Platform/GFX/2011-May-16|16 May 2011]]
* [[Platform/GFX/2011-May-9|9 May 2011]]
* [[Platform/GFX/2011-May-2|2 May 2011]]
* [[Platform/GFX/2011-Apr-18|18 April 2011]]
* [[Platform/GFX/2010-Mar-28|28 March 2011]]
* [[Platform/GFX/2010-Jan-3|3 January 2011]]


{{hidden
View a [https://docs.google.com/spreadsheets/d/1ygcw2u1FuC39-b_5iwELAToYYWVYGEfyieW77ouJ9Mc/edit#gid=0 more detailed] roadmap mapped against months/releases
|2008-2010
|
* [[Platform/GFX/2010-Aug-30|30 August 2010]]
* [[Platform/GFX/2010-Aug-23|23 August 2010]]
* [[Platform/GFX/2010-Aug-16|16 August 2010]]
* [[Platform/GFX/2010-Aug-9|9 August 2010]]
* [[Platform/GFX/2010-Aug-2|2 August 2010]]
* [[Platform/GFX/2010-Jul-26|26 July 2010]]
* [[Platform/GFX/2010-Jul-19|19 July 2010]]
* [[Platform/GFX/2010-Jul-12|12 July 2010]]
* [[Platform/GFX/2010-Jun-28|28 June 2010]]
* [[Platform/GFX/2010-Jun-21|21 June 2010]]
* [[Platform/GFX/2010-Jun-14|14 June 2010]]
* [[Platform/GFX/2010-Jun-7|7 June 2010]]
* [[Platform/GFX/2010-May-31|31 May 2010]]
* [[Platform/GFX/2010-May-24|24 May 2010]]
* [[Platform/GFX/2010-May-17|17 May 2010]]
* [[Platform/GFX/2010-May-10|10 May 2010]]
* [[Platform/GFX/2010-May-3|3 May 2010]]
* [[Platform/GFX/2010-Apr-26|26 Apr 2010]]
* [[Platform/GFX/2010-Apr-19|19 Apr 2010]]
* [[Platform/GFX/2010-Apr-12|12 Apr 2010]]
* [[Platform/GFX/2010-Apr-5|5 Apr 2010]]
* [[Platform/GFX/2010-Mar-29|29 Mar 2010]]
* [[Platform/GFX/2010-Mar-22|22 Mar 2010]]
* [[Platform/GFX/2010-Mar-15|15 Mar 2010]]
* [[Platform/GFX/2010-Mar-8|8 Mar 2010]]
* [[Platform/GFX/2010-Mar-1|1 Mar 2010]]
* [[Platform/GFX/2010-Feb-15|15 Feb 2010]]
* [[Platform/GFX/2010-Feb-8|8 Feb 2010]]
* [[Platform/GFX/2010-Feb-1|1 Feb 2010]]
* [[Platform/GFX/2010-Jan-25|25 Jan 2010]]
* [[Platform/GFX/2010-Jan-18|18 Jan 2010]]
* [[Platform/GFX/2010-Jan-11|11 Jan 2010]]
* [[Platform/GFX/2010-Jan-04|04 Jan 2010]]
* [[Platform/GFX/2009-Dec-21|21 Dec 2009]]
* [[Platform/GFX/2009-Dec-14|14 Dec 2009]]
* [[Platform/GFX/2009-Nov-30|30 Nov 2009]]
* [[Platform/GFX/2009-Nov-23|23 Nov 2009]]
* [[Platform/GFX/2009-Nov-16|16 Nov 2009]]
* [[Platform/GFX/2009-Nov-9|9 Nov 2009]]
* [[Platform/GFX/2009-Nov-2|2 Nov 2009]]
* [[Platform/GFX/2009-Oct-26|26 Oct 2009]]
* [[Platform/GFX/2009-Oct-19|19 Oct 2009]]
* [[Platform/GFX/2009-Oct-12|12 Oct 2009]]
* [[Platform/GFX/2009-Oct-5|5 Oct 2009]]
* [[Platform/GFX/2009-Sep-28|28 Sep 2009]]
* [[Platform/GFX/2009-Sep-21|21 Sep 2009]]
* [[Platform/GFX/2009-Sep-14|14 Sep 2009]]
* [[Platform/GFX/2009-Sep-7|7 Sep 2009]]
* [[Platform/GFX/2009-Aug-31|31 Aug 2009]]
* [[Platform/GFX/2009-Aug-17|17 Aug 2009]]
* [[Platform/GFX/2009-Aug-10|10 Aug 2009]]
* [[Platform/GFX/2009-Aug-3|3 Aug 2009]]
* [[Platform/GFX/2009-Jul-27|27 July 2009]]
* [[Platform/GFX/2009-Jul-20|20 July 2009]]
* [[Platform/GFX/2009-Jul-13|13 July 2009]]
* [[Platform/GFX/2009-Jul-6|6 July 2009]]
* [[Platform/GFX/2009-Jun-29|29 Jun 2009]]
* [[Platform/GFX/2009-Jun-22|22 Jun 2009]]
* [[Platform/GFX/2009-Jun-15|15 Jun 2009]]
* [[Platform/GFX/2009-Jun-8|8 Jun 2009]]
* [[Platform/GFX/2009-Jun-1|1 Jun 2009]]
* [[Platform/GFX/2009-May-25|25 May 2009]]
* [[Platform/GFX/2009-May-18|18 May 2009]]
* [[Platform/GFX/2009-May-11|11 May 2009]]
* [[Platform/GFX/2009-May-4|4 May 2009]]
* [[Platform/GFX/2009-Apr-20|20 Apr 2009]]
* [[Platform/GFX/2009-Apr-13|13 Apr 2009]]
* [[Platform/GFX/2009-Apr-6|6 Apr 2009]]
* [[Platform/GFX/2009-Mar-30|30 Mar 2009]]
* [[Platform/GFX/2009-Mar-23|23 Mar 2009]]
* [[Platform/GFX/2009-Mar-16|16 Mar 2009]]
* [[Platform/GFX/2009-Mar-9|9 Mar 2009]]
* [[Platform/GFX/2009-Mar-2|2 Mar 2009]]
* [[Platform/GFX/2009-Feb-23|23 Feb 2009]]
* [[Platform/GFX/2009-Feb-16|16 Feb 2009]]
* [[Platform/GFX/2009-Feb-9|9 Feb 2009]]
* [[Platform/GFX/2009-Feb-2|2 Feb 2009]]
* [[Platform/GFX/2009-Jan-26|26 Jan 2009]]
* [[Platform/GFX/2009-Jan-19|19 Jan 2009]]
* [[Platform/GFX/2009-Jan-12|12 Jan 2009]]
* [[Platform/GFX/2009-Jan-5|5 Jan 2009]]
* [[Platform/GFX/2008-Dec-15|15 Dec 2008]]
* [[Platform/GFX/2008-Dec-8|8 Dec 2008]]
* [[Platform/GFX/2008-Dec-1|1 Dec 2008]]
* [[Platform/GFX/2008-Nov-17|17 Nov 2008]]
* [[Platform/GFX/2008-Nov-10|10 Nov 2008]]
* [[Platform/GFX/2008-Nov-3|3 Nov 2008]]
* [[Platform/GFX/2008-Oct-20|20 Oct 2008]]
* [[Platform/GFX/2008-Oct-13|13 Oct 2008]]
* [[Platform/GFX/2008-Oct-6|6 Oct 2008]]
* [[Platform/GFX/2008-Sep-29|29 Sep 2008]]
* [[Platform/GFX/2008-Sep-22|22 Sep 2008]]
* [[Platform/GFX/2008-Sep-15|15 Sep 2008]]
* [[Platform/GFX/2008-Sep-8|8 Sep 2008]]
* [[Platform/GFX/2008-Sep-2|2 Sep 2008]]
* [[Platform/GFX/2008-Aug-19|19 Aug 2008]]
* [[Platform/GFX/2008-Aug-12|12 Aug 2008]]
* [[Platform/GFX/2008-Aug-5|5 Aug 2008]]
* [[Platform/GFX/2008-July-22|22 July 2008]]
* [[Platform/GFX/2008-July-15|15 July 2008]]
|headerstyle=background:#dddddd
}}


== Other Information ==
===Quarterly Goals===


* [[Platform/GFX/HardwareList|Available Hardware List]]
View the [https://wiki.mozilla.org/Platform/GFX/GFXQ2Goals Graphics Team Q2 Goals]
* [[Platform/GFX/Hardware limitations|Hardware Limitations]]
 
====WebRender Priorities====
* [https://wiki.mozilla.org/Platform/GFX/WebRender2020_Q1 WebRender Q1 Priorities]
 
* [https://wiki.mozilla.org/Platform/GFX/WebRender2020_Q2 WebRender Q2 Priorities]
 
* [https://wiki.mozilla.org/Platform/GFX/WebRender2020_Q3 WebRender Q3 Priorities]
 
==Meeting Notes==
 
* [https://wiki.mozilla.org/Platform/GFX/SWWRmeetingnotes Software WebRender]
* [https://wiki.mozilla.org/Platform/GFX/WRperfmeetings WR Perf]
* [https://wiki.mozilla.org/Platform/WRfuture WR Future]
* [https://docs.google.com/document/d/1RnHYno9j-yLwS-DXvd-xyG8RBqe9StjCDu5GbGnXdP8/edit Texture/buffer upload] brainstorming
* [https://wiki.mozilla.org/Platform/GFX/wrmac WebRender-Mac]
 
== Bug Triage Information ==
 
[https://github.com/FirefoxGraphics/triage/wiki/Triage-guide Triage Guide]
 
[https://firefoxgraphics.github.io/triage/ Triage Dashboard]
 
== Technical Overviews ==
* [https://firefox-source-docs.mozilla.org/gfx/index.html Design documents for the Mozilla graphics architecture]
* [https://firefox-source-docs.mozilla.org/gfx/RenderingOverview.html Rendering Overview from HTML to GPU]
* [https://github.com/servo/webrender/tree/master/webrender/doc WebRender specific implementation notes]:
** [https://github.com/servo/webrender/blob/master/webrender/doc/text-rendering.md Text Rendering]
** [https://github.com/servo/webrender/blob/master/webrender/doc/blob.md Blobs]
** [https://github.com/servo/webrender/blob/master/webrender/doc/CLIPPING_AND_POSITIONING.md Clipping & Positioning elements]
** [https://github.com/servo/webrender/blob/master/webrender/doc/swizzling.md Color swizzling optimizations]
* [https://github.com/sotaroikeda/firefox-diagrams A large collection of detailed diagrams on call- and data-flow of IPC/Bridges/Compositor/Video playback/...]
 
== Tools & Workflows ==
 
=== Getting Started ===
* [https://docs.google.com/document/d/1qs9avZSVU4LohaEMUMIHsj64iB9je28KIThy0RTunpU/ Windows-based development] tips and step-by-step set up guide;
 
=== WebRender ===
* [https://github.com/servo/webrender/wiki/Debugging-WebRender Debugging WebRender] including [https://github.com/servo/webrender/issues/3070 an example debugging workflow];
 
== Useful Information ==
 
* [[Platform/GFX/Jargon|Jargon]]
* [[QA/Platform/Graphics/Inventory|QA Graphics Inventory: which hardware do we have and where is it]]
* [https://hackmd.io/lvtOckAtSrmIpZAwgtXptw WebGL Best Practices]
* [https://github.com/servo/webrender/wiki/Driver-issues Driver Issues] in WebRender
* [https://wiki.mozilla.org/Platform/GFX/perf_triage WebRender Perf] Triage
 
== Components ==
 
* [[Platform/GFX/Quantum_Render|Quantum Render]]
** Where have we shipped WebRender? https://wiki.mozilla.org/Platform/GFX/WebRender_Where
* [[Platform/GFX/Telemetry|Telemetry]]
* [[Platform/GFX/APZ|Async Panning and Zooming]]
* [[Platform/GFX/Moz2D|Moz2D]]
* [[Platform/GFX/WebGPU|WebGPU]]
 
== Archive ==
 
We have a lot of older pages that are no longer updated. They've been moved [[Platform/GFX/Archive | here]].

Latest revision as of 17:53, 17 July 2020

This is a page of useful information about and for the Firefox Graphics team. For an overview of graphics inside of Gecko look here

If you're interested in contributing, check out this page.

You can find the team in channel #gfx-firefox:mozilla.org on Matrix (info on how to join Matrix).


Roadmaps and Goals

Roadmaps

View our general Roadmap for 2020

View the WebRender-specific roadmap

View a more detailed roadmap mapped against months/releases

Quarterly Goals

View the Graphics Team Q2 Goals

WebRender Priorities

Meeting Notes

Bug Triage Information

Triage Guide

Triage Dashboard

Technical Overviews

Tools & Workflows

Getting Started

WebRender

Useful Information

Components

Archive

We have a lot of older pages that are no longer updated. They've been moved here.