Commit Graph

196 Commits

Author SHA1 Message Date
baldurk f4ab28205f Add option to non-interactively resolve callstack symbols
* Primarily for use in scripts
2020-01-13 18:29:50 +00:00
baldurk ff37dc9787 Update APK installation failure message to mention USB APK installs
* Apparently some android devices don't allow installation of APKs over USB by
  default.
2020-01-07 17:28:17 +00:00
baldurk 7b678a4dae Add missing break in android error-mapping switch 2020-01-07 17:28:17 +00:00
baldurk 2916c0f9f7 Update copyright years to 2020 2020-01-06 16:20:45 +00:00
baldurk 27098f8f70 Give our threads debugger-friendly names 2019-12-19 21:50:13 +00:00
baldurk 5ea8d7b3d8 Add possible cause of JDWP failures - bad intent arguments 2019-11-19 23:20:56 +00:00
baldurk 0908588481 Don't delete capture unless it's still temporary, even if we own it 2019-10-11 13:07:36 +01:00
baldurk 4e6af7a47a Don't crash if the event browser isn't open when opening a capture 2019-10-10 16:48:42 +01:00
baldurk e9dda8343f When deleting temp files, remove from the recent file list. Closes #1540
* If the UI was launched with a filename as a parameter to open the capture, it
  will be added to the recent capture file list. Only later (relatively
  speaking) if we make a capture connection will we realise that it is temporary
  and potentially delete the file. If we do so, remove the capture from the
  recent file list.
2019-10-10 16:48:42 +01:00
baldurk 94f469b361 Open capture with options should not be a top-level window 2019-09-23 13:14:28 +01:00
baldurk 3005172aa5 Tweak the phrasing of crash dialog to better explain what happened
* In particular make it clear that crashes caught in the injected program may or
  may not be a RenderDoc bug. Even if we could point the finger to a particular
  DLL we can't necessarily tie that DLL to the responsibility of either us or
  the application.
2019-09-17 11:43:01 +01:00
baldurk 6203909791 Expose replay options to the UI
* The defaults can be configured from the settings menu, and there's a new "Open
  Capture with Options" menu option to open a capture with different options
  temporarily.
2019-08-27 18:51:56 +01:00
baldurk 20be9f3d52 Add ReplayOptions struct to contain replay-time configuration
* Not currently exposed to the UI or used by the drivers, we just pass the
  default object through
2019-08-27 18:51:56 +01:00
baldurk d6289b93d0 Fix check for whether LastCaptureFilePath should be updated 2019-08-26 13:49:58 +01:00
baldurk f7d988b9cf Fix unused lambda parameter 2019-07-31 19:07:56 +01:00
baldurk e2704fa2eb Add an abstracted interface around android-specific handling
* This makes it easier to use the same kind of interface to manage other kinds
  of devices.
2019-07-31 17:51:13 +01:00
baldurk 06f2e61b8f Refactor RemoteHost to be copyable with shared storage
* This allows RemoteHost handles to still be valid and usable (if returning
  empty data) when they are deleted/removed if the device is disconnected, as
  well as providing better multi-thread access (they lock internally)
2019-07-31 17:51:12 +01:00
baldurk 09df7a12c6 Improve poorly written Android install failure messages. Closes #1459
* We also add a new message specifically for when the install succeeds but we
  can't verify it, to indicate the problem better than suggesting that
  permission errors are at fault.
2019-07-22 14:52:42 +01:00
baldurk 039b65f89f Add a viewer of the diagnostic log in the UI itself 2019-06-27 10:22:13 +01:00
baldurk 38f0d27901 Use configure_file in CMake to force rebuild if git commit changes
* We also only use GIT_COMMIT_HASH where necessary to avoid rebuilding many
  files for no reason, including splitting version.cpp out into a separate
  project as we do with VS since otherwise changing its preprocessor defines
  rebuilds the whole renderdoc project.
* At the same time, move the git hash to be internal only so we don't have to
  try to link version.cpp into other projects like renderdoccmd or qrenderdoc.
2019-06-20 19:14:14 +01:00
Aliya Pazylbekova e21ddb4877 Set analytics APIs for remote capture file and replay
The API used was not populated for the case of remote
capture and replay.
2019-06-20 19:13:57 +01:00
baldurk 48cdc00b7f Fix callback not being run for injection path. Closes #1411 2019-06-11 20:33:20 +01:00
baldurk 53f54ae882 Clear cached updates if the version changes some other way. Closes #1368 2019-05-01 21:11:48 +01:00
baldurk 26d823905e Allow running on Android 5.0 but with a warning that it's unsupported
* The apk targets api level 21 which is 5.0, so it still won't install on
  anything older.
