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