blob: 44c92918a25c2b38b9eb8318596ac8a4528faec1 [file] [log] [blame]
GLBench runs a bunch of OpenGL or OpenGL ES performance tests and writes
performance numbers to stdout and resulting images to a directory for
For the test to pass the performance numbers have to be better than a predefined
threshold, while the resulting images have to be found in a repository of
reference images. As the image name encodes the raw pixel MD5 this can be
done as a simple file existence check. If we ever get too much pixel
variation using a tool like perceptualdiff to waive small differences
should be acceptable.
Executable options
./glbench [-save [-outdir=<directory>]]
./glbench -save -outdir=img
# board_id: NVIDIA Corporation - Quadro FX 380/PCI/SSE2
swap_swap = 214.77 us [swap_swap.pixmd5-20dbc406b95e214a799a6a7f9c700d2f.png]
clear_color = 4448.28 mpixels_sec [clear_color.pixmd5-e3609de1022a164fe240a562c69367de.png]
clear_depth = 10199.76 mpixels_sec [clear_depth.pixmd5-e3609de1022a164fe240a562c69367de.png]
clear_colordepth = 3250.57 mpixels_sec [clear_colordepth.pixmd5-e3609de1022a164fe240a562c69367de.png]
clear_depthstencil = 26447.22 mpixels_sec [clear_depthstencil.pixmd5-e3609de1022a164fe240a562c69367de.png]
ls img
Running from the autotest harness
The autotest script will
0) run glbench -save
1) first try to identify known buggy images by searching in
2) then identify good images by searching in
3) if it is unable to find the test image it will do a second lookup at*
4) TODO(ihf) use perceptualdiff to do a fuzzy compare
5) raise an error if the image is completely unknown
6) report performance numbers back to the harness
Handling of reference images
Good reference images themselves are located at ../glbench-images/glbench_reference_images/
Images that have outstanding defects and an open bug filed are at ../glbench-images/glbench_knownbad_images/chromium-bug-NNNNN/
When that bug is closed the directory should be moved to ../glbench-images/glbench_fixedbad_images/chromium-bug-NNNNN/
To push out new reference images place them in the appropriate
directories (create a new bug if needed) and run
to update the image filelists in deps/glbench/glbench_reference_images.txt etc.