Commit Graph

461 Commits

Author SHA1 Message Date
baldurk 9460fbd970 Add feature to globally hook processes to inject indirectly.
* This allows you to hook into processes that are difficult to launch
  directly with the existing functionality in RenderDoc.
* This is rather risky, as it modifies the AppInit_DLLs registry key to
  inject a small shim dll that checks for the desired process and injects
  the full renderdoc.dll. If that registry key got left, or if there was
  some incompatibility with the shim dll, you could have problems. It
  should only ever be used as a last resort if there's no other way to
  capture.
2014-10-05 13:57:11 +01:00
baldurk a6d68e5598 Fix typo - copy d3dcompiler_47.dll from correct bitness folder. 2014-10-05 13:48:28 +01:00
baldurk e0c57be087 Ensure large enough params buffer, respect & passthru NULL log path 2014-10-04 16:18:36 +01:00
baldurk 453456c393 Give more descriptive default names to texture resources. Refs #94 2014-10-01 22:56:51 +01:00
baldurk b6dccb27a3 Fix fetching the right base name for array elements. Refs #93 2014-10-01 22:56:50 +01:00
baldurk d3ef445a67 add -I for 3rdparty/ folder 2014-09-29 00:05:50 +01:00
baldurk 60d5a425aa Add option to disable/enable vertex highlighting in mesh view 2014-09-28 16:31:49 +01:00
baldurk 49539033c9 Connection dialog now follows child processes launched. Closes #78
* Whenever a child process is hooked, that's passed back up to the UI and
  a list is shown with all the child processes of the one you are connected
  to in the dialog.
* At any point you can double click to create a new dialog latched to that
  process.
* If the process you're attached to closes and has one child, similar to if
  you only have one capture made the dialog will close itself and open a
  new connection to the child process. This is the case for e.g launcher ->
  editor
* This behaviour is overridden if you made a capture, as it assumes you
  then don't care about the child processes and instead want to open the
  capture. You can always do file -> attach later.
* If it has multiple children when the process closes, the dialog stays
  open to allow you to peruse the list and maybe open up a connection to
  one of the children.
2014-09-28 15:07:59 +01:00
baldurk 6af5130d00 Make better use of space when help is toggled off 2014-09-28 14:10:28 +01:00
baldurk a0d6d771f2 Pass through child processes via remote access to UI. Refs #78 2014-09-28 13:58:18 +01:00
baldurk 67645f1d63 Set sockets to be specifically non-inheritable
* This means if a process with a remote connection creates a child process
  we don't have the socket stay open zombie-like.
2014-09-28 12:46:51 +01:00
baldurk 60ab640a51 Fix logic mistake causing crashes with superfluous GPU dirty data
* IF we are ref'ing all resources, we want to serialise GPU dirty resources
  regardless if they're in m_FrameReferencedResources. If we are NOT
  then we can skip out.
2014-09-28 12:44:26 +01:00
baldurk ae99e32ad4 Ensure we use the right topology for the stage 2014-09-28 11:55:52 +01:00
baldurk faeb047211 Handle vtx highlights outside UI, for complex topologies. Refs #85 2014-09-28 02:24:57 +01:00
baldurk 7da04de998 Stream-out as point list for vs-out draws to get vertex reuse
* For vertex shader output only, we do the streamout as a point list and
  render each vertex once then we can reuse the same(ish) index buffer and
  topology as the original draw.
* For GS/DS out there will likely be some expansion of verts so we do the
  same as we used to.
2014-09-27 21:41:35 +01:00
baldurk 896d3837f2 Bump version to v0.22 so unofficial/beta builds are v0.22-xxxx 2014-09-27 01:38:38 +01:00
baldurk 2aef371f7e Include registry keys to show renderdoc as an image file opener. 2014-09-27 01:29:57 +01:00
baldurk 6b990bd193 Fix overlays to work with MSAA render targets
* Some work just per-pixel rather than per-sample but it's not too
  important
2014-09-27 00:43:04 +01:00
baldurk 4526e8beae Add MSAA support for pixel history. Refs #82
* We expand the depth-pixel-copy CS to copy colour pixels too, and be able
  to read from MSAA textures where appropriate.
* This introduces a small unnecessary overhead for non-MSAA colour textures
  but it's not really an issue.
* I've also changed it to use the existing textures rather than creating
  copies when the existing texture has BIND_SRV already.
