1# Copyright (c) 2012 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.hwqual' 6AUTHOR = 'chromeos-gfx' 7PURPOSE = 'Benchmark the graphics library performance.' 8CRITERIA = """ 9On hwqual this test is run as a benchmark with a large confidence intervals. 10The test also generates output images and verifies their bit accuracy using 11MD5 checksums which 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:hwqual" 23SUITE = 'hwqual' 24TIME='FAST' 25TEST_CATEGORY = 'Performance' 26TEST_CLASS = "gl" 27TEST_TYPE = 'client' 28BUG_TEMPLATE = { 29 'labels': ['Cr-OS-Kernel-Graphics'], 30} 31 32DOC = """ 33On hwqual 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', 68 hasty=True, 69 constraints=[ 70 'mpixels_sec_fill_solid >= 190', 71 'mpixels_sec_fill_tex_nearest >= 190', 72 'mpixels_sec_fill_tex_bilinear >= 190', 73 ]) 74