* We used to switch to the context that the object was created on and fetch initial state there, but this isn't safe e.g. the switch operation could fail if the context was active on another thread. Instead we queue up such objects to have their data fetched the next time we see the context made current. * If we never get the initial state for that object we assume that context is never used, so it's OK to just not have initial states - it's marked as invalid so we don't try to restore those states on replay. * Note: this obviously falls down in the even that the context is already current on another thread and we just get commands from there without an explicit 'MakeCurrent' call. But we already don't handle that as we don't detect that and log the state change (or properly handle multithreaded commands), so it's not any worse support.
RenderDoc
Welcome to RenderDoc - a graphics debugger, currently available for D3D11 development on windows.
Quick Links:
- Builds & Downloads: https://renderdoc.org/builds
- Documentation: renderdoc.chm in the build, or http://docs.renderdoc.org/
- Tutorials: There are some video tutorials on Youtube: http://www.youtube.com/user/baldurkarlsson/
- Email contact: baldurk@baldurk.org
- IRC channel: #renderdoc on freenode
- Roadmap/future development: Roadmap
- Starting place for developing/contributing: CONTRIBUTING.md
- How to compile: COMPILE.md
API Support
| Status | Windows | Linux | |
|---|---|---|---|
| D3D11 | Well supported, all features. | ✔️ | ✖️ |
| OpenGL 3.2 core+ | Work in progress, not complete. | ✔️ | ✔️ No native UI |
| OpenGL Pre-3.2 | No immediate plans | ✖️ | ✖️ |
| D3D10 | No immediate plans | ✖️ | ✖️ |
| D3D9 | No immediate plans | ✖️ | ✖️ |
| Mantle | Planned for the future. | ✖️ | ✖️ |
| D3D12 | Planned for the future. | ✖️ | ✖️ |
| Next Gen OpenGL | 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.
- OpenGL support has a few assumptions and limitations for now, check the OpenGL wiki page
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.