Files
renderdoc/ReleaseNotes.md
T
2016-02-07 18:50:05 +01:00

2.7 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
  • Show resource usage of each image/buffer and where it's used in different parts of the pipeline during the frame.
  • 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
  • Drawcall timings may be unreliable, and are also top-to-bottom of pipe each, so don't sum up accurately.

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
  • Custom visualisation shaders
  • Linux support with Qt UI
  • Shader edit & replace
  • Mesh geometry/tessellation output capture