Commit Graph

477 Commits

Author SHA1 Message Date
baldurk 47edff3d5b [Refs #87: Static Analysis] Ensure indices are initialised 2014-10-05 19:01:23 +01:00
baldurk 3c0e4357c4 [Refs #87: Static Analysis] Only verify Format/Offset if it was fetched 2014-10-05 19:01:23 +01:00
baldurk 5954f1a406 [Refs #87: Static Analysis] Handle paranoid case of dll not existing 2014-10-05 19:01:22 +01:00
baldurk 20e86183bf [Refs #87: Static Analysis] Handle NULL parameters separately 2014-10-05 19:01:21 +01:00
baldurk efbc27909c [Refs #87: Static Analysis] Couple of cases that confused the analyser 2014-10-05 19:01:21 +01:00
baldurk 957e73ce28 [Refs #87: Static Analysis] Add error checks for injecting remote DLL 2014-10-05 19:01:20 +01:00
baldurk 07464f27ad [Refs #87: Static Analysis] Add annotations from original definition 2014-10-05 19:01:19 +01:00
baldurk 71abc2079c [Refs #87: Static Analysis] Do error checking on fetching resources 2014-10-05 19:01:19 +01:00
baldurk cb7fd103eb [Refs #87: Static Analysis] Call into function that accepts va_args 2014-10-05 19:01:18 +01:00
baldurk b061ad2263 [Refs #87: Static Analysis] Use correct string for wcsrchr 2014-10-05 19:01:17 +01:00
baldurk 5e9cdde3a0 [Refs #87: Static Analysis] Check that section enum is valid 2014-10-05 19:01:17 +01:00
baldurk b791cb59de [Refs #87: Static Analysis] Add in wWinMain annotations 2014-10-05 19:01:16 +01:00
baldurk dae776fb33 [Refs #87: Static Analysis] Be explicit about checking pointer 2014-10-05 19:01:15 +01:00
baldurk 441c97e09b [Refs #87: Static Analysis] Extra wchar_t for null terminator 2014-10-05 19:01:15 +01:00
baldurk 4d72d85c45 [Refs #87: Static Analysis] Restore function annotations 2014-10-05 19:01:14 +01:00
baldurk bd3c4b81fb [Refs #87: Static Analysis] Remove annotations that aren't accurate
* The problem with these annotations is they're duplicated for the
  Serialise_* functions, which the annotations do not apply to. The easiest
  solution is just to remove the annotations entirely
2014-10-05 16:58:32 +01:00
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