This tests submitting commands, signals, and waits to graphics and
multiple compute queues where the entire frame's submission for each
queue depends on the other queues and the submission order is not the
order in which the GPU (and replay) need to be processed. This is to
ensure any capture or replaying deserialises adequately.
Added 'D3D12BufferCreator::InitialState(D3D12_RESOURCE_STATES)' to allow
user code to avoid adding unnecessary transition barriers after resource
creation.
Added 'D3D12TextureCreator::ClearVal(const D3D12_CLEAR_VALUE &)' to avoid
a PIX performance warning/tip about clearing resources that haven't had
their clear value set on creation.
* In heavy D3D11 workloads the refcounting overhead especially during fast
binding changes was significant. Refactoring the refcounting to work on a
different model and deferring destruction of objects removes most of the
overhead.
* 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.
* If we create in a bare pointer then just cast to a smart pointer, it adds a
ref instead of stealing it. Just only allow creating smart pointers in the
first place.
* 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.