* We pop up a big warning to the user the first time they try and select such a
  remote host.
2019-03-13 22:24:45 +00:00
Tobias Kunicke f42a774966 fixed file open dialog 2019-02-22 08:31:09 +00:00
Haiyu Zhen ca54a910f5 Add --replayhost command line option for qrenderdoc
This allows users to specify which remote host to connect to on startup.
2019-02-07 23:46:33 +00:00
baldurk 36770522d7 Fix shaderviewer shortcuts using QShortcut which doesn't work well 2019-02-04 18:06:10 +00:00
baldurk 86ff87863e Update copyright years to 2019 2019-02-01 18:32:13 +00:00
baldurk d265a14a45 Change renderdoccmd to be a console program on windows.
* This means it outputs natively/properly to stdout/stderr and its output can be
  redirected with pipes.
* It does mean we need to be very careful whenever it's run internally to not
  pop up a command window, which happens by default.
2019-01-09 16:27:15 +00:00
tabi.katalin d19a495ee0 Handle launching more apps on Android
We can check whether an Android app has already been connected to RenderDoc, and warn the user to close the previous app before launching a new one.
2019-01-09 16:27:00 +00:00
baldurk 96b881dbd7 Don't keep fetching messages if the remote server has disconnected 2018-12-19 15:57:06 +00:00
baldurk 1fc51777d2 Dock live capture windows with capture dialog if visible. Refs #1197 2018-12-13 10:30:01 +00:00
baldurk 8a47aabb94 Remove un-needed resource.h in qrenderdoc project 2018-12-11 19:57:20 +00:00
baldurk 13538a4b1c Don't show update dialog if update request failed 2018-11-22 12:16:34 +00:00
tabi.katalin 6c39b58d0b Handle failed APK installation and patching
If "adb install" command is used with "-g" flag, we may get java.lang.SecurityException on some devices because granting runtime permissions at installation time is only allowed for system apps (however we can enable it in the device's Developer options menu).
Also, pulling APK from /data/app/ may be restricted. We can workaround by copying the APK to a directory which we can access then try to pull the APK from there.
2018-11-13 11:38:44 +00:00
baldurk 94dfb9890b Allow registering window, panel and context menu items with callbacks 2018-10-23 14:23:12 +01:00
baldurk dd3a352408 Add registration and loading of extensions through a management window 2018-10-23 14:23:11 +01:00
baldurk 5406227152 Call CreateWindowingData on the main UI thread
* This allows mac to patch-up the widget to be renderable, and has to happen on
  the UI thread.
2018-08-31 22:14:12 +01:00
baldurk 1ee6ea3916 Make sure messages with bold tag are detected as HTML 2018-08-14 17:43:07 +01:00
baldurk 2fc67467e2 Don't add empty API name to analytics - indicates failure to load 2018-08-09 16:56:47 +01:00
baldurk 889904e155 Make message about closing android studio even more explicit 2018-08-06 16:23:02 +01:00
baldurk df1a494fa7 Add friendlier error if trying to use Android < 6.0 device. Closes #1060 2018-07-31 14:37:38 +01:00
baldurk 6e9d8cb1a8 Initialise adb on another thread
* Otherwise the first adb access will stall heavily starting the daemon.
2018-07-26 17:24:29 +01:00
baldurk 286446b008 Fix threading memory corruption with remote host probe 2018-06-22 19:28:35 +01:00
baldurk f1318b0961 Don't use LastCaptureFilePath for import file browser 2018-06-21 17:46:15 +01:00
baldurk 8dd69268ba As a last fallback in replay loop, use biggest colour rendertarget 2018-05-25 18:32:31 +01:00
baldurk 858b02480b Pass command-line args as 'intent args' when launching apk. Refs #987 2018-05-24 21:42:29 +01:00
baldurk 42979bfeb3 [Coverity] Add some handling for return values in UI code 2018-05-08 12:32:56 +01:00
baldurk 082ab4d75d GUIInvoke takes a QObject* to avoid callbacks after object lifetime
* The GUIInvoke object takes a QObject, and uses QPointer to check that
  it hasn't been deleted when the callback fires. This prevents delayed
  callbacks from executing after the object has been deleted and
  crashing.
* In most cases the pointer is just 'this'.
2018-05-08 11:54:34 +01:00
baldurk bf270e170f Don't mutate actual filenames - just menu text to escape & 2018-04-26 11:34:54 +01:00