* Since we don't mark descriptor sets or the written data as referenced
until the descriptor set is actually used, any writes for sets that
are otherwise unused might be missing the necessary objects.
* This is harmless though so we just make sure not to warn about them
being missing as it gets spammy.
* This fixes a problem where if some code is repeatedly doing
LoadLibrary for a library that doesn't exist, we'll constantly re-hook
everything pointlessly.
* Menus aren't guaranteed to pass isVisible() immediately after calling
popup() on them, so we need to wait for their aboutToHide signal to
stop the event loop.
* Moved the AMD project under an IHV folder
* Moved the AMD headers from the D3D11 project to the AMD project, and
added the GPUPerfAPI headers there too.
* Set the counterID inside the CounterDescription for AMD counters
* Add an extra search path for the GPUPerfAPI dlls, which will be inside
distributed builds soon.
* We forward a different range of ports to each device so we can pick
and choose which to communicate with based on its index.
* The index is encoded in the 'hostname' like so: adb:X:deviceidhere
* Whenever we want to interact with an android device we always specify
the device, never leave it to a default.
* This fixes a crash where an enumeration from application startup is
still going when opening the remote manager dialog, and then all the
android hosts that are being enumerated get deleted while it's still
going.
* Instead of having button enabling and so on logic in both
on_hostname_textEdited and on_hosts_itemClicked, just handle the
hostname edit as selection or unselecting any matching item, and then
process all the logic whenever the selection changes.
* Checking for a NULL parent item doesn't work, the parent will be the
invisible root item.
* Also make sure we don't delete a host that might have enumerations
still going for it.
Server pops up dialog requesting file system access when the server is
launched. This is only obvious when the device is unlocked, otherwise this
pop up is never displayed.
Fixed by waiting for the user to grant permissions by preventing starting
a target app until the server is ready to open captures.