Commit Graph

97 Commits

Author SHA1 Message Date
baldurk 481a28dc29 Rename RemoteAccess to TargetControl to better disambiguate RemoteServer 2016-08-19 12:23:19 +02:00
baldurk c674c27057 Make update dialog non-resizeable. Refs #321 2016-08-10 16:07:16 +02:00
baldurk 3dbd750846 Put more updater code inside the try { } catch(Exception)
* A crash was uploaded where File.Copy() failed due to permissions.
2016-08-06 19:23:30 +02:00
Matthäus G. Chajdas 1cb6890df9 Disable the "always show vertical scroll" bar in the settings menu.
The window is always big enough that the scroll bar remains disabled, so just get rid of it by default.
2016-08-05 15:39:51 +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 5b74d2f90a Add a little Ctrl-G popup on the texture viewer to jump to a pixel 2016-07-22 12:28:26 +02:00
baldurk 5a64a78d2a Add multiple-frame capture, grabbing N successive frames to captures
* In-application API is bumped to 1.1.0 as a new function pointer is
  added to the end of the structure.
* This comes with some caveats - capturing a frame is fairly heavy
  weight, so capturing a frame might throw off timing-related bugs you
  are trying to capture in subsequent frames. If you know your bug is
  every other frame though, capturing two can be a quick way to ensure
  you get it.
2016-07-18 18:51:36 +02:00
baldurk 5c53e623df Add win32-specific commands (crash handle, upgrade, global hook) 2016-07-12 17:39:24 +02:00
baldurk 73dc89f25a Allow specifying a listen interface and port, for remote replaying 2016-07-12 17:39:22 +02:00
baldurk 3e171f7f79 Remove top-most windows, we shouldn't have any (just above-rest-of) 2016-07-04 10:59:11 +02:00
baldurk 75590986ee Fix potential crash with TreeListView.InvokeRequired not being right 2016-06-24 15:35:17 +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 094e79dee2 Greatly speed up 'attach to running instance' dialog in the 99% case
* 99% of the time, you'll only have localhost and the application will
  be running on the first ident checked which will return a valid socket
  almost immediately.
* Instead of continuing to search through each valid port before
  returning valid data, we change the enumerate function to just find
  the next valid port and return - so we can update the UI as soon as
  we have the first result.
2016-06-01 11:31:57 +02:00
baldurk 60706ca4eb Add options controlling marker colourising 2016-05-27 23:26:59 +02:00
baldurk 16561cd117 Before updating, check to see if any live programs are running.
* Doing this early and via the remote access lets us give a friendly
  error message and direct the user to which program is currently using
  renderdoc.
2016-05-19 20:29:38 +02:00
baldurk 4b7e068703 Rename 'create debug device' capture option to 'API validation'
* More appropriate for non-D3D11 APIs and will cause less confusion.
2016-05-17 21:16:17 +02:00
baldurk 76a872252c Add a set of search paths to look up when locating unstripped shaders
* This allows the application to embed/runtime set a relative path
  instead of needing an absolute path
2016-05-10 22:36:40 +02:00
baldurk d65bacc118 Add an editor dialog for ordered lists of items (text or paths) 2016-05-10 22:34:58 +02:00
baldurk 32114f947f When saving textures, update the filename if type changes and vice-versa 2016-04-27 22:51:59 +02:00
baldurk a969f3f5af Crash fix - handle IOException creating NamedPipe for global hooking 2016-04-17 17:10:08 +02:00
Cory Bloor 0b81ae2618 Update renderdocui about dialog copyright year 2016-04-17 04:48:15 -06:00
baldurk 70b99a4412 Remove antiquated 'multiple frames in one capture' support.
* Cleans up the code a bunch, this support is unlikely to ever return
  and if it does it will need a rethink anyway.
2016-04-13 00:28:09 +02:00
baldurk 96aa458dd1 Add an abort button for interrupting python scripts during execution 2016-04-06 22:54:16 +02:00
baldurk 94cf36b991 Add saved logs to recent file list immediately. Refs #197 2016-02-29 19:17:05 +01:00
baldurk bd9768451f Make sure saving logs from connection dialog marks them as saved 2016-02-29 19:16:38 +01:00
baldurk f15ca1fb15 Always convert paths to full UNC paths. Refs #177
* This avoids ambiguity/possible change between a mapped network drive
  like Z:\ and the UNC path \\hostname\foo\bar\
2016-02-18 15:05:46 +01:00
baldurk d865223879 Update vulkan layer banner on first shown
* Prevents an ordering issue where the --updatedone installation of the
  layer happens after the capture dialog first checks layer registration
