31 Commits

Author SHA1 Message Date
baldurk f4de6993bc Fix double support in FormatElement & custom Buffer/CBuffer views 2014-09-17 18:51:00 +01:00
baldurk e81169f021 Add a dialog to guide users to selecting available save options 2014-09-16 01:27:08 +01:00
baldurk 326ca2ebe8 Move SaveTexture logic to replay layer
* Expand the abilities of the GetTextureData in replay drivers
  to be able to resolve samples and render down to RGBA8 unorm
  for file export to other programs.
* Greatly improve the ability to save textures - in theory any
  texture format/type/dimension/etc should now be mappable in
  sensible & useful ways to output formats.
2014-09-16 01:25:13 +01:00
baldurk 72e2ed1513 Remove UNorm_SRGB component type as it's redundant 2014-09-14 20:29:25 +01:00
baldurk bda68c8ba6 CBuffer window is a dialog now, with ability to set custom layout 2014-09-13 18:48:39 +01:00
baldurk 475c0dab7c Improve type display in constant buffer previewer 2014-09-13 18:48:37 +01:00
baldurk 6fbb247efd Re-organise external-facing headers to be more easily used
* renderdoc/api/replay/ contains all the headers for using the replay and
  analysis side of renderdoc (like in a UI or auto-testing tool)
* renderdoc/api/app/ contains the headers if you wanted to write a
  renderdoc-aware application.
2014-09-13 12:52:25 +01:00
baldurk 35884170eb In D3D11 support setting friendly names on shaders 2014-09-10 18:25:29 +01:00
baldurk 68157814ad Mark pixel history events as UAV writes and display before/after 2014-09-06 13:28:58 +01:00
baldurk 0dbf879e7d Add small timeouts to blocking recv/send so we don't spin forever 2014-09-02 00:16:17 +01:00
baldurk 89e90f8c36 Replace mip selection with sample idx when viewing Tex2DMS. Refs #79
* Also for float/unorm texture add an additional "resolved" option that
  just does an unweighted average of all samples, which is the behaviour
  from before (assuming that's what ResolveSubresource does).
2014-08-29 01:54:14 +01:00
baldurk d55be5f687 Duplicate up pixel modifications based on # frags 2014-08-24 01:00:18 +01:00
baldurk 5ed280ae33 Markers don't increment drawcall ID, use eventID for prev/next/parent 2014-08-24 00:59:26 +01:00
baldurk 55e0178ec9 Add quad overdraw mode. Thanks Stephen Hill (@self_shadow)!
* http://blog.selfshadow.com/2012/11/12/counting-quads/
* Quad Overdraw based on ScenePS4 from the revised implementation. The
  colours are new, up to 20 levels. Picking pixels shows the overdraw level
* Available per-pass and per-drawcall, a pass defined the same way as in
  the mesh view, drawcalls since last clear or RT change.
* List of events now passed through to RenderOverlay the same as RenderMesh
2014-08-17 15:28:51 +01:00
baldurk 7ab9815aaf Introduce a bindpoint mapping as part of the pipeline state
* For APIs where the shader namespace/bindpoint (which may be arbitrary
  like 'the Nth texture resource' can be mapped, at each event, to the
  actual API bind point where the object is.
* On D3D11 this is pass-through, on GL this returns the value of each
  uniform.
* This also means GL shader reflection structures are properly immutable
  and the variance in the uniform values is handled elsewhere.
* In future this might need to be expanded to support more complex binding
  methods, where the mapping returns the resource rather than just mapping
  to an integer bind ponit.
2014-08-13 15:56:55 +01:00
baldurk 49ab71181c Add some system attributes from GL 2014-08-12 16:47:00 +01:00
Baldur Karlsson c648904cba DebugMessage description is an ascii string 2014-08-06 15:42:33 +01:00
baldurk 15f98e3749 Show pixel history events in the timeline bar 2014-08-03 16:25:14 +01:00
baldurk b695ba2070 Pass indexable temps through and display in UI. Closes #73
* The storage is rather wasteful (once per state), but the temp registers
  are mutable so could be changed from state to state.
2014-08-03 14:28:27 +01:00
Baldur Karlsson b26b816d81 Implement FillCBufferVariables for buffer-backed UBOs 2014-07-29 14:07:56 +01:00
Baldur Karlsson 9fda74fc07 Add a button on the texture viewer that flips the tex in Y
* Useful for systems that render OpenGL upside down with a final flip,
  for example.
2014-07-28 10:28:28 +01:00
baldurk ca043bf3e2 Add ability to view buffer elements as hex with xint/xshort/xbyte 2014-07-25 08:58:49 +01:00
baldurk 9075812226 Pass stencil as int32_t so depth or stencil of -1 indicates no data 2014-07-18 00:03:04 +01:00
baldurk e462ab15b3 Collect depth and stencil values before/after.
* This code is just to test if the method works, it's super ugly and needs
  to be tidied up (as does this whole function!)
2014-07-17 21:13:33 +01:00
baldurk 4e51aab9e5 Add externally visible API to query for pixel history 2014-07-13 18:56:45 +01:00
baldurk 25c4771589 Add drawcall flags for clearcolour/cleardepth 2014-07-13 18:55:04 +01:00
baldurk 7799f107f8 Can only have up to 2 double components in a vector 2014-07-04 22:51:05 +01:00
baldurk 75353bd190 Add toggle to disable gamma 'correction' of linear data. Closes #58
* The explanation is in the FAQ but the short explanation is that most
  data e.g. normal maps are conventionally displayed as if they contained
  SRGB data, so RenderDoc does the same so things look as expected.
2014-07-04 17:02:11 +01:00
baldurk 9b8adebb91 Bind resources while in READING, as we're replaying edit chunks
* While replaying the initial chunks, we're doing edit type operations but
  we haven't serialised out the binding operations in between, so in this
  state we do the bind-to-edit binds ourselves.
2014-06-01 11:54:54 +01:00
baldurk 3ccd8980a3 Fix default capture options not being applied in 0.20 and above
* These capture options used to be propagated through from the C++ struct
  when there was a C++/CLI dll used for interop between C# and C++. Now
  that we use P/Invoke this needs to be added back so a couple of default
  options can be enabled
2014-05-26 13:53:30 +01:00
baldurk c38affcded Initial commit of existing code.
* All renderdoc code up to this point was written by me, history is available by request
2014-05-02 08:33:01 +01:00