Functional and performance graphics benchmarks

Registered by Jesse Barker

* Extract performance and functionality tests from real life applications
* Explore possibility of trace framework for common tool kits (like cairo-trace/cairo-perf-trace and others).
* Graphics test front-end that would allow easily running various OpenGL ES 2.x tests (possibly with Spandex). Allows for more directed testing than application traces.

Blueprint information

Status:
Complete
Approver:
Jesse Barker
Priority:
High
Drafter:
Alexandros Frantzis
Direction:
Approved
Assignee:
Alexandros Frantzis
Definition:
Approved
Series goal:
Accepted for 11.05
Implementation:
Implemented
Milestone target:
milestone icon 11.05-final
Started by
Jamie Bennett
Completed by
Alexandros Frantzis

Related branches

Sprints

Whiteboard

[alf Nov 26]: Spandex package available in ppa:afrantzis/benchmarks (packaging branch lp:~afrantzis/+junk/spandex)
[alf Nov 30]: Spandex test definition for abrek proposed for merging (https://code.launchpad.net/~afrantzis/abrek/spandex-gles2/+merge/42243)
[alf Dec 02]: Investigation of spandex indicates that the API is too abstract (window system agnostic) for us to be able to create an EGL-tfp/composite benchmark. The new version of glmemperf 0.13 (inclusion in multiverse pending) contains a test of the EGL_KHR_image_pixmap extension, so we could use this (at least as a starting point).
[alf Dec 07]: New version of glmemperf (0.13) that contains test for EGL_KHR_image_pixmap extension has been uploaded to multiverse for natty.
[alf Dec 17]: EGL-tfp/composite program and benchmark created and uploaded to lp:~afrantzis/+junk/egl-composite
[alf Dec 18]: Reorganized work items around the new graphics WG milestones
[alf Jan 03]: Qt4 packages in the main archive already support graphics tracing (trace graphicssystem plugin is in libqtgui4 package) and playback (qttracereplay is in qt4-dev-tools package).
[rajeevk Jan 14]: Dependency tree shows there is no dependency on any thing. Not sure??. Please append if this is not true.
[rajeevk Jan 14]: I could see lot of work items which are mentioned after work item 11.04 under the heading "work items". Not sure if there are part of 11.05 as there is no any work item for it.
[alf Jan 17]: Created a project and uploaded new source for composite benchmark lp:glcompbench
[alf Jan 17]: Uploaded glcompbench package to ppa:afrantzis/benchmarks
[rajeev Feb 02]: Please move all DONE work items to 11.01 cycle (listed towards the end of whiteboard.
[alf Jan 31]: glmark2 11.01 uploaded in universe archive for natty.
[alf Feb 07]: Added glx and egl-gl support to glcompbench (lp:glcompbench).
[alf Feb 24]: Reorganize work items for approaching milestone
[alf Feb 25]: Tools for site loading and scrolling uploaded to lp:~linaro-graphics-wg/+junk/webscroll
[alf Mar 14]: Uploaded cairo website traces to lp:~linaro-graphics-wg/+junk/cairo-traces-linaro
[alf Mar 15]: Uploaded gtkperf and metacity traces to lp:~linaro-graphics-wg/+junk/cairo-traces-linaro
[alf Mar 15]: Uploaded qt webkit website traces to lp:~linaro-graphics-wg/+junk/qt-traces-linaro
[alf Mar 18]: Upstream licensed cairo-traces under MIT/X11 license, so we can now redistribute them!
[alf Mar 22]: Added traces of FOSS Qt apps in lp:~linaro-graphics-wg/+junk/qt-traces-linaro
[alf Mar 22]: Uploaded packages for cairo and qt traces to ppa:afrantzis/benchmarks
[alf Mar 30]: New version of glmemperf (0.17) has been uploaded to multiverse for natty.
[alf Apr 01]: Created branch with out-of-tree abrek test definitions for graphics WG in lp:~linaro-graphics-wg/+junk/linaro-graphics-wg-tests ( It's not a joke! :) )
[alf Apr 04]: As out-of-tree test definitions will be supported this cycle in abrek, we will provide our test definitions this way instead of merging in abrek trunk. Update work items to reflect this decision.
[alf Apr 05]: Added out-of-tree abrek test definitions for glcompbench, cairo-traces and qt-traces (lp:~linaro-graphics-wg/+junk/linaro-graphics-wg-tests)
[alf Apr 11]: Spandex unix-x11 branch merged in current upstream development tree (https://gitorious.org/spandex/spandex/commits/dev-1.1.3).
[alf May 03]: Added out-of-tree abrek test definitions for qgears (lp:~linaro-graphics-wg/+junk/linaro-graphics-wg-tests)
[alf May 04]: Postponed Qt tracing for webkit work item. Webkit drawing operations can be traced successfully in most cases (see linaro-graphics-traces-qt package) without any improvements to the tracing engine.

Status:
[alf May 05]: Uploaded spandex package to linaro-graphics-wg PPA and added spandex test definition to WG tests (lp:~linaro-graphics-wg/+junk/linaro-graphics-wg-tests)

(?)

Work Items

Work items for 11.01:
Resolve (with infrastructure team) how to proceed with test definitions that need special parsers/runners: DONE
Implement or find benchmark for EGL-tfp/composite: DONE
Package EGL-tfp/composite benchmark and make it available in a PPA: DONE
Make available in a repository Qt packages that support tracing capture and playback: DONE
[asac] Check with Thiago about Qt graphics tracing capabilities: DONE
Investigate the cause of visual artifacts when using glmark2-es2: DONE
Fix the cause of visual artifacts in glmark2-es2: DONE
Make spandex package available in a PPA (or universe): DONE
Write abrek test definition for spandex: DONE
Investigate if we can add an EGL-tfp/composite benchmark to spandex: DONE

Work items for 11.02:
Investigate best parameters for the EGL-tfp/composite benchmark, to ensure meaningful results on a variety of platforms 11.02: DONE
Investigate what needs to be done to support tracing of webkit/qt: DONE
Discuss trace licensing issues with cairo upstream: DONE

Work items for 11.03:
Develop helper application to automatically load and scroll web pages to assist with trace captures: DONE
Capture cairo traces from free website (using firefox and/or webkit-gtk): DONE
Capture cairo traces from FOSS desktop apps: DONE
Capture cairo window manager traces (gtk-based eg metacity) with elaborate themes (eg gradients): DONE
Check the existing Qt traces and decide if we need to capture more: DONE
If needed, capture Qt traces of free websites (using webkit-qt): DONE
If needed, capture Qt traces of FOSS Qt apps: DONE
Make cairo traces available as one or more packages in a PPA: DONE
Make Qt traces available as one or more package in a PPA: DONE
Investigate best parameters for the EGL-tfp/composite benchmark, to ensure meaningful results on a variety of platforms 11.03: DONE

Work items for 11.04:
Ensure glmark2-es2 abrek test definitions are available in the WG's out-of-tree test def. packages: DONE
Ensure es2gears abrek test definitions are available in the WG's out-of-tree test def. packages: DONE
Ensure clutter abrek test definitions are available in the WG's out-of-tree test def. packages: DONE
Ensure render-bench test definitions are available in the WG's out-of-tree test def. packages: DONE
Write abrek test definitions for EGL-tfp/composite benchmark: DONE
Write abrek test definition for cairo traces benchmark: DONE
Write abrek test definition for Qt traces benchmark: DONE
Ensure EGL-tfp/composite abrek test definitions are available in the WG's out-of-tree test def. packages: DONE
Ensure cairo-traces test definitions are available in the WG's out-of-tree test def. packages: DONE
Ensure Qt traces test definitions are available in the WG's out-of-tree test def. packages: DONE
Investigate best parameters for the EGL-tfp/composite benchmark, to ensure meaningful results on a variety of platforms 11.04: DONE

Work items:
Push cairo traces to cairo upstream repository (if accepted by upstream): POSTPONED
Ensure spandex abrek test definitions are available in the WG's out-of-tree test def. packages: DONE
Ensure qgears test definitions are available in the WG's out-of-tree test def. packages: DONE
If decided, implement changes needed to support Qt tracing for webkit: POSTPONED

Dependency tree

* Blueprints in grey have been implemented.