* These tests ensure that texture rendering works correctly for all different
types of texture types, and for all formats, across different APIs, including
across a remote-proxy connection.
* Previously we had "Frame X" and "Start of Frame" hardcoded in the event
browser, and the end of frame was in many cases assumed to be a present call.
However with the in-application API this is not necessarily true.
* Presents are now serialised separately in all APIs and displayed wherever they
happen in the frame, and if there is no present at the end of the frame an
"End of Capture" marker is inserted. Similarly API-defined captures are not
given a potentially misleading frame number.
* 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 primarily for the benefit of GL/VK where we need to feature-detect for
some extensions or functionality that requires selecting a device, e.g. D3D12
can be more easily detected with a quick check.
* We'll run this once and cache the results when running tests from python so we
can do a better job of filtering out tests that the current machine doesn't
support.
* 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.