Commit Graph

85 Commits

Author SHA1 Message Date
baldurk f76a4cc339 Don't launch blocking execute call on UI thread, pop up progress ticker
* This most commonly happens launching an Android program that takes a
  while to launch, or if you're launching a program with the delay for
  debugger option set.
* Instead of the whole UI hanging, you'll get a progress dialog to
  appear while it's waiting.
2017-02-24 17:34:02 +00:00
baldurk 329ebc2d05 Don't allow the program to close while a global hook is active 2017-01-06 12:34:36 +00:00
baldurk 030cbfde9a Batch update copyright years everywhere 2017-01-06 12:13:31 +00:00
baldurk 8c8cf07385 Add helper menu items to tools menu if rdocself.dll is loaded 2017-01-02 20:16:27 +00:00
Michael Rennie d249faacd3 Test Android target connection for up to MaxConnectTimeout seconds.
Added new setting to SettingsDialog, and passed it to native code via
RenderDoc::Inst().GetConfigSetting("MaxConnectTimeout")
2016-12-24 19:22:10 +00:00
Michael Rennie 8e7c920ef0 Fix error MessageBox when failing to copy to remote host. 2016-11-11 20:34:04 +01:00
Michael Rennie bcb9914665 Start remoteserver and captured packages by adb commands in native code.
Use adb to enumerate installed 3rd party packages in capture dialog.
Cleaned up all the "adb:" strcmp's.
2016-11-02 16:10:29 +01:00
Michael Rennie 8899cb8e73 If adb path is set, use adb devices to enumerate Android devices.
Process::LaunchProcess() optionally returns the child's stdout & stderr.
Added carriage return to string trim().
2016-11-02 16:10:29 +01:00
baldurk cb406f67a9 Add previous/next drawcall buttons to event browser. Refs #389
* They also have the global shortcut ctrl-left arrow and ctrl-right.
* Also a couple of tweaks to find behaviour to act more intuitively to
  what other applications do - allow F3/shift-F3 without the find box
  highlighted, and don't clear out the find text when closing it.
2016-10-13 16:49:28 +02:00
baldurk aadde675a9 Fix crash when switching back to local context with connections open 2016-10-06 15:24:18 +02:00
Michael Rennie 6931d0b954 Tool menu option to start the Android remote server.
The option launches a batch file that starts the apk in remoteserver mode,
as well as taking care of port forwarding.

Also have a batch file for manually starting and capturing an APK by its
package name. They are both copied to the TargetDir as a PostBuildEvent.
2016-10-06 13:14:42 +02:00
baldurk 9f4a60028e Handle injecting environment variable params
* This also fixes the problem of capturing 32-bit programs with 64-bit
  RenderDoc failing to properly insert environment variables and
  error'ing when it tries to do it directly.
2016-09-28 17:55:45 +02:00
baldurk 7ca1c2237c Tweak default capture save behaviour to 'soft' remember dir. Refs #335
* Rather than exclusively always opening at the default directory, it
  will only do that until a capture has been successfully saved - then
  it will re-use that previous directory. This is only remembered for as
  long as RenderDoc is open, thereafter it will revert back to the dir
  specified in the options.
2016-09-14 12:15:11 +02:00
baldurk b36fe219d9 Use default save directory from options. Refs #335 2016-09-14 11:40:03 +02:00
baldurk 80fbe84fb1 Don't crash if switching to a local context while a live capture is open 2016-09-12 20:04:59 +02:00
baldurk 1faf46ddc5 Handle StaticExports.GetVersionString() being missing
* If the user is somehow running a really new UI with old DLL, handle
  the exception and continue to allow the user to update without
  crashing.
2016-08-30 17:37:06 +02:00
baldurk 90beef8f3c Allow live capture windows to stay open if switching ctx to that host 2016-08-29 19:42:48 +02:00
baldurk 13b09e410b don't allow switching to the connected host 2016-08-29 19:42:17 +02:00
baldurk a2edad4f48 Slight tweak to dialog message 2016-08-29 16:12:22 +02:00
baldurk d98b4c0f97 Fix potential crash if timer check/probe is happening during shutdown 2016-08-26 17:04:31 +02:00
baldurk 52cf19e3b3 Fix possible crashes if remote hosts are deleted during processing 2016-08-26 16:04:07 +02:00
baldurk c68d5d94b1 Make the live-status probe less aggressive 2016-08-24 15:53:56 +02:00
baldurk c9474f5bc3 Handle connection errors properly, displaying the error message 2016-08-24 15:53:55 +02:00
baldurk 3e5d55d1d6 Add an option to choose the default save folder for captures. Refs #335 2016-08-24 15:53:52 +02:00
baldurk f8bbedeb8b Ping the connected host regularly and check other hosts at lower freq.
* This lets us detect when a remote server has been disconnected and
  needs to be restarted, as well as alerting the user if this happens in
  the middle of a replay session.
