commit | 7b11d2e63e1c19b68e9e45dbe4285258dc1fbd3d | [log] [tgz] |
---|---|---|
author | Po-Hsien Wang <pwang@chromium.org> | Fri Aug 27 23:52:01 2021 |
committer | Commit Bot <commit-bot@chromium.org> | Thu Sep 30 06:54:09 2021 |
tree | 1ce01cc16e3259de626e5f9961f0576482a8c2d2 | |
parent | 5b8ad1b0ea2b0f1b2aa7c613eeb4de8ad3bd699c [diff] |
Let user specify runtime directories Create a folder to hold all the files needed at runtime. BUG=b:191920523 TEST=make TEST=./glbench --notemp --tests=yuv_to_rgb TEST=make install && glbench --tests yuv_to_rgb --notemp -runtime_dir=/usr/local/bin/runtime Cq-Depend: chromium:3126680 Change-Id: I41a59a83804e63146f2ae19394f1502ca0c8700b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/glbench/+/3126581 Tested-by: Po-Hsien Wang <pwang@chromium.org> Auto-Submit: Po-Hsien Wang <pwang@chromium.org> Reviewed-by: Ilja H. Friedel <ihf@chromium.org> Commit-Queue: Ilja H. Friedel <ihf@chromium.org>
GLBench runs OpenGL or OpenGL ES microbenchmarks and writes performance numbers to stdout and resulting images to a directory for verification.
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.
It might be easier to develop new tests under Linux:
sudo apt-get install libgflags-dev sudo apt-get install libwaffle-dev sudo apt-get install waffle-utils (optional) make
./glbench -notemp [-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 clear_color.pixmd5-e3609de122a164fe240a562c69367de.png clear_colordepth.pixmd5-e3609de122a164fe240a562c69367de.png clear_colordepthstencil.pixmd5-e3609de122a164fe240a562c69367de.png compositing.pixmd5-7d02a16a7ac15cd6cbbc5c786f1.png [...]
Running the autotest test_that $DUT graphics_GLBench will \
Good reference images themselves are located at ./ref_images/glbench_reference_images/
Images that have outstanding defects and an open bug filed are at ./ref_images/glbench_knownbad_images/chromium-bug-NNNNN/
When that bug is closed the directory should be moved to ./ref_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 ./update_glbench_image_filelists.sh to update the image filelists.