blob: d01710c87c8e50056672f19af89d9b8724280e46 [file] [log] [blame]
Ilja Friedel3907fd12014-04-15 14:29:43 -07001# 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. Friedel292ee482017-05-20 22:33:36 -07005NAME = 'graphics_GLBench.bvt'
Ilja H. Friedelefb13072014-04-16 18:22:11 -07006AUTHOR = 'chromeos-gfx'
Ilja Friedel3907fd12014-04-15 14:29:43 -07007PURPOSE = 'Benchmark the graphics library performance.'
8CRITERIA = """
Ilja H. Friedel292ee482017-05-20 22:33:36 -07009On bvt this test is not run as a benchmark. (One can find approximate
Ilja Friedel3907fd12014-04-15 14:29:43 -070010performance numbers in the logs though, but they are ignored.) It still
11generates output images and verifies their bit accuracy using MD5 checksums
Po-Hsien Wang9a5f6822019-03-15 11:26:41 -070012which 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).
Ilja Friedel3907fd12014-04-15 14:29:43 -070015
16If unknown images are encountered the test fails. To resolve this use an
17image diffing tool like Beyond Compare and visually check differences between
Po-Hsien Wang9a5f6822019-03-15 11:26:41 -070018the unknown image and older versions.
Ilja Friedel3907fd12014-04-15 14:29:43 -070019Note: it should nearly never be required to remove old versions of good/bad
20images from these directories.
21"""
Po-Hsien Wang320ea612020-02-05 12:14:15 -080022ATTRIBUTES = "suite:bvt-perbuild, suite:graphics, suite:graphics_per-day, suite:graphics_system"
Ilja Friedel3907fd12014-04-15 14:29:43 -070023TIME='FAST'
24TEST_CATEGORY = 'Performance'
25TEST_CLASS = "gl"
26TEST_TYPE = 'client'
David James2a5b0612014-10-22 14:54:16 -070027JOB_RETRIES = 2
Alex Deymo3e31a772014-08-08 18:23:08 -070028BUG_TEMPLATE = {
Fang Dengefb6d682016-04-13 14:46:47 -070029 'components': ['OS>Kernel>Graphics'],
Alex Deymo3e31a772014-08-08 18:23:08 -070030}
Ilja Friedel3907fd12014-04-15 14:29:43 -070031
32DOC = """
Ilja H. Friedel292ee482017-05-20 22:33:36 -070033On bvt we do not upload performance numbers to the chrome dashboard. We run
Ilja Friedel3907fd12014-04-15 14:29:43 -070034glbench 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)