Commit Graph

730 Commits

Author SHA1 Message Date
baldurk fb418f883e Add a button to pipeline state view to save shader raw contents to file
* The exact contents depend on the API - on D3D11 this is the bytecode
  blob, on Vulkan it's the SPIR-V. On OpenGL it is just a concatenation
  of all the source files passed in sequence.
2016-08-30 16:43:52 +02:00
baldurk a35c88e577 Close some minor UX holes when live-connected but without replay context
* If there's no replay context we can still use the live connection to
  copy and delete captures remotely. Try to use that whenever possible
  and warn the user when it's not possible (i.e if the program has been
  closed and there's no replay context, we have no way to access the
  files anymore).
* If the user tries to open a remote log without a replay context,
  prompt them either to swithc to a replay context on that host or to
  save the log locally.
2016-08-30 11:55:36 +02:00
baldurk a875a33f7f Display a prompt if a capture file is about to be lost/leaked
* This can happen if the program is closed, and no remote replay context
  is active. Unlikely locally, the UI cannot natively save or delete
  temporary captures.
2016-08-29 20:28:25 +02:00
baldurk accbeb577a Give the suggest remote dialog a proper title 2016-08-29 19:42:56 +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 a6b54e33fd Don't auto-open a solo capture if we're not remote context'd to the host 2016-08-29 19:42:09 +02:00
baldurk db944cc484 Disable live capture buttons when connection is closed 2016-08-29 16:57:00 +02:00
baldurk 0b359468e6 Handle remote disconnects somewhat gracefully in the virtual file dialog 2016-08-29 16:29:29 +02:00
baldurk 3b74dbc079 Set an appropriate icon for the virtual open file dialog 2016-08-29 16:14:09 +02:00
baldurk bf210bbe23 Fix crash if selecting / on linux path browser 2016-08-29 16:13:29 +02:00
baldurk c05380cdf5 Add cancel buttons (which respond to escape) to a couple of dialogs 2016-08-29 16:12:58 +02:00
baldurk a2edad4f48 Slight tweak to dialog message 2016-08-29 16:12:22 +02:00
baldurk 302cbd681a Lock properly to remove races while render thread is inactive 2016-08-29 16:12:12 +02:00
baldurk 1efaca1883 Store view with EventUsage, and use to filter pixel history. Refs #341 2016-08-29 15:35:33 +02:00
baldurk 067b991561 Re-jig remote manager GUI a little for better user flow 2016-08-26 17:27:28 +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 258da93e94 Speculative crash fix - ensure prev array slice is in valid range 2016-08-26 13:52:46 +02:00
baldurk 96e0444183 Hook up SO stream elements to open buffer viewers properly. 2016-08-25 21:07:40 +02:00
baldurk 963a2deb71 Fix if() being backwards 2016-08-24 18:39:59 +02:00
baldurk 17d53d8129 Fixes for browsing NT paths 2016-08-24 17:09:26 +02:00
baldurk e8e3d50c86 Expose the different local and remote renderers to the UI 2016-08-24 15:53:58 +02:00
baldurk c500c326f3 Add a sleep into remote server status checks so back-to-back checks work
* Without this sleep, a second CheckStatus() could actually receive a
  busy signal on localhost (or a sufficiently fast connection or slow
  computer) because the last client hang-up hasn't completed by the time
  the next connection comes in.
2016-08-24 15:53:57 +02:00
baldurk 0f078cdedf Special-case localhost to not to remote server checks
* The localhost is the local replay context, which is not remote at all.
2016-08-24 15:53:56 +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 a786ac2eab When switching textures/events, leave pixel pick result valid
* This avoids a flicker when using remote replay while the pick result
  comes in
2016-08-19 17:26:39 +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 91bf3ff3fc Handle empty strings in marshalling (NULL elems and count == 0) 2016-08-19 17:26:36 +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 027bcdb7e8 Don't validate existance of working directories on remote captures 2016-08-19 17:26:34 +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 12d5f5bd70 Make sure copy from remote happens even when not running 2016-08-19 17:26:31 +02:00
baldurk d05f99d1b5 Don't add non-local files to recent list 2016-08-19 17:26:31 +02:00
baldurk d04c06a229 Add a remote/virtual open file dialog for browsing over the network
* This needs some optimisation - the obvious one being to batch up
  requests for multiple children all at once.
2016-08-19 17:26:30 +02:00
baldurk fd1d7ef58c Disable config options by default, and also disable the buttons 2016-08-19 17:26:28 +02:00
baldurk aebed0e900 Expose directory listing functions to C# 2016-08-19 17:26:28 +02:00
baldurk 87c978f71a Add functionality to copy captures to the remote server for replaying 2016-08-19 17:26:25 +02:00
baldurk ebea48260d Mark blocking invokes for painting as lower priority
* This allows them to be enqueued without the usual synchronous block
  if there's something long-running on the queue while in remote mode.
2016-08-19 17:26:24 +02:00
baldurk d63e3b89ad Add support for copying files back from remote server 2016-08-19 17:26:24 +02:00
baldurk 96c777cb43 Set display properly when checking RemoteHost status 2016-08-19 17:26:22 +02:00
baldurk a2955a39b0 Don't recreate RenderManager when closing logfile 2016-08-19 17:26:22 +02:00
baldurk fe08662e38 Handle non-local logs, make sure they are properly owned and deleted 2016-08-19 17:26:21 +02:00