mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-05 01:20:42 +00:00
a864b757c4
* It needs better support for replaying subsections of the frame
2.6 KiB
2.6 KiB
RenderDoc for Vulkan
These are the release notes for an early preview version of RenderDoc with Vulkan support. The intention is to have a reliable graphics debugger for 1.0 release of Vulkan, full details of the feature set are still to be determined.
Note that for 1.0 only a baseline feature set is to be supported, see below.
Please try the tool on your workloads or programs and report back bugs encountered or general feedback. Likewise feedback is welcome about where future work should be prioritised.
If you have any questions you can contact myself (baldurk@baldurk.org) or LunarG via LunarXchange.
Current Support
- A single VkInstance/VkQueue/VkDevice triple is supported.
- Capture and replay of single-frame captures (not full-program streams a la vktrace).
- On replay you can step into each vkQueueSubmit call to see the command buffers submitted, and step into them to browse through the commands.
- The pipeline state will be displayed at each command, showing the data contained in each member of the pipeline createinfo struct, as well as dynamic state.
- Simple disassembly/reflection of SPIR-V to determine which descriptors to read for read-only resources and uniform buffers. The uniform buffers will be listed separately and the member variables filled out.
- Texture display
- You can view mesh input data both as data and a 3D preview
- Mesh output data after vertex shader is fetched and displayed
- Pipeline export to HTML
- Render overlays like Drawcall highlight, wireframe, depth-test pass/fail etc
- Texture range auto-fit and histogram display
- Threading should be pretty efficient - no heavy locks on common paths (outside of creation/deletion)
- Saving textures to file
Known Issues
- Memory/image barriers are as yet unverified, potentially could lead to bad capture or replay.
- Sparse images with mips or array slices will not properly replay
- 'Quad overdraw' debug overlays aren't implemented.
Future work, post 1.0
In no particular order, features that are not planned until after 1.0.
- More than one VkInstance/VkDevice/VkQueue triple
- Stepping inside vkCmdExecuteCommands
- Support for replaying captures on a different machine to where they were captured
- Shader debugging
- Sharing resources between different queues, and ownership changing hands
- Mesh output data after geometry and tessellation shaders
- Vertex picking
- Pixel history
- Drawcall timings
- Custom visualisation shaders
- Linux support with Qt UI
- Shader edit & replace
- Mesh geometry/tessellation output capture
- Queue-level API events are not listed, only API calls associated with a cmd buffer