2014-09-26 22:50:33 +01:00
baldurk eeaab87854 Add a couple of utility functions for DXGI_FORMAT 2014-09-26 22:00:58 +01:00
baldurk 499e3b7c9f pass through sample index to pixel history 2014-09-26 22:00:58 +01:00
baldurk a23e6f8801 For windows ensure dll stays alive until remoteaccess threads close
* See http://blogs.msdn.com/b/oldnewthing/archive/2013/11/05/10463645.aspx
2014-09-26 19:25:38 +01:00
baldurk 93f29d1280 Respect the MSAA sample chosen when debugging a pixel 2014-09-26 16:14:57 +01:00
baldurk f27381db29 Don't skip writing dirty resources if we have RefAllResources on 2014-09-25 23:26:53 +01:00
baldurk 81e812b5f3 Add image viewer so that an image can be loaded as a faux-log
* This adds the ability to drag in/open up a dds or jpg file and get all
  the usual texture viewing and manipulation options.
2014-09-25 16:27:17 +01:00
baldurk 75c9ba32c9 Check that UAV array is non-empty before indexing into it 2014-09-25 16:26:30 +01:00
baldurk 2122c5c0a8 Only add log to recent list when it successfully loaded. 2014-09-25 16:26:15 +01:00
baldurk bad288f890 amend to dds writing fixups 2014-09-25 16:21:31 +01:00
baldurk 95bd75d915 Proxy texture fixups - set cubemap, name, work for 1D/3D 2014-09-25 16:21:19 +01:00
baldurk 98fd2bf114 Ensure that proxy driver gets properly shut down 2014-09-25 16:20:38 +01:00
baldurk 940f742e04 Implement DDS reading, add function to quickly check header exists 2014-09-25 16:19:47 +01:00
baldurk 0e6085ea20 DDS writing fixes for cubemaps & 3D textures with mips 2014-09-25 16:19:12 +01:00
baldurk dad0ba91c4 Return values should be bool32 not bool 2014-09-25 16:18:30 +01:00
baldurk 0261095de6 Add selection of primitive to pixel debug from pixel history
* This means when multiple fragments are writing to a pixel you can choose
  precisely the one you want to debug, rather than the debugging always
  running the approximately last fragment to pass
2014-09-25 10:49:01 +01:00
baldurk 672bd14af9 Display a tooltip over registers with their current value 2014-09-25 09:46:17 +01:00
baldurk 3bc3f7a902 Fix for crash if frame capture is queued & process fails to create 2014-09-25 08:20:47 +01:00
baldurk aaaf9ae908 Pass through chunk serialiser and log state to ResourceManager 2014-09-25 01:29:39 +01:00
baldurk c1cb2c7333 Comment capture options, deprecate CacheStateObjects. Closes #61 2014-09-24 23:44:31 +01:00
baldurk eee2fc9476 Inline the couple of DIA interfaces used so USE_DIA isn't needed 2014-09-24 20:26:01 +01:00
baldurk 8d685de609 Reorganise 3rdparty, include breakpad with sln, drop mhook. Closes #84 2014-09-24 20:24:35 +01:00
baldurk 7dbb80b25e Batch update for bits of documentation that were out of date v0.21 2014-09-24 13:45:29 +01:00
baldurk 082a8afb9b Remove toolbar debug pixel button 2014-09-24 13:32:07 +01:00
baldurk 2966bfeb79 Update snippet-adding code for multisampled types 2014-09-24 13:31:56 +01:00
baldurk 0ac899046f Correctly fetch coverage, primitive ID and frontface. Refs #81
* PSInput must be the first thing in the function signature to match the
  output of previous stage, but we snip out the above SV semantics and
  fetch them separately to get the right values and not hit any weird
  compiler errors.
2014-09-21 17:21:27 +01:00
baldurk d97339248f Use the correct/matching row pitch value when reading from Map() 2014-09-21 15:22:18 +01:00
baldurk 1039285b49 Fix bug with pixel history not allocating enough pixel data store 2014-09-21 15:05:52 +01:00
baldurk a3c5e4a51b Convert capture timestamp to local time 2014-09-19 17:55:35 +01:00
baldurk 9c23d67c30 Pack-in d3dcompiler_47.dll with distribution. Refs #81 2014-09-18 19:02:28 +01:00
baldurk d650946afd Make installer add thumbnail & file ext registry entries by default
* This might be the wrong thing to do, I've changed my mind on this a dozen
  times. I think most people will want these, and I don't think it's a bad
  thing to include it as the default setting - people can still go to
  customise and unselect it. I thought most people would do custom and then
  opt-in since most will want it, but I suspect (from watching people run
  the installer) that most people hit typical, and so don't get these.
2014-09-18 18:47:15 +01:00
baldurk 4704289e30 Install UI.pdb to get better callstacks (zip distributes all pdbs) 2014-09-18 18:44:58 +01:00