github baldurk/renderdoc v1.19
Version v1.19

latest releases: v1.35, v1.34, v1.33...
2 years ago

Version v1.19

This release has a few new quality of life features as well as a number of bug reports following up from release v1.18.

Binary releases are available on renderdoc.org with zip and installer for Windows and binary tarball for linux.

Main Highlights

  • Custom visualisation shaders have been refactored to be more portable and re-usable between APIs. Existing custom shaders will continue to work without modification, however it's recommended that you consult the documentation and/or new custom shader templates, to see how macros are now used to abstract around different binding models. This means a newly written HLSL custom shader should work both for D3D11/D3D12 as well as HLSL on Vulkan without modification.

  • The location breadcrumbs in the event browser now has an edit button to edit the 'path' as a text string. This can also be copy-pasted like a URL to jump to a known location in a new capture, or share a location with someone else making captures without needing to share a capture containing bookmarks.
    image

    image

    image

  • GL programs that use unsupported functions will now be explicitly disabled from capture. This also applies to unsupported extensions, as it seems to be common among GL programs to not correctly check for which extensions are supported when running.

    This only applies to if these functions are called at all. If they are queried but never called, this restriction will not apply.

    image

Python API changes

  • renderdoc.BecomeRemoteServer now accepts a port parameter, which can be set to 0 to listen on the default port.

Features/Improvements

  • UI: Display KHR_depth_stencil_resolve attachment in vulkan pipeline state viewer.
  • UI: When right clicking on captures in the connection panel show an option to rename the capture.
  • UI: When connecting to an existing instance of a captured program, don't display captures which have been deleted since they were made.
  • All: The shader debugger now allows displaying watch variables with a colour swatch showing the colour for floating point values. Watch variables may now refer to structs and other complex types, and when some struct members are not available at the current step they will show the previous known values.
  • All: On remote host replay, only fetch multisampled texture samples lazily when needed to display. Thumbnails display only sample 0 instead of all samples resolved.
  • All: Remote host servers can now specify a custom port to listen on, which is specified in the UI with hostname:12345, which allows multiple independent replays on a single host. Note that these remote hosts in the UI
  • D3D12: Added support for SM6.6 direct heap access display in the pipeline state view. Since minimal debug information exists for these accesses, only raw heap indices are shown for the resources.
  • Windows: When LaunchReplayUI is called from the in-application API, the UI process will no longer inherit handles from the captured process.
  • Windows: Use _NT_SYMBOL_PATH where available as search path for callstacks.
  • Linux: Fatal errors during startup such as e.g. running under wayland are printed to stderr.
  • Vulkan: In shader printf statements show the view index as part of the location.
  • Vulkan: Add support for VK_KHR_fragment_shading_rate, VK_QCOM_render_pass_shader_resolve and VK_QCOM_fragment_density_map_offset.
  • Vulkan: Implement support for separate shader debug blobs from magic value tags.
  • Vulkan: Add support for multiple presents at once in one call to vkQueuePresentKHR
  • Vulkan: Optimised readback of MSAA textures on some mobile GPUs.

Bugfixes

  • All: Fix an issue where the pixel context view would be incorrect when using custom display shaders.
  • All: Fix issues with pipeline-based disassembly information not updating when shaders are edited.
  • All: Fix a case where fatal errors like device lost or out of memory would not be properly reported when first loading a capture.
  • All: Fix a potential crash on device lost if it happened in early initialisation.
  • UI: Fix some issues with scrollbars being inconsistent with zoom and pan in texture viewer.
  • UI: Don't reset focus when changing values in the compute debug thread selector.
  • UI: Fix multiple shader debug search paths being lost when closing the UI.
  • UI: Fix a crash in the UI when Qt accessibility features are enabled.
  • UI: Fix an out-of-order error that caused the texture viewer histogram to lag behind until refreshed when using custom shaders.
  • Vulkan: Fix fatal error detection and handling.
  • Vulkan: Treat failed memory maps as fatal errors.
  • Vulkan: Fix an object leak when displaying textures with custom display shaders.
  • Vulkan: Demote reported driver version for 1.3 vulkan drivers that don't support bufferDeviceAddressCaptureReplay.
  • Vulkan: Fix core version check on physical devices, which could potentially cause a crash on 1.3 drivers when application doesn't use 1.3.
  • Vulkan: Fix handling of non-32bit types in shader debugging and data display. In particular this affected half types.
  • Vulkan: Fix a potential driver/GPU timeout applying discard patterns to very large textures.
  • Vulkan: Fix a number of validation issues identified.
  • Vulkan: Fix VkCommandBufferInheritanceRenderingInfo::flags being incorrectly serialised.
  • Vulkan: Handle KHR_dynamic_rendering inheritance into secondary command buffers.
  • Vulkan: Fix dynamic vertex inputs from VK_EXT_vertex_input_dynamic_state not being propagated properly.
  • Vulkan: Fix a crash when using VK_KHR_dynamic_rendering_info with DONT_CARE load ops.
  • D3D: Fix debugging of shaders with multiple switch statements
  • D3D: Fix recursion check when hooking creation functions to be thread-local instead of global. Caused multithreaded D3D device creation to sometimes fail to hook properly.
  • D3D11: When no sampler object is bound to a used sampler state, show correct default values in pipeline state.
  • D3D12: Fix debugging shaders where the root signature denies access to pixel shaders.
  • D3D12: Disable dxil.dll validator entirely as it crashes on valid code (previously it was only on for debug-only builds).
  • D3D12: Fix handling of empty structs in DXIL editing.
  • D3D12: Fix a race condition with threads evicting resources while RenderDoc is working on them.
  • D3D12: Handle unspec'd difference in behaviour from mesa's DXIL emitter.
  • D3D12: Fix large sampler heaps corrupting the filter parameter in the 'resource initialisation parameters' view.
  • GL: Fix handling of extension function hooks in EGL.
  • GL: Add hooked implementation of wglMakeContextCurrentARB
  • GL: When bound objects like buffers or VAOs are deleted, don't leave dangling pointers.

Don't miss a new renderdoc release

NewReleases is sending notifications on new releases.