baldurk fc831982eb Add a 'garbage collection' for cached state objects
* In extreme cases a program can create lots and lots of unique short-
  lived state objects, we cache them all and run out of the 4096 state
  objects that can be around, then further creates fail out.
* To handle this, if we have 4000 total state objects, we release any
  that are purely being held by us (not the program). This isn't an
  ideal solution but it's quite simple and non-invasive, and only has
  a slight impact on rare Create calls.
* Most programs will either create a few up-front (as intended), or at
  worst create a few dozen or even few hundred then re-use them as they
  are cached.
2015-04-28 13:42:50 +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%