baldurk 75a9bd4376 Expand out arrays of shader resources at lower priority than non-arrays
* An array of resources like SamplerState foo[8]; or Texture2D blah[8];
  show up as one entry in the reflection data, so need to be expanded
  out to several entries.
* Normally it's OK to overlap two resources in the same bind, as long
  as only one gets used - this doesn't matter to us since only the used
  one will show up in the reflection data. Unless there's an array e.g:
  SamplerState foo[8] : register(s0); // [0] and [5] used;
  SamplerState bar    : register(s3);
  in which case foo[] appears in the reflection data for the sake of [0]
  and [5], and bar will appear too (causing an overlap between foo[3]
  and bar. Since we know the reflection data is unambiguous, we
  prioritise individual entries over array entries by listing them
  first and using the first match for any bindpoint.
2015-06-04 21:04:08 +02:00

RenderDoc

Welcome to RenderDoc - a graphics debugger, currently available for D3D11 and OpenGL development on windows.

Quick Links:

API Support

Status Windows Linux
D3D11 Well supported, all features. ✔️ ✖️
OpenGL 3.2 core+ Well supported, most features.* ✔️ ✔️ No UI**
OpenGL Pre-3.2 No immediate plans ✖️ ✖️
D3D10 No immediate plans ✖️ ✖️
D3D9 No immediate plans ✖️ ✖️
Mantle Plans cancelled, redirected to Vulkan. ✖️ ✖️
D3D12 Planned for the future. ✖️ ✖️
Vulkan Planned for the future. ✖️ ✖️
  • D3D11 has full feature support and is stable & tested. Feature Level 11 hardware is assumed - Radeon 4000/5000+, GeForce 400+, Intel Ivy Bridge, falling back to WARP software emulation if this hardware isn't present.
  • *OpenGL is only explicitly supported for the core profile 3.2+ subset of features, check the OpenGL wiki page for details.
  • **A Qt version of the UI is planned, with some implementation notes on the wiki.

Downloads

There are binary releases available, built from the release targets. If you just want to use the program and you ended up here, this is what you want :).

It's recommended that if you're new you start with the stable builds. Beta builds are available for those who want more regular updates with the latest features and fixes, but might run into some bugs as well. Nightly builds are available every day from master branch here if you need it.

License

RenderDoc is released under the MIT license, see LICENSE.md for full text as well as 3rd party library acknowledgements.

Building

Building RenderDoc is fairly straight forward. See COMPILE.md for more details.

Contributing & Development

I've added some notes on how to contribute, as well as where to get started looking through the code in COMPILE.md - check there for more details on how to set up to build renderdoc and where to start contributing to its development.

Languages
C++ 79.6%
C 16.6%
Python 2.5%
Objective-C++ 0.4%
HLSL 0.2%
Other 0.6%