baldurk 840bfe7096 Add hackish but better handling of device memory initial states
* Device memory is always treated as dirty from creation. This means
  we will always prepare_initialstate for all memory.
* We no longer force initial states for all memory.
* Instead we iterate over all frame ref'd objects, and then ref their
  memory records - for framebuffers and view objects, we frame ref their
  parents so that they can in turn frame ref their memory record.
* In future this should be built up at creation time and just iterated
  whenever we want to ref any of these objects (all the way down to mem)
2016-02-07 18:41:13 +01:00
2016-02-07 18:38:47 +01:00
2015-09-15 23:11:07 +02:00

RenderDoc

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

Quick Links:

Screenshots

Texture view Pixel history & shader debug
Mesh viewer Pipeline viewer & constants

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.

Documentation

As mentioned above there are some youtube videos showing the use of some basic features and an introduction/overview.

There is also a great presentation by @Icetigris which goes into some details of how RenderDoc can be used in real world situations: slides are up here.

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%