blob: 44c92918a25c2b38b9eb8318596ac8a4528faec1 [file] [log] [blame]
Ilja H. Friedel8faad302011-04-26 14:40:49 -07001GLBench 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
Daniel Kurtzbe252422014-06-18 12:44:26 +080024swap_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]
Ilja H. Friedel8faad302011-04-26 14:40:49 -070029[...]
30
31ls img
Daniel Kurtzbe252422014-06-18 12:44:26 +080032clear_color.pixmd5-e3609de122a164fe240a562c69367de.png
33clear_colordepth.pixmd5-e3609de122a164fe240a562c69367de.png
34clear_colordepthstencil.pixmd5-e3609de122a164fe240a562c69367de.png
35compositing.pixmd5-7d02a16a7ac15cd6cbbc5c786f1.png
Ilja H. Friedel8faad302011-04-26 14:40:49 -070036[...]
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/
Ilja H. Friedel6eec4922015-04-17 18:44:03 -070059Images 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/
Ilja H. Friedel8faad302011-04-26 14:40:49 -070061
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
Ilja H. Friedel6eec4922015-04-17 18:44:03 -070066to update the image filelists in deps/glbench/glbench_reference_images.txt etc.