Commit Graph

129 Commits

Author SHA1 Message Date
baldurk f013f6fd29 Store index format and topology in drawcall, to accommodate GL
* D3D11 just latches the state from the input assembler state into the
  drawcall when it's being added. GL stores the state per-draw.
2015-01-15 17:17:12 +00:00
baldurk 04f1d4a378 Centralise debug message processing, and allow adding custom warnings
* This will allow the adding of things like 'redundant api call' for calls
  that have no effect, as well as potential problems like drawing with an
  empty viewport, or similar things that are common problems. Reading out-
  of-bounds on buffers etc is a good example of 'defined' behaviour that
  is probably not desired.
* These heuristics could also identify potential performance problems.
* It also supports adding debug messages after log-load time, so you could
  do an additional extra-strength pass, or do a detailed check of one
  draw call (e.g. a broken draw, to try and figure out the problem). If
  there are any unread debug messages, the status bar will flash and the
  debug messages window will show a count as (N).
2015-01-11 00:20:50 +00:00
baldurk 6de7644e68 Don't bail out quite so quickly if vertex buffers are insufficient
* This allows 'partial' rows in the mesh viewer, if a vertex input element
  references invalid/out of bounds data, but the others are fine (coming
  from different streams).
2015-01-09 00:48:18 +00:00
baldurk 1c9269fc8d Add simple OpenEXR save/load support using tinyexr
* Thanks to https://github.com/syoyo/tinyexr for the load and save code!
2015-01-06 17:43:19 +00:00
baldurk 0df6e36ff5 Allow displaying any semantics as 'position' on mesh output view
* This means you can visualise the UVs directly, not just as a colour
  on the regular mesh.
2014-12-20 19:54:52 +00:00
loosche 9ef5080302 Change the normalized UV formatting to use Formatter.Format() instead of
doing it myself.
2014-12-19 00:31:17 -08:00
loosche 5f3b535d31 Add normalized UV coordinates to the TextureViewer window. 2014-12-19 00:11:19 -08:00
baldurk 6b34b5815d Don't kill connection thread if user cancels closing 2014-12-18 18:02:50 +00:00
baldurk a777a13021 Custom shaders should not blend, make channel buttons visible
* The RGBA channel enable buttons were applying anyway, they were just
  being hidden.
2014-12-11 19:49:03 +00:00
baldurk af0b869dee Fetch compute shader tex resources if it's a compute drawcall 2014-12-07 15:24:49 +00:00
baldurk fb8e6ac382 Output signature readwrite mask denotes unused, not used elements
* Credit to unbird from
  http://www.gamedev.net/topic/663475-renderdoc-weird-output-signatures/
  for identifying this :).
2014-12-06 20:58:37 +00:00
baldurk 69562fb82d Handle invalid index type reasonably gracefully 2014-12-02 00:16:29 +00:00
baldurk 52476118de Support doubles in shader vars natively, not packed in 2*uint32 each 2014-12-02 00:16:12 +00:00
baldurk 49b2b2d2df Handle empty indices array without crashing 2014-12-01 13:14:43 +00:00
baldurk 322c341fa2 Make it more obvious when input assembler buffers are not set. 2014-11-29 00:36:06 +00:00
baldurk ea8203e160 Add backface culling overlay 2014-11-27 23:36:06 +00:00
baldurk 2040a57e5d Check for new versions even if we think one is available
* This way if someone updates their install without clicking the menu item
  to clear this flag, it will still detect the update after a few days.
* (And when I forget to update which beta is latest, it will fix itself
  eventually. Oops).
2014-11-27 21:08:41 +00:00
baldurk 8b4475c73d Update mesh columns properly, and use correct stage when specified 2014-11-27 19:26:29 +00:00
baldurk d585c25633 Slightly expand pixel history column widths
* Should make exponential float values more obvious/visible.
2014-11-27 18:50:51 +00:00
baldurk 3abdff49a7 Catch & ignore InvalidOperationException when scrolling
* Fix for a crash report - this exception can be thrown sometimes if the
  window is really small.
2014-11-22 09:50:19 +00:00
baldurk caa5e06644 Fix for crash report - check that event label is non-null 2014-11-22 09:49:36 +00:00
baldurk 65df5a9192 Check file hasn't been removed out from under us before saving 2014-11-15 12:21:27 +00:00
baldurk ecbd919d05 Try to preserve horizontal scroll between events on mesh view 2014-11-13 22:21:09 +00:00
baldurk 551b0372c8 Allow fully flexible display of position&other component on meshes
* You can choose which component will be used as 'position' when rendering
  vertex inputs. Helpful if a position component isn't auto-detected, or
  if you want to render UV co-ordinates onto the screen.
