Platform/GFX: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
 
(174 intermediate revisions by 19 users not shown)
Line 1: Line 1:
== Details on the active work ==
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]


=== SkiaGL ===
If you're interested in contributing, check out [[Platform/GFX/Contribute|this]] page.
* Joint effort with Fennec, Taipei teams
* Taipei visiting Toronto, May 13-17, 2013
* Toronto et al. visiting Taipei May 20-24, 2013
* See [[Mobile/SkiaGL | Mobile SkiaGL page]]


=== Scrolling (async, subframe panning) ===
You can find the team in channel #gfx-firefox:mozilla.org on Matrix ([https://wiki.mozilla.org/Matrix info on how to join Matrix]).
* Details coming


=== Azure ===
* Get the tests going
** On all platforms
** Use https://hg.mozilla.org/users/bschouten_mozilla.com/moz2d/
* Cairo


=== OMT image animation ===
== Roadmaps and Goals==
* Details coming


=== Testing, replaying, building Moz2D ===
===Roadmaps===
* Cairo
** Get libcairo2-dev (http://cairographics.org/download/)
** Get qt4-sdk (http://qt-project.org/downloads)
** hg clone ssh://hg.mozilla.org/users/bschouten_mozilla.com/moz2d
** On Mac, add /usr/X11/lib/pkgconfig to your PKG_CONFIG_PATH (if it's not there already).
** make -f Makefile.standalone player2d MOZ2D_CAIRO=true


=== Documentation ===
View our general [https://wiki.mozilla.org/Platform/GFX/roadmap2020 Roadmap for 2020]
* Doxygen extraction - http://people.mozilla.org/~bgirard/doxygen/


== Quarterly Planning ==
View the [https://wiki.mozilla.org/Platform/GFX/WebRender2020 WebRender-specific roadmap]


See the [[Platform/Planning | Platform Planning page]] for info on our meetings that occur 2-3 times a year to plan features.
View a [https://docs.google.com/spreadsheets/d/1ygcw2u1FuC39-b_5iwELAToYYWVYGEfyieW77ouJ9Mc/edit#gid=0 more detailed] roadmap mapped against months/releases


== Feature Planning ==
===Quarterly Goals===


* [[Platform/GFX/HardwareAcceleration|Hardware Acceleration]]
View the [https://wiki.mozilla.org/Platform/GFX/GFXQ2Goals Graphics Team Q2 Goals]
* [[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]]
* [[Platform/Imagelib|Imagelib]]


== Development Planning ==
====WebRender Priorities====
* [https://wiki.mozilla.org/Platform/GFX/WebRender2020_Q1 WebRender Q1 Priorities]


* [[Platform/GFX/InternProjects|Intern Project List]]
* [https://wiki.mozilla.org/Platform/GFX/WebRender2020_Q2 WebRender Q2 Priorities]
* [[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 ==
* [https://wiki.mozilla.org/Platform/GFX/WebRender2020_Q3 WebRender Q3 Priorities]


* [[Platform/GFX/2013-May-6|6 May 2013]]
==Meeting Notes==
* [[Platform/GFX/2013-April-22|22 April 2013]]
* [[Platform/GFX/2013-April-2|2 April 2013]]
* [[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
* [https://wiki.mozilla.org/Platform/GFX/SWWRmeetingnotes Software WebRender]
|2008-2010
* [https://wiki.mozilla.org/Platform/GFX/WRperfmeetings WR Perf]
|
* [https://wiki.mozilla.org/Platform/WRfuture WR Future]
* [[Platform/GFX/2010-Aug-30|30 August 2010]]
* [https://docs.google.com/document/d/1RnHYno9j-yLwS-DXvd-xyG8RBqe9StjCDu5GbGnXdP8/edit Texture/buffer upload] brainstorming
* [[Platform/GFX/2010-Aug-23|23 August 2010]]
* [https://wiki.mozilla.org/Platform/GFX/wrmac WebRender-Mac]
* [[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 ==
== Bug Triage Information ==


* [[Platform/GFX/HardwareList|Available Hardware List]]
[https://github.com/FirefoxGraphics/triage/wiki/Triage-guide Triage Guide]
* [[Platform/GFX/Hardware limitations|Hardware Limitations]]
 
[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.