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
5NAME = 'graphics_GLBench.bvt'
6AUTHOR = 'chromeos-gfx'
7PURPOSE = 'Benchmark the graphics library performance.'
8CRITERIA = """
9On bvt this test is not run as a benchmark. (One can find approximate
10performance numbers in the logs though, but they are ignored.) It still
11generates output images and verifies their bit accuracy using MD5 checksums
12which are stored in glbench_reference_images.txt (for known good images)
13and in glbench_knownbad_images.txt (for ignored failures - this should
14be very rare though).
15
16If unknown images are encountered the test fails. To resolve this use an
17image diffing tool like Beyond Compare and visually check differences between
18the unknown image and older versions.
19Note: it should nearly never be required to remove old versions of good/bad
20images from these directories.
21"""
22ATTRIBUTES = "suite:bvt-perbuild, suite:graphics, suite:graphics_per-day, suite:graphics_system, suite:infra_qual"
23TIME='FAST'
24TEST_CATEGORY = 'Performance'
25TEST_CLASS = "gl"
26TEST_TYPE = 'client'
27JOB_RETRIES = 2
28BUG_TEMPLATE = {
29    'components': ['OS>Kernel>Graphics'],
30}
31
32DOC = """
33On bvt we do not upload performance numbers to the chrome dashboard. We run
34glbench with the "-hasty" option to stay well below the BVT limit of 20
35minutes. This option will run each test at 512x512 resolution only, run it
36only for a fraction of the loops we normally do, and not cool down the
37machine between tests. For this PerfControl is disabled.
38
39This benchmark executes glbench, a graphics benchmark designed to time how long
40various 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
67job.run_test('graphics_GLBench', hasty=True)
68