@baldurk baldurk released this May 8, 2016

Assets 2

Binary downloads of this release are now up on the builds page.

Version v0.29

Since v0.28 was released a couple of weeks ago, a bug or two cropped up that were just on the border of being serious enough to warrant an urgent bugfix release. To that end v0.29 is a small release primarily aimed at patching those up as a number of people were running into at least one on v0.28 - a fatal error that happened when inspecting a D3D11 compute dispatch that used a structured buffer UAV.

It also brings with it support for the newly release VK_EXT_debug_marker extension for Vulkan, which allows common API debug functionality like naming objects and marking off regions of commands for hierarchical browsing.

There are a few other changes, so even if you're not hitting bugs in v0.28 it's worth updating. As always please get in touch if you run into any problems or have comments or suggestions to improve the tool!


  • Support for VK_EXT_debug_marker in Vulkan.
  • Added support for the 'create debug device' capture option in Vulkan. This will force-enable the validation layers, and display any debug messages recorded for the events and API calls in a frame.
  • Object labels in GL applied to shaders, programs and pipelines will be displayed in the pipeline state view.
  • When saving textures, updating the file type dropdown will change the filename (if present) to match the extension, and vice-versa when editing the filename box if the extension is changed it will update the file type dropdown.
  • Some improvements to the new statistics pane added in v0.28.


  • Fix a fatal error that happened when inspecting a D3D11 compute dispatch that used a structured buffer UAV.
  • Fixed a bug where a failed call to wglCreateContextAttribs (e.g. if requesting a higher version than is supported) would cause subsequent calls not to be hooked.
  • Fixed a mistaken offset calculation when fetching constant buffer data into shader debugging on D3D11.
  • Fix a divide by zero error if average framerate isn't yet calculated by first Present().
  • When capturing manually without a swapchain, ensure that each capture has a frame number incrementing from 1, instead of all being frame 0.
  • Fix a case where the profile mask could be missed when parsing the attribs list when creating a context in GL.
  • Fix input layouts not being marked referenced when bound to the render state - causes them not to be included if they are bound at the start of the frame, but not bound in the frame.
  • Handle VK_WHOLE_SIZE being passed as the memory range size in vkFlushMappedMemoryRanges
  • Filter out unsupported Vulkan extensions before the application sees them.
  • Don't replay with the Vulkan validation layers enabled even if the application enabled them.
  • Ensure the WSI extensions are requested when replaying a Vulkan log even if the application didn't use WSI.
  • Fix some erroneous warnings about descriptor sets not being bound when referenced by a shader.