* When the pyside2 we ship was built it accidentally included a small dependency
on Qt5Qml, which we don't distribute so the pyside2 libraries wouldn't load.
* We can generate a tiny stub with the right exports and load it manually from
the PySide2 folder on 32-bit qrenderdoc builds to allow pyside2 to load
subsequently. The stub source is tiny, and added alongside.
* Putting it in the PySide2 folder means that even if someone puts RenderDoc's
build folder in their PATH, our stub Qt5Qml won't break anything because it
won't be loaded. If they put PySide2 in the PATH it might, but then it's their
fault!
* Newer Qt versions will base64 the byte arrays even if we've already base64'd
them so they're safe. To prevent this we explicitly convert to QString
afterwards.
* Non-integer DPI handling is fundamentally a broken concept, because UIs are
essentially pixel art with some vector drawing. Rounding down half fractions
seems to be a better tradeoff than rounding up or trying to render them as-is.
* We work around a GNOME bug here by ignoring a selected filter if it's the
empty string. For all other unknown filters we try to determine the suffix on
the fly.
* This is a leftover artifact from before we had general extended type support
and double was the only non-32 bit type we handled. Now we support most type
formats so doubles are just CompType::Float with 8 byte width
* Actually creating a 64-bit spinbox is not feasible without constructing it
almost from scratch due to how much QAbstractSpinBox depends on private
internals that can't be overridden. Instead use a QDoubleSpinBox with no
decimals since we don't need the full 64-bit range, and the mantissa of a
double is enough.
* We change to use VarType instead of CompType for signature parameters which
allows us to represent different types of variables beyond just
unsigned/signed integer and float.
D3D12Pipe now stores an array of root elements, each one corresponding
to a root element or range in the root signature. Migrated usage in the
D3D12 pipeline state viewer and PipeState retrieval of resources.
Restricted number of resource array textures displayed in the texture
viewer to prevent app hangs.