* This file format is so obtuse that it enforces a code structure almost by
design. This makes sense since it was never intended to be used anywhere
outside of LLVM internals, so it makes sense that it maps precisely to LLVM's
code structure and is hard to handle otherwise.
* Since EGL is an Android API and highly likely to have
unstable/unsupported/internal extensions, and also because we for the most
part pass through the API apart from a couple of functions that we intercept
but don't need to fully understand or process the attributes of, we take the
approach of removing problematic extensions rather than only allowing
extensions we know are safe.
* Sometimes fxc gives an error about this -
error X4576: Non system-generated input signature parameter () cannot appear after a system generated value.
* There doesn't seem to be a documented way to know how/when this is important,
but unfortunately in some cases SV values can take up registers and affect
register packing so we can't always omit them. Here for primitive ID as long
as it was previously declared mid-inputs, we allow it to be declared there as
normal to preserve interface matching.
* If the overall preview widget doesn't resize but the thumbnail does because
the preview text label has changed in size, we should emit a resize event so
the thumbnail can be redrawn.
* This avoids unnecessary remapping in the case of unknown queue flag bits or
properties, e.g. if two queues look like transfer queues because one has a new
bit. If the user picks the second 'transfer' queue we shouldn't try to remap
it to the first 'transfer' queue.
* This is only relevant when using a custom shader since otherwise nothing is
'updated', though could also affect overlays potentially. If we don't then the
custom shader texture may not have been re-rendered before we fetch the
histogram data and we'll get stale information.
Errors related to collecting NVIDIA hardware counters are now shown in the
"Errors and Warnings" window of the Renderdoc UI. Previously, these errors were
only visible in stderr. This includes errors for device compatibility, resource
availability, and insufficient privileges.