2016-02-08 23:10:53 +01:00
baldurk 2e0ffa7813 Batch update copyright years everywhere 2016-02-07 18:50:45 +01:00
baldurk 258e08f740 Add a UI to prompt the user to install the vulkan implicit layer
* I don't like the fact that it doesn't "just work" but this is mostly
  limited by design decisions on the side of the vulkan loader.
* There is no good way with the loader to say 'please also include this
  layer in the enumerated lists'. There is an all-or-nothing override of
  layer searching, but that would break any layers the application might
  actually rely on.
* On balance I've decided to go with this method, as it's a one-off
  interruption for the user (unless someone is constantly switching
  between installs).
2016-02-07 18:49:59 +01:00
baldurk a995ee66e2 Change handling of shaders and entry points so they're not aliased 2016-02-07 18:49:03 +01:00
baldurk 8a6d2ebf30 Handle arrays of uniform buffers in descriptor slots 2016-02-07 18:46:35 +01:00
baldurk 36d2ffd988 Handle super small buffers in buffer viewer without displaying nothing 2016-02-07 18:45:14 +01:00
baldurk 4fe74824b1 Switch buffer offsets and lengths to 64-bit, downcast only where needed 2016-02-07 18:45:06 +01:00
baldurk efe65520de Fix possible update failure (doesn't help shipped code, but oh well...)
* Apparently Application.Exit() doesn't close immediately and can throw
  an exception, leaving the UI open while the updater tries to run and
  nothing works. Environment.Exit(0) should do better hopefully.
2015-12-31 20:58:53 +01:00
baldurk ebe442d1d8 Update tips dialog and add a menu item for it. 2015-09-25 21:09:12 +02:00
baldurk 1f3a83cf38 Don't make UpdateDialog TopMost, that's globally always-on-top 2015-09-15 18:42:42 +02:00
baldurk 96b43aa54d Allow the queued capturing of frame 1 immediately. Refs #150 2015-09-12 17:23:30 +02:00
baldurk 2d12d5abee Add an update dialog that shows update notes & does upgrade smoothly 2015-08-30 00:11:48 +02:00
baldurk 95be5454f9 Add a "Find in all files" dialog on ctrl-shift-f to shader viewer 2015-08-29 19:26:50 +02:00
baldurk 4609fa710b Update RenderDoc application-facing API to a stable/mature version.
* This API is now intended to be forward and backward compatible as much
  as possible. Meaning applications should be able to run without
  changing on many RenderDoc versions after the one they are built
  against without breaking.
* All function pointers are fetched at once in one versioned GetAPI()
  function, to save on constant GetProcAddress/dlsym'ing.
* Otherwise, it's largely similar to the previous API.
2015-08-23 15:12:05 +02:00
baldurk f6b4b2fe22 Change python embedding to get standard library from zip, not a dll
* This seems way more reliable and smaller than shipping a compiled .dll
* For some reason I didn't find this method before (I only knew that
  you could ship the loose files which wasn't a good solution).
2015-08-23 11:17:46 +02:00
baldurk 4b0c1cbde8 Move the source data for tips online, a webpage will generate code 2015-07-10 23:31:52 +02:00
baldurk 44adfc7b82 Add a 'tips' dialog. Still needs to be mostly filled out with tips 2015-07-08 00:18:58 +02:00
baldurk c915d44af7 Clamp the selected sample to valid range 2015-07-07 19:40:07 +02:00
baldurk f6527107dc Add try {} catch to handle exceptions thrown from IO operations 2015-07-07 19:06:31 +02:00
baldurk 36f12d1ef2 Add export to CSV option in cbuffer previewer. Refs #140 2015-07-06 18:16:20 +02:00
baldurk 23404656ce Make sure not to try to set empty text to clipboard 2015-04-25 13:19:48 +02:00
baldurk 7339be3c00 Fix crash if Ctrl-C is pressed while no log is loaded 2015-04-25 13:19:37 +02:00
baldurk 7f61f85201 Fix tooltip on "Allow global process hooking" option. Closes #132 2015-04-20 13:40:35 +02:00
baldurk 7a1cc84f41 Keep temporary log around to be able to save multiple times. Closes #130
* Previously if a temporary log was saved once, it would be moved there,
  so the user could in theory delete it and lose the only copy of the
  log.
* Now the temporary log is held until it's closed in the UI, to be able
  to be saved again. If the user saves the log though, this will stop
  any "unsaved log" prompts in the main UI window, so there is nothing
  stopping the user from saving the log, deleting that copy, then
  closing and they'll lose the log without prompt.
2015-04-12 18:37:16 +01:00