Ilja Friedel | 3907fd1 | 2014-04-15 14:29:43 -0700 | [diff] [blame] | 1 | # Copyright (c) 2014 The Chromium OS Authors. All rights reserved. |
| 2 | # Use of this source code is governed by a BSD-style license that can be |
| 3 | # found in the LICENSE file. |
| 4 | |
Ilja H. Friedel | 292ee48 | 2017-05-20 22:33:36 -0700 | [diff] [blame] | 5 | NAME = 'graphics_GLBench.bvt' |
Ilja H. Friedel | efb1307 | 2014-04-16 18:22:11 -0700 | [diff] [blame] | 6 | AUTHOR = 'chromeos-gfx' |
Ilja Friedel | 3907fd1 | 2014-04-15 14:29:43 -0700 | [diff] [blame] | 7 | PURPOSE = 'Benchmark the graphics library performance.' |
| 8 | CRITERIA = """ |
Ilja H. Friedel | 292ee48 | 2017-05-20 22:33:36 -0700 | [diff] [blame] | 9 | On bvt this test is not run as a benchmark. (One can find approximate |
Ilja Friedel | 3907fd1 | 2014-04-15 14:29:43 -0700 | [diff] [blame] | 10 | performance numbers in the logs though, but they are ignored.) It still |
| 11 | generates output images and verifies their bit accuracy using MD5 checksums |
Po-Hsien Wang | 9a5f682 | 2019-03-15 11:26:41 -0700 | [diff] [blame] | 12 | which are stored in glbench_reference_images.txt (for known good images) |
| 13 | and in glbench_knownbad_images.txt (for ignored failures - this should |
| 14 | be very rare though). |
Ilja Friedel | 3907fd1 | 2014-04-15 14:29:43 -0700 | [diff] [blame] | 15 | |
| 16 | If unknown images are encountered the test fails. To resolve this use an |
| 17 | image diffing tool like Beyond Compare and visually check differences between |
Po-Hsien Wang | 9a5f682 | 2019-03-15 11:26:41 -0700 | [diff] [blame] | 18 | the unknown image and older versions. |
Ilja Friedel | 3907fd1 | 2014-04-15 14:29:43 -0700 | [diff] [blame] | 19 | Note: it should nearly never be required to remove old versions of good/bad |
| 20 | images from these directories. |
| 21 | """ |
Po-Hsien Wang | 320ea61 | 2020-02-05 12:14:15 -0800 | [diff] [blame^] | 22 | ATTRIBUTES = "suite:bvt-perbuild, suite:graphics, suite:graphics_per-day, suite:graphics_system" |
Ilja Friedel | 3907fd1 | 2014-04-15 14:29:43 -0700 | [diff] [blame] | 23 | TIME='FAST' |
| 24 | TEST_CATEGORY = 'Performance' |
| 25 | TEST_CLASS = "gl" |
| 26 | TEST_TYPE = 'client' |
David James | 2a5b061 | 2014-10-22 14:54:16 -0700 | [diff] [blame] | 27 | JOB_RETRIES = 2 |
Alex Deymo | 3e31a77 | 2014-08-08 18:23:08 -0700 | [diff] [blame] | 28 | BUG_TEMPLATE = { |
Fang Deng | efb6d68 | 2016-04-13 14:46:47 -0700 | [diff] [blame] | 29 | 'components': ['OS>Kernel>Graphics'], |
Alex Deymo | 3e31a77 | 2014-08-08 18:23:08 -0700 | [diff] [blame] | 30 | } |
Ilja Friedel | 3907fd1 | 2014-04-15 14:29:43 -0700 | [diff] [blame] | 31 | |
| 32 | DOC = """ |
Ilja H. Friedel | 292ee48 | 2017-05-20 22:33:36 -0700 | [diff] [blame] | 33 | On bvt we do not upload performance numbers to the chrome dashboard. We run |
Ilja Friedel | 3907fd1 | 2014-04-15 14:29:43 -0700 | [diff] [blame] | 34 | glbench with the "-hasty" option to stay well below the BVT limit of 20 |
| 35 | minutes. This option will run each test at 512x512 resolution only, run it |
| 36 | only for a fraction of the loops we normally do, and not cool down the |
| 37 | machine between tests. For this PerfControl is disabled. |
| 38 | |
| 39 | This benchmark executes glbench, a graphics benchmark designed to time how long |
| 40 | various graphic intensive activities take, which includes measuring: |
| 41 | - fill rate |
| 42 | - blended |
| 43 | - opaque |
| 44 | -Z reject rate |
| 45 | -triangle rate |
| 46 | - no cull |
| 47 | - half cull (half triangles backface culled) |
| 48 | - full cull (mix of back face and degenerates) |
| 49 | - blend rate |
| 50 | - texture fetch |
| 51 | - nearest |
| 52 | - bilinear |
| 53 | - trilinear |
| 54 | - compute |
| 55 | - vertex shader |
| 56 | - pixel shader |
| 57 | - *fragement shader to test ddx and ddy |
| 58 | - attribute fetch |
| 59 | - color depth stencil test |
| 60 | - *state change |
| 61 | - texture upload |
| 62 | - read back |
| 63 | |
| 64 | * Not yet implemented. |
| 65 | """ |
| 66 | |
| 67 | job.run_test('graphics_GLBench', hasty=True) |