* It's not particularly scalable and can be brittle to driver changes, and we
can use targeted specific pixel tests to check what we really want - to see if
the output has rendered correctly.
* Overlay tests still check files directly - this is a future refactor to
remove.
* Visual assist comes with a pre-defined interpretation of TEST() for
googletest, which conflicts with ours. We can't seem to override it with a
va_stdafx.h even
* Instead of only doing a very lightweight check to see if the API is available
up-front, we now share the API initialisation among all API tests far enough
to determine availability of extensions, features, etc. Then we can precisely
determine which tests are available and which aren't before running.
* This is kind of a "damned if you do, damned if you don't" situation. If the
cullmode is wrong, having it show up as failures in depth/stencil overlays is
misleading. However if the cullmode is deliberate setting it to no-cull may
ruin the results of those overlays.
* The original behaviour of leaving cullmode as is ends up being a better
tradeoff, since at least when it is misleading you can use the culling overlay
to show the failure there. If culling is disabled it makes depth/stencil
overlays useless in situations with no recourse.
* Also add a test of a depth-clipped triangle to overlay tests
* Built entirely independently of the main renderdoc build (for now).
* Contains python scripts & framework for running tests on a renderdoc build,
which will be run nightly.