* This requires that every operation on output windows leaves the state
untouched, so make a few changes to arrange that.
* By doing this it means any unstable/non-deterministic results are
consistent between the current capture inspection and the shader
debug results.
* Without this, the RADV open source driver also gets checked, and its
version is 0.0.1 so it gets marked as buggy.
* Unfortunately there's not a great way to identify different drivers
for the same piece of hardware (ie. PCI IDs are the same).
* We have to use the original allocators when re-recording because the
capture may record multiple command buffers at the same time,
requiring multiple allocators.
* This doesn't actually fix any problems, but a couple of crash reports
exposed the fact that we try to use the result of CreateDescriptorHeap
before checking for errors - this leads to a crash and hides the real
problem.
* Located via a crash report - if there are no initial states in a
capture at all, then initStateCurList will still be NULL after trying
to apply them.
* Should fix a reported crash - it looks like an invalid buffer ID was
passed, and there's no protection for this.
* As with other invalid API use, RenderDoc isn't intended to be totally
safe against bad API use. This check is easy to add though and should
catch some simple cases.
* I received a few crash reports with a disposed buffer viewer still
doing work. My theory is that some operation took long enough that the
user was able to close the viewer (perhaps *because* it was taking a
long time) and subsequent work then didn't handle the window having
been closed.
* The last fix to this file wasn't complete - both width and height must
be greater than 0 for the area to be valid to fill.
* Fixes an uploaded crash report.
Disable warnings in qt (warn_off) then remove -w from qt compiler flags
to re-enable previous renderdoc warnings
Use qt standard way to enable c++11 eg CONFIG += c++11