Platform/GFX: Difference between revisions
< Platform
Jump to navigation
Jump to search
Msreckovic (talk | contribs) |
(→Testing, replaying, building Moz2D: Fill out windows build details) |
||
Line 59: | Line 59: | ||
* Windows | * Windows | ||
** Dependencies: | ** Dependencies: | ||
*** VS2012 | *** [http://www.microsoft.com/visualstudio/eng/downloads VS2012], Express 2012 for Windows Desktop is fine | ||
*** A default Cairo and Skia build in the cairo/skia directories in the parent directory of Moz2D if you plan to use skia/cairo | |||
*** A default | *** [http://qt-project.org/downloads QtSDK] if you plan on using player2d | ||
** hg clone http://hg.mozilla.org/users/bschouten_mozilla.com/moz2d | **** Use the VS2012 32-bit version | ||
** Open the gfx2d visual studio solution | **** You will need at least version 5.1.0 since earlier versions don't have a 32-bit binary for VS2012 and have a bug ([https://bugreports.qt-project.org/browse/QTBUG-30822 QTBUG-30822]) that cause Visual Studio to pick up the wrong Windows SDK headers when building in an environment with both VS2010 and VS2012 installed. | ||
**** Older versions can be used if needed. Use one of the installers and select "Source Components" when installing. Then, from a VS2012 command prompt run: | |||
***** <code>C:\Qt\Qt5.0.2\5.0.2\Src\qtbase> configure -opensource -confirm-license -static -debug-and-release -no-angle -no-opengl -nomake examples -nomake tests -platform win32-msvc2012</code> | |||
***** <code>nmake</code> | |||
***** (Requires [http://www.activestate.com/activeperl Perl]) | |||
** <code>hg clone http://hg.mozilla.org/users/bschouten_mozilla.com/moz2d</code> | |||
** Open the <code>gfx2d.sln</code> visual studio solution | |||
** Build the solution | ** Build the solution | ||
** For player2d, | *** Build the Debug configuration first since it generates the shader code | ||
*** Don't build Release (Skia) without installing Skia / Cairo first | |||
** For player2d, from a VS2012 command prompt: | |||
*** Go to the <code>moz2d</code> repository clone, <code>cd c:\users\me\moz2d</code> | |||
*** <code>mkdir player2d-build</code> | |||
*** <code>cd player2d-build</code> | |||
*** <code>\qt\Qt5.1.0\5.1.0\msvc2012\bin\qmake.exe ..\player2d\player2d.pro -tp vc -spec win32-msvc2012</code><br>(The final <code>-spec win32-msvc2012</code> might not be necessary, particularly if you only have one version of Visual Studio installed) | |||
*** Open the generated <code>player2d.vcxproj</code> file from the <code>player2d-build</code> directory in VS2012. | |||
*** Press F7 to build. | |||
*** If you get an error about <code>surfaceview.h</code> not being found when referenced from <code>ui_sourcesurfaceview.h</code>, change the line that reads:<br><code>#include <surfaceview.h></code><br>to<br><code>#include "surfaceview.h"</code> | |||
*** Add the directory containing the QT DLLs to your path (e.g. C:\qt\Qt5.1.0\5.1.0\msvc2012\bin) | |||
*** Run player2d | |||
=== Documentation === | === Documentation === |
Revision as of 04:24, 7 August 2013
Details on the active work
SkiaGL
- Joint effort with Fennec, Taipei teams
- Taipei visited Toronto, May 13-17, 2013
- Toronto et al. visited Taipei May 20-24, 2013
- Visiting Skia team in Chapel Hill, August 5-6, 2013
- See Mobile SkiaGL page
- Some notes about Gralloc
Scrolling (async, subframe panning)
- B2G (performance) target applications: gallery, contacts, applist, browser, e-mail see here for details
Off main thread ...
- bug 598873: OMTC on all platforms
- bug 722012: OMTC on Linux
- bug 756601: OMTC on Mac
- bug 756606: OMTC D3D10 (Windows)
OMT image animation
- bug 717872: Image animation
Moz2D (Azure)
- Get the tests going
- On all platforms
- Use https://hg.mozilla.org/users/bschouten_mozilla.com/moz2d/
- OSX Core Graphics
- Migration from thebes to Moz2D
- Cairo SW
WebGL
Testing, replaying, building Moz2D
- Linux/Mac
- Cairo
- Get libcairo2-dev (http://cairographics.org/download/)
- Get qt4-sdk (http://qt-project.org/downloads) if you plan on using player2d
- hg clone http://hg.mozilla.org/users/bschouten_mozilla.com/moz2d
- On Mac, add the directory containing the cairo.pc file to your PKG_CONFIG_PATH (if it's not there already).
- One location seen was /usr/X11/lib/pkgconfig
- Another location seen was /opt/local/lib/pkgconfig
- Compiler issues with Player2D target
- Currently, you need to be building with clang in order for Player2D (Qt dependency) to build.
- If you don't get qmake producing a Makefile, but instead get a xcodeproj file instead, you may need to create the Makefile yourself, using qmake options (details forthcoming) and run make manually.
- Build/Useful targets:
- release: make -f Makefile.standalone release MOZ2D_CAIRO=true
- debug: make -f Makefile.standalone debug MOZ2D_CAIRO=true
- check: make -f Makefile.standalone check MOZ2D_CAIRO=true
- player2d: make -f Makefile.standalone player2d MOZ2D_CAIRO=true
- Skia
- Get skia: svn checkout http://skia.googlecode.com/svn/trunk skia
- Build skia with BUILDTYPE=Release: https://sites.google.com/site/skiadocs/user-documentation/quick-start-guides/linux
- Get qt4-sdk (http://qt-project.org/downloads) if you plan on using player2d
- hg clone http://hg.mozilla.org/users/bschouten_mozilla.com/moz2d
- make -f Makefile.standalone clean release MOZ2D_SKIA=skia
- If you didn't checkout skia under the moz2d src directory then set MOZ2D_SKIA to it's relative path
- Cairo
- Windows
- Dependencies:
- VS2012, Express 2012 for Windows Desktop is fine
- A default Cairo and Skia build in the cairo/skia directories in the parent directory of Moz2D if you plan to use skia/cairo
- QtSDK if you plan on using player2d
- Use the VS2012 32-bit version
- You will need at least version 5.1.0 since earlier versions don't have a 32-bit binary for VS2012 and have a bug (QTBUG-30822) that cause Visual Studio to pick up the wrong Windows SDK headers when building in an environment with both VS2010 and VS2012 installed.
- Older versions can be used if needed. Use one of the installers and select "Source Components" when installing. Then, from a VS2012 command prompt run:
C:\Qt\Qt5.0.2\5.0.2\Src\qtbase> configure -opensource -confirm-license -static -debug-and-release -no-angle -no-opengl -nomake examples -nomake tests -platform win32-msvc2012
nmake
- (Requires Perl)
hg clone http://hg.mozilla.org/users/bschouten_mozilla.com/moz2d
- Open the
gfx2d.sln
visual studio solution - Build the solution
- Build the Debug configuration first since it generates the shader code
- Don't build Release (Skia) without installing Skia / Cairo first
- For player2d, from a VS2012 command prompt:
- Go to the
moz2d
repository clone,cd c:\users\me\moz2d
mkdir player2d-build
cd player2d-build
\qt\Qt5.1.0\5.1.0\msvc2012\bin\qmake.exe ..\player2d\player2d.pro -tp vc -spec win32-msvc2012
(The final-spec win32-msvc2012
might not be necessary, particularly if you only have one version of Visual Studio installed)- Open the generated
player2d.vcxproj
file from theplayer2d-build
directory in VS2012. - Press F7 to build.
- If you get an error about
surfaceview.h
not being found when referenced fromui_sourcesurfaceview.h
, change the line that reads:#include <surfaceview.h>
to#include "surfaceview.h"
- Add the directory containing the QT DLLs to your path (e.g. C:\qt\Qt5.1.0\5.1.0\msvc2012\bin)
- Run player2d
- Go to the
- Dependencies:
Documentation
Development Planning
- 2013 Goals: Q1, Q2, Q3, Q4
- Intern Project List
- OpenGL ES accelerated layers syncup meeting
- BugKill - make our bug lists containable in one person's head
- Convert code to the new 2D API - the second phase of the Azure project
- Things that were being considered for 2013
- https://wiki.mozilla.org/Gecko:AcceleratedFilters
Feature Planning
- Hardware Acceleration
- Layer API
- Responsiveness
- PerformanceToDo
- Firefox.next
- OpenGL Layers on Mobile
- Off Main Thread Compositing
- WebCL
- WebGL
- X11 GL Layers
- Fonts
- MobileGPUs
- Imagelib
- Gralloc
Team Meetings
2013 Q1 | 2013 Q2 | 2013 Q3 | 2013 Q4 |
---|---|---|---|
|
| ||
2012 Q1 | 2012 Q2 | 2012 Q3 | 2012 Q4 |
2008-2011
- 19 December 2011
- 12 December 2011
- 5 December 2011
- 28 November 2011
- 21 November 2011
- 7 November 2011
- 31 October 2011
- 28 October 2011 WebGL security review
- 24 October 2011
- 17 October 2011
- 11 October 2011
- 3 October 2011
- 26 September 2011
- 19 September 2011
- 13 September 2011 informal meeting with Apple and Google engineers
- 6 September 2011
- 29 August 2011
- 22 August 2011
- 15 August 2011
- 8 August 2011
- 2 August 2011
- 25 July 2011
- 11 July 2011
- 29 June 2011 WebGL security review
- 27 June 2011
- 20 June 2011
- 13 June 2011
- 6 June 2011
- 30 May 2011
- 24 May 2011
- 16 May 2011
- 9 May 2011
- 2 May 2011
- 18 April 2011
- 28 March 2011
- 3 January 2011
- 30 August 2010
- 23 August 2010
- 16 August 2010
- 9 August 2010
- 2 August 2010
- 26 July 2010
- 19 July 2010
- 12 July 2010
- 28 June 2010
- 21 June 2010
- 14 June 2010
- 7 June 2010
- 31 May 2010
- 24 May 2010
- 17 May 2010
- 10 May 2010
- 3 May 2010
- 26 Apr 2010
- 19 Apr 2010
- 12 Apr 2010
- 5 Apr 2010
- 29 Mar 2010
- 22 Mar 2010
- 15 Mar 2010
- 8 Mar 2010
- 1 Mar 2010
- 15 Feb 2010
- 8 Feb 2010
- 1 Feb 2010
- 25 Jan 2010
- 18 Jan 2010
- 11 Jan 2010
- 04 Jan 2010
- 21 Dec 2009
- 14 Dec 2009
- 30 Nov 2009
- 23 Nov 2009
- 16 Nov 2009
- 9 Nov 2009
- 2 Nov 2009
- 26 Oct 2009
- 19 Oct 2009
- 12 Oct 2009
- 5 Oct 2009
- 28 Sep 2009
- 21 Sep 2009
- 14 Sep 2009
- 7 Sep 2009
- 31 Aug 2009
- 17 Aug 2009
- 10 Aug 2009
- 3 Aug 2009
- 27 July 2009
- 20 July 2009
- 13 July 2009
- 6 July 2009
- 29 Jun 2009
- 22 Jun 2009
- 15 Jun 2009
- 8 Jun 2009
- 1 Jun 2009
- 25 May 2009
- 18 May 2009
- 11 May 2009
- 4 May 2009
- 20 Apr 2009
- 13 Apr 2009
- 6 Apr 2009
- 30 Mar 2009
- 23 Mar 2009
- 16 Mar 2009
- 9 Mar 2009
- 2 Mar 2009
- 23 Feb 2009
- 16 Feb 2009
- 9 Feb 2009
- 2 Feb 2009
- 26 Jan 2009
- 19 Jan 2009
- 12 Jan 2009
- 5 Jan 2009
- 15 Dec 2008
- 8 Dec 2008
- 1 Dec 2008
- 17 Nov 2008
- 10 Nov 2008
- 3 Nov 2008
- 20 Oct 2008
- 13 Oct 2008
- 6 Oct 2008
- 29 Sep 2008
- 22 Sep 2008
- 15 Sep 2008
- 8 Sep 2008
- 2 Sep 2008
- 19 Aug 2008
- 12 Aug 2008
- 5 Aug 2008
- 22 July 2008
- 15 July 2008