# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

NAME = 'graphics_GLBench'
AUTHOR = 'chromeos-gfx'
PURPOSE = 'Benchmark the graphics library performance.'
CRITERIA = """
On bvt, bvt_cq this test is not run as a benchmark. (One can find approximate
performance numbers in the logs though, but they are ignored.) It still
generates output images and verifies their bit accuracy using MD5 checksums
which are stored in
../../deps/glbench/glbench_reference_images.txt (for known good images)
and in ../../deps/glbench/glbench_knownbad_images.txt (for ignored failures -
this should be very rare though).

If unknown images are encountered the test fails. To resolve this use an
image diffing tool like Beyond Compare and visually check differences between
the unknown image and older versions in ../../deps/glbench-images/.
Note: it should nearly never be required to remove old versions of good/bad
images from these directories.
"""
SUITE = 'bvt-cq'
TIME='FAST'
TEST_CATEGORY = 'Performance'
TEST_CLASS = "gl"
TEST_TYPE = 'client'
JOB_RETRIES = 1
BUG_TEMPLATE = {
    'labels': ['Cr-OS-Kernel-Graphics'],
}

DOC = """
On bvt, bvt_cq we do not upload performance numbers to the chrome dashboard. We run
glbench with the "-hasty" option to stay well below the BVT limit of 20
minutes. This option will run each test at 512x512 resolution only, run it
only for a fraction of the loops we normally do, and not cool down the
machine between tests. For this PerfControl is disabled.

This benchmark executes glbench, a graphics benchmark designed to time how long
various graphic intensive activities take, which includes measuring:
  - fill rate
    - blended
    - opaque
  -Z reject rate
  -triangle rate
    - no cull
    - half cull (half triangles backface culled)
    - full cull (mix of back face and degenerates)
  - blend rate
  - texture fetch
    - nearest
    - bilinear
    - trilinear
  - compute
    - vertex shader
    - pixel shader
    - *fragement shader to test ddx and ddy
  - attribute fetch
  - color depth stencil test
  - *state change
  - texture upload
  - read back

* Not yet implemented.
"""

job.run_test('graphics_GLBench', hasty=True)
