• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1GLBench runs a bunch of OpenGL or OpenGL ES performance tests and writes
2performance numbers to stdout and resulting images to a directory for
3verification.
4
5For the test to pass the performance numbers have to be better than a predefined
6threshold, while the resulting images have to be found in a repository of
7reference images. As the image name encodes the raw pixel MD5 this can be
8done as a simple file existence check. If we ever get too much pixel
9variation using a tool like perceptualdiff to waive small differences
10should be acceptable.
11
12
13Executable options
14==================
15
16./glbench [-save [-outdir=<directory>]]
17
18
19Example
20=======
21
22./glbench -save -outdir=img
23# board_id: NVIDIA Corporation - Quadro FX 380/PCI/SSE2
24swap_swap                    =   214.77 us           [swap_swap.pixmd5-20dbc406b95e214a799a6a7f9c700d2f.png]
25clear_color                  =  4448.28 mpixels_sec  [clear_color.pixmd5-e3609de1022a164fe240a562c69367de.png]
26clear_depth                  = 10199.76 mpixels_sec  [clear_depth.pixmd5-e3609de1022a164fe240a562c69367de.png]
27clear_colordepth             =  3250.57 mpixels_sec  [clear_colordepth.pixmd5-e3609de1022a164fe240a562c69367de.png]
28clear_depthstencil           = 26447.22 mpixels_sec  [clear_depthstencil.pixmd5-e3609de1022a164fe240a562c69367de.png]
29[...]
30
31ls img
32clear_color.pixmd5-e3609de122a164fe240a562c69367de.png
33clear_colordepth.pixmd5-e3609de122a164fe240a562c69367de.png
34clear_colordepthstencil.pixmd5-e3609de122a164fe240a562c69367de.png
35compositing.pixmd5-7d02a16a7ac15cd6cbbc5c786f1.png
36[...]
37
38
39Running from the autotest harness
40=================================
41
42The autotest script graphics_GLBench.py will
430) run glbench -save
441) first try to identify known buggy images by searching in
45       deps/glbench/glbench_knownbad_images.txt
462) then identify good images by searching in
47       deps/glbench/glbench_reference_images.txt
483) if it is unable to find the test image it will do a second lookup at
49       http://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/glbench_*
504) TODO(ihf) use perceptualdiff to do a fuzzy compare
515) raise an error if the image is completely unknown
526) report performance numbers back to the harness
53
54
55Handling of reference images
56============================
57
58Good reference images themselves are located at       ../glbench-images/glbench_reference_images/
59Images that have outstanding defects and an open bug filed are at ../glbench-images/glbench_knownbad_images/chromium-bug-NNNNN/
60When that bug is closed the directory should be moved to ../glbench-images/glbench_fixedbad_images/chromium-bug-NNNNN/
61
62To push out new reference images place them in the appropriate
63directories (create a new bug if needed) and run
64    > update_glbench_image_filelists.sh
65
66to update the image filelists in deps/glbench/glbench_reference_images.txt etc.
67