Commit Graph

163 Commits

Author SHA1 Message Date
baldurk 567a236034 Allow using hex formatting strings for custom constant buffer layouts 2016-11-02 23:39:35 +01:00
baldurk c2103ed2ba Check for GLSL style square matrix formatting strings. Refs #414 2016-11-02 23:39:35 +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 7cf7fc0c34 NULL out D3D12 pipeline state on close 2016-10-12 16:50:21 +02:00
Adrian Bucur eaa85bf1fa Enable SPIR-V External Disassembler Tool
- Added the ability to select an external SPIR-V disassembler and to use
  it for editing any of the shaders in the pipeline.
  Tested with SPIRV-Cross (https://github.com/KhronosGroup/SPIRV-Cross)
  Fragment, Vertex, Geometry, Compute shaders
2016-10-06 13:02:23 +02:00
baldurk 06e6677616 Divide up register spaces by shader stage (namespacing same as DX11) 2016-09-23 11:41:16 +02:00
baldurk 5951ed723b Pass resource state data per-resource through for D3D12 2016-09-22 17:05:28 +02:00
baldurk db3181e7bb Implement D3D12 pipeline state, with shader resources 2016-09-22 16:55:41 +02:00
baldurk fa6bac0c49 Fill out all the CommonPipelineState functions for D3D12 2016-09-22 15:22:13 +02:00
baldurk af9017af0a Add D3D12 pipeline state (state and viewer duplicated from D3D11) 2016-09-22 12:05:47 +02:00
baldurk 6521a6b782 [Coverity] Fix some null checks 2016-09-14 18:28:53 +02:00
baldurk c10c487a02 Allow shutting down the active remote server 2016-09-13 16:07:57 +02:00
baldurk 6c1b60ef56 Don't count empty markers when thinking about faking profile markers 2016-09-06 18:29:01 +02:00
baldurk 78ef96b2e7 Set up capturing to flatten/deinterleave deferred context recording 2016-09-05 20:12:40 +02:00
baldurk b36475cf9c Remove now-unused functionality, context filter and deferred events 2016-09-05 17:55:12 +02:00
baldurk 0b359468e6 Handle remote disconnects somewhat gracefully in the virtual file dialog 2016-08-29 16:29:29 +02:00
baldurk 302cbd681a Lock properly to remove races while render thread is inactive 2016-08-29 16:12:12 +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 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 39b995fcfa Add a dialog to ask if the user wants to replay remotely 2016-08-19 17:26:37 +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 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 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 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
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 a4b9023df5 Update C# side P/Invoke interop 2016-08-19 17:26:05 +02:00
baldurk 4e450dbfcc Rename RemoteRenderer to RemoteServer 2016-08-19 12:23:19 +02:00
baldurk 481a28dc29 Rename RemoteAccess to TargetControl to better disambiguate RemoteServer 2016-08-19 12:23:19 +02:00
baldurk 5ed6ee2938 Add better error messages when failing to load images.
* This includes an enum for unsupported (but recognised) image formats
  instead of just a generic 'file corrupted' or misleading 'API
  unsupported' error.
2016-08-19 12:17:09 +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 12e0c301af Handle themes with light text when picking contrasting colour. Refs #315 2016-08-05 11:19:56 +02:00
baldurk 20c81be074 Make sure to catch any exceptions from processing invalid/garbage paths 2016-07-25 18:27:18 +02:00