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 glbench_reference_images.txt (for known good images)
12and in glbench_knownbad_images.txt (for ignored failures - this should be
13very rare though).
14
15If unknown images are encountered the test fails. To resolve this use an
16image diffing tool like Beyond Compare and visually check differences between
17the unknown image and older versions.
18Note: it should nearly never be required to remove old versions of good/bad
19images from these directories.
20"""
21ATTRIBUTES = "suite:graphics, suite:graphics_per-day, suite:graphics_system"
22TIME='LENGTHY'
23TEST_CATEGORY = 'Performance'
24TEST_CLASS = "gl"
25TEST_TYPE = 'client'
26# Reboot in the lab after the test ends.
27DEPENDENCIES='cleanup-reboot'
28BUG_TEMPLATE = {
29    'components': ['OS>Kernel>Graphics'],
30}
31
32DOC = """
33This benchmark executes glbench, a graphics benchmark designed to time how long
34various graphic intensive activities take, which includes measuring:
35  - fill rate
36    - blended
37    - opaque
38  -Z reject rate
39  -triangle rate
40    - no cull
41    - half cull (half triangles backface culled)
42    - full cull (mix of back face and degenerates)
43  - blend rate
44  - texture fetch
45    - nearest
46    - bilinear
47    - trilinear
48  - compute
49    - vertex shader
50    - pixel shader
51    - *fragement shader to test ddx and ddy
52  - attribute fetch
53  - color depth stencil test
54  - *state change
55  - texture upload
56  - read back
57
58* Not yet implemented.
59"""
60
61job.run_test('graphics_GLBench')
62