* Instead of fixed TEXCOORD0/Color options for solid shading onto the mesh
  you can choose a secondary column yourself.
* Also the solid shading options are available on vertex output meshes as
  well as inputs.
2014-11-13 18:37:58 +00:00
baldurk b255f5bc36 Protect against ArgumentException in Timeline Bar paint
* Crash report was submitted indicating a crash here, which is either
  memory issues or momentarily crazy-large window. We can catch the
  exception and just clear to black.
2014-11-12 23:38:40 +00:00
valeriog d18557239f Added visualization of rasterizer state for OpenGL. 2014-10-31 19:40:16 +01:00
valeriog 91871a7a18 Fixes for pull request #101 2014-10-28 20:27:33 +01:00
valeriog 71b10310cd Reduce thread spawning in python script trace callback and highlight the line where an exception happens. 2014-10-28 18:08:55 +01:00
baldurk f45b2870d1 Prevent crash when custom cbuffer format is larger than buffer 2014-10-22 23:09:44 +01:00
baldurk 16a489c7a5 Handle case where input signature has been stripped from bytecode
* This was found on a flash stage3d sample, where if the input signature
  is stripped, some signature elements can be completely missing, causing
  a mismatch when trying to obtain the inputs for pixel debugging.
* In this case, we try to fill in from the previous shader, and if that
  fails just inserting a dummy element and hoping for the best.
2014-10-15 19:51:32 +01:00
baldurk 32eadbcade Remember last filename as well as last directory for capturing 2014-10-15 18:45:31 +01:00
baldurk 29894e4db3 Add Interactive/script running python shell window 2014-10-10 21:30:40 +01:00
baldurk 1c306fb155 Make sure public function is properly invoked :) 2014-10-10 21:23:38 +01:00
baldurk 3bd5f028dc Take UAV type from resource not shader type, for correct size 2014-10-09 08:17:38 +01:00
baldurk ed1b03fe68 Hide highlight verts button when not in mesh view 2014-10-08 22:08:55 +01:00
baldurk 333ade7201 Handle drawcalls of 0 indices/vertices without crashing. 2014-10-08 22:07:59 +01:00
baldurk 96dc252d4b Add HTML export for D3D11 pipeline state viewer. Closes #92 2014-10-07 23:20:43 +01:00
baldurk 9793ac6312 Add a default copy paste handler for tables in pipeline state. Refs #92 2014-10-07 00:27:06 +01:00
baldurk 50626337da Copy handler for texture viewer that copies status text. Refs #92 2014-10-07 00:11:28 +01:00
baldurk cfbdc98212 Re-hook up KeyDown handler that mysteriously went missing. Refs #92 2014-10-07 00:11:23 +01:00
baldurk e8f25d4067 Make sure menu-strip export comes from selected buffer view. Refs #92 2014-10-07 00:11:10 +01:00
baldurk 2cebc9866f Fix WindowFromPoint P/Invoke 2014-10-06 17:40:30 +01:00
baldurk 56e7f0c754 Add an option to verify Map() writes don't overrun. Closes #42
* Has a couple of limitations - won't check deferred context or
  NO_OVERWRITE Map()s except in a captured frame. This could in theory be
  implemented but it'd be complex and I don't want to complicate/break
  the normal path.
* When an overrun is detected, a messagebox pops up to block the thread,
  and if you hit yes, it will debugbreak.
2014-10-05 23:42:25 +01:00
baldurk a23f597c99 Fix some stupid typos/errors with commit e749f4287 2014-10-05 22:25:01 +01:00
baldurk 3b8e4a3323 [Refs #87: Static Analysis] Fix incorrectly unused variables/returns 2014-10-05 19:01:28 +01:00
baldurk 09863d920b [Refs #87: Static Analysis] Fix P/Invoke - C# point varies on x86/x64 2014-10-05 19:01:28 +01:00
baldurk f198e71806 [Refs #87: Static Analysis] Remove unused variables 2014-10-05 19:01:27 +01:00
baldurk 8b0f05ca5e [Refs #87: Static Analysis] Clarify timer member by explicit use 2014-10-05 19:01:26 +01:00
baldurk e749f42876 [Refs #87: Static Analysis] string compare as uppercase or by length 2014-10-05 19:01:25 +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