1# Copyright (c) 2010 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'
6AUTHOR = 'chromeos-gfx'
7PURPOSE = 'Benchmark the graphics library performance.'
8CRITERIA = """
9Test should not crash and not overheat (which is monitored by PerfControl).
10Test generates output images and verifies their bit accuracy using MD5 checksums
11which are stored in
12../../deps/glbench/glbench_reference_images.txt (for known good images)
13and in ../../deps/glbench/glbench_knownbad_images.txt (for ignored failures -
14this should be 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 in ../../deps/glbench-images/.
19Note: it should nearly never be required to remove old versions of good/bad
20images from these directories.
21"""
22ATTRIBUTES = "suite:graphics, suite:graphics_per-day, suite:graphics_system"
23SUITE = 'graphics_per-day, graphics, graphics_system'
24TIME='LENGTHY'
25TEST_CATEGORY = 'Performance'
26TEST_CLASS = "gl"
27TEST_TYPE = 'client'
28# Reboot in the lab after the test ends.
29DEPENDENCIES='cleanup-reboot'
30BUG_TEMPLATE = {
31    'labels': ['Cr-OS-Kernel-Graphics'],
32}
33
34DOC = """
35This benchmark executes glbench, a graphics benchmark designed to time how long
36various graphic intensive activities take, which includes measuring:
37  - fill rate
38    - blended
39    - opaque
40  -Z reject rate
41  -triangle rate
42    - no cull
43    - half cull (half triangles backface culled)
44    - full cull (mix of back face and degenerates)
45  - blend rate
46  - texture fetch
47    - nearest
48    - bilinear
49    - trilinear
50  - compute
51    - vertex shader
52    - pixel shader
53    - *fragement shader to test ddx and ddy
54  - attribute fetch
55  - color depth stencil test
56  - *state change
57  - texture upload
58  - read back
59
60* Not yet implemented.
61"""
62
63job.run_test('graphics_GLBench')
64