github baldurk/renderdoc v1.30
Version v1.30

latest releases: v1.32, v1.31
5 months ago

Version v1.30

This version contains support for mesh shaders on both Vulkan and D3D12. In addition there are a number of bugfixes including some crashes and a problem affecting recent NV drivers on UE5, as well as some other general improvements.

NOTE: Recent AMD drivers have a problem that for Vulkan and GL may cause problems creating swapchains. On UE5 this can cause fatal errors on or shortly after startup when using Vulkan, and this may also appear as the use of D3D12 in applications that don't use the API. This is an AMD driver issue which has been reported but it's unclear at this point if a workaround is possible.

As always binary builds with installers, zips and tarballs are available on renderdoc.org.

Main Highlights

Mesh shaders are supported with all existing features like pixel history, pipeline state, shader editing, shader printf on Vulkan, as would be expected.

The mesh viewer has been updated to display the relevant information. For task/amplification shaders it will display both the payload output and dispatched size from each threadgroup. Whether or not they are used, the final output from the mesh shader will be displayed for each meshlet that produced some outputs.

The 3D preview has also been updated to show a new solid shading mode which colourises different meshlets with different colours.

(screenshots courtesy of niagara)

It is also possible to filter all views down to either a single meshlet, or a single task and all meshlets produced.

Python API changes

  • The MeshDataStage.Unknown enum value was removed.

Features/Improvements

  • All: Extend depth test overlay to correctly report pass/fail with shader exported depth.
  • UI: Improve tooltips for settings determining Android SDK/JDK.
  • UI: Improve buffer formatter help and link properly to help documentation from UI.
  • UI: Improve D3D12 line anti-aliasing on AMD.
  • Vulkan: Add support for VK_EXT_extended_dynamic_state3 extension.
  • Vulkan: Improve display of output parameters to strip unnecessary gl_PerVertex noise.
  • Android: Fade logo every 45 minutes to alleviate burn-in if server is left running long term.
  • Android: Add handling of limited devices that only support 64-bit ARM and not also 32-bit ARM.
  • D3D12 & Vulkan: Implement support for mesh shading. Interactions with multiview are not supported, and currently there is no mesh input visualisation option and shader debugging is disabled. NOTE: Currently there are known issues both with mesa radv and with dxc's SPIR-V output which are both being investigated.

Bugfixes

  • UI: When loading a layout, close any existing windows which are not present in the new layout to avoid those windows becoming inaccessible or crashing.
  • Vulkan: Fix incorrect flag being used when creating compiled versions of library pipelines.
  • Vulkan: Fix render area not showing correctly when dynamic rendering is active.
  • Vulkan: Work around a validation error when sampling counters during replay.
  • Vulkan: Fixed current event action not always being displayed correctly when going from Texture Viewer Stencil overlay to None overlay.
  • Vulkan: Fix crash during replay of very large variable sized descriptor sets.
  • Vulkan: Fix source level shader debugging not being available on Android.
  • Vulkan: Fix rare error where garbage structs in pNext chain must be ignored.
  • Vulkan: Fix error with overlay display when displayed texture is type-cast.
  • Vulkan: Fix a crash if a descriptor update template references a layout unused elsewhere.
  • Vulkan: Fix entry points incorrectly being returned from VkG*PA for future core versions not enabled.
  • Vulkan: Fix a potential crash with VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT.
  • Vulkan: Fix a bug looking up matching bindings if vertex input bindings were specified out-of-order.
  • D3D: Fix uint/int texture bindings being swapped in custom visualisation shaders.
  • D3D: Disassemble inner coverage builtins in DXBC bytecode.
  • D3D12: Fix a crash if mesh viewer is opened and closed many times.
  • D3D12: Fix a crash when using new D3D12 barriers and ExecuteIndirect.
  • D3D12: Fix failures when trying to slightly over-allocate on tier 3 descriptor heaps.
  • D3D12: Fix crash when disassembling shaders that use embedded root signatures.
  • D3D12: Fix potential crash with invalid out of bounds GPU addresses, while trying to preserve valid out of bounds GPU addresses.
  • GL: Fixed incorrect replay (and potential driver crash) when using glTexImage* APIs and non-zero UNPACK_ROW_LENGTH.
  • GL: Workaround AMD driver behaviour that creates D3D12 device inside GL swapchains.
  • GL: Don't treat unmaps of persistently mapped read-only buffers incorrectly as writes.

Don't miss a new renderdoc release

NewReleases is sending notifications on new releases.