[autotest] Add autotest for DrawElements

dEQP (drawElements Quality Program) is an OpenGL ES testsuite added to
AOSP in the Lollipop release. It is being added to Chrome OS.
This patch adds an autotest for dEQP.

dEQP provides test suites for EGL, GLES2, GLES3 and GLES3.1. The suites
are further broken down into info, accuracy, functional, stress and
performance categories. This patch provides control files for each
suite/category, although we currently only run the GLES3 tests.
In addition, the filter_args control file can be used to specify
tests or test sets using the --args option as shown in the TEST
section below. The filter_args control file runs no tests by default.

Some tests are known to be unsupported, timeout, crash the test process
and/or hang the GPU or CPU on Chrome OS, sometimes leading to reboots.
These tests are listed in a blacklist JSON file as regular expressions
that match one or more tests.  graphics_dEQP.py reads and parses the
blacklist file and will not run these tests.

Note that some categories can take a long time to run. For example,
in test runs on auron_paine, gles3.functional took ~110 minutes and
gles3.performance took ~270 minutes. By contrast, gles3.info, accuracy
and stress together took ~20 minutes. Times will vary depending on
board, CPU, kernel, etc.

BUG=chromium:461023
TEST= emerge-link deqp;
      cros deploy --board=<board> <remote-addr> deqp
      test_that -b <board> <remote-addr> graphics_dEQP.gles3.accuracy
      test_that -b <board> --args="filter=dEQP-GLES3.info" <remote-addr> \
                 graphics_dEQP.filter_args

Depends-Change-Id: Ifa07827370a140f776420808d094156809108b7e
Change-Id: I09bd010f31e00f5ad939faf9224ef3243f31e7e2
Reviewed-on: https://chromium-review.googlesource.com/257651
Reviewed-by: Ilja Friedel <ihf@chromium.org>
Trybot-Ready: Ilja Friedel <ihf@chromium.org>
Tested-by: Michael W Mason <michael.w.mason@intel.com>
Reviewed-by: Chad Versace <chad.versace@intel.com>
Commit-Queue: Chad Versace <chad.versace@intel.com>
21 files changed