* Pinging other hosts means the context switcher is reasonably up to
  date if one of them comes up.
2016-08-23 15:21:52 +02:00
baldurk 81b6b0653b Display the local filename even when copying to remote for replaying 2016-08-23 13:25:47 +02:00
baldurk 27b7077c36 Add versioning into remote server protocol 2016-08-23 13:02:07 +02:00
baldurk 4bc3dbcc9e Rejig update dialog to provide a bit more info and display RTF notes 2016-08-22 11:03:22 +02:00
baldurk 39b995fcfa Add a dialog to ask if the user wants to replay remotely 2016-08-19 17:26:37 +02:00
baldurk d2faf76356 Save machine ident in captures and compare to machine ident on open
* If the machine idents differ in significant ways that we'd consider
  it to be a different platform (currently just OS), and if so mark it
  as supported but suggested to be replayed remotely.
2016-08-19 17:26:36 +02:00
baldurk b5e6f8bef2 Allow specifying environment variable modifications
* This works for local and remote invocations of programs, but is mostly
  useful on unix systems (Windows programs use env vars less often)
2016-08-19 17:26:33 +02:00
baldurk 2fe43fab79 Don't try to copy a non-local log to the remote thost 2016-08-19 17:26:32 +02:00
baldurk 87c978f71a Add functionality to copy captures to the remote server for replaying 2016-08-19 17:26:25 +02:00
baldurk d63e3b89ad Add support for copying files back from remote server 2016-08-19 17:26:24 +02:00
baldurk fe08662e38 Handle non-local logs, make sure they are properly owned and deleted 2016-08-19 17:26:21 +02:00
baldurk 0207c74b90 Check remote server status at startup to pre-populate context chooser 2016-08-19 17:26:20 +02:00
baldurk 2060173049 Track busy and active connections and display in UI 2016-08-19 17:26:19 +02:00
baldurk 8a5d300e78 Use custom exception for replay creation failures 2016-08-19 17:26:18 +02:00
baldurk 84baa6d752 Partially implemented support for capturing & opening logs in a context 2016-08-19 17:26:12 +02:00
baldurk b1fcea3c3e When switching context, make a remote connection in the render manager 2016-08-19 17:26:10 +02:00
baldurk fa0b13f2ed Add context chooser to main window for choosing between remote servers 2016-08-19 17:26:09 +02:00
baldurk 4fde9b065f Expand remote host selection for attaching to handle remote servers
* Also remove some of the old remote-replay single-shot code handling.
2016-08-19 17:26:07 +02:00
baldurk 9a544e61af Rename ModalPopup to ProgressPopup 2016-08-19 17:26:06 +02:00
baldurk 610b22f600 Fix a lot of high-contrast inconsistencies or brokenness. Refs #315
* In a couple of places I had to resort to if(IsHighContrast) but mostly
  this is just using system brushes consistently or not assuming black
  text.
* The default DockPanel theme doesn't work well, so make a minimal high-
  contrast theme for it and assign it everywhere.
* The pipeline flow was using fixed colours, use system brushes for the
  different elements and switch based on high-contrast to ensure active
  and inactive stages are visible (using ActiveCaption looks bad on
  normal themes because it's a big block of colour).
* For some reason the flat toolstrip renderer doesn't handle white-on-
  black themes, but the system one does. It's a little clunkier but it
  shows up correctly without writing tons of custom painting code.
* Range histogram uses a properly contrasting colour for the border.
* Treelist views use a better system colour for selected rows when
  inactive and hovered rows (when high contrast).
* Mesh view grids have a system background instead of white
* Various things (pipeline state, mesh viewe) set text colour when
  colourising backgrounds of things instead of assuming black.
2016-08-05 12:46:56 +02:00
baldurk 5508f9f599 Handle duplicate contents being returned and dummy them. Refs #310
* Unfortunately too late for v0.30, but at least this will help anyone
  who upgrades v0.29 -> v0.31 or such.
2016-08-01 22:22:50 +02:00
baldurk 39f453b166 Rename replay host to remote server, consistently. 2016-08-01 19:38:21 +02:00
baldurk 28c1768397 Add menu item to jump from pixel history modifications to each primitive 2016-07-22 14:40:40 +02:00
baldurk 73dc89f25a Allow specifying a listen interface and port, for remote replaying 2016-07-12 17:39:22 +02:00
baldurk 11ee6e2e34 Allow dragging exes in anywhere and they won't be opened as logfiles 2016-06-20 17:30:29 +02:00
baldurk 10629ab92b Use https URLs to access renderdoc.org
* Previous versions accessing the http URLs will be redirected soon (as
  of time of writing this). The POST /bugsubmit won't be redirected as
  it's not feasible to redirect POST requests, but that will continue
  working.
2016-06-17 14:12:19 +02:00