Skip to content

Version v1.21

Compare
Choose a tag to compare
@baldurk baldurk released this 28 Jul 16:51
· 1840 commits to v1.x since this release
v1.21
98a9340

Version v1.21

This release is primarily maintenance and bug fixing, as well as some small quality of life improvements.

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

Python API changes

  • No breaking changes.

Features/Improvements

  • UI: Highlight the current event in the texture viewer context menu that shows resource usage.
  • UI: Improve handling of source-level shader debugging breakpoints.
  • All: Show status in mesh viewer when geometry data is not available, e.g. when using multiview and geometry/tessellation on vulkan.
  • All: Tweaked the in-program overlay to be more readable and better organised, especially around multiple windows.
  • All: Handle applications that don't create any graphics-compatible queues on Vulkan or D3D12 to still be able to capture and replay correctly.
  • Vulkan: Improve the clarity of error messages for incompatible captures, showing the reason for the incompatibility and what device was captured on and replayed on.
  • Vulkan: Implemented tracking of printf statements from geometry shaders.
  • Vulkan: Allow buffer format re-interpreting of push constants.
  • OpenGL: Display the 'intuitive' state of face culling winding, rather than strictly following enums (e.g. when clip origin is non-default, GL_CCW frontface means that clockwise wound polygons are front-facing).

Bugfixes

  • UI: When exporting events from event browser, fix column alignment of event column.
  • UI: Fix an issue locating cbuffer values in the shader debugger when they are used without cbuffer namespace.
  • UI: Ignore whitespace in variable expressions (e.g. struct_var . member) for showing variable tooltips.
  • UI: Fix incorrect data being shown for pages after the first in large buffers.
  • UI: Fix calculation of mip-map co-ordinates for small mips of NPOT textures.
  • UI: Fix panning in arcball controls in mesh view.
  • Windows: Don't allow enabling global hook if short paths are disabled on a given drive.
  • Vulkan: Don't generate an empty source file when an OpSource is encountered with no source, only a language (and/or filename).
  • Vulkan: Fix shader debugging being wrong when constant offsets are provided to image load or sample operations.
  • Vulkan: Fix editing compute shaders not properly remapping entry point name if it changes.
  • Vulkan: Fix a potential error if a command pool is reset while a command buffer is mid-record, and the command buffer is then subsequently recorded again.
  • Vulkan: Fix an issue incorrectly inheriting state from the wrong libraries when using EXT_graphics_pipeline_library.
  • Vulkan: Fix a problem where dynamic rendering state was applied incorrectly in overlays and fetching geometry output.
  • Vulkan: Fix incorrect shader debugging when using arrays of uniform buffer objects.
  • Vulkan: Fix a problem where all features of EXT_extended_dynamic_state would be used if any of them are enabled/supported.
  • Vulkan: Add workaround for Intel windows issue where occlusion queries would not work when used in the pixel history, leading to missing entries.
  • Vulkan: Fix handling of dynamic rasterizer discard not properly ignoring pipeline state set value.
  • Vulkan: Fix incorrect reading of 64-bit values when fetching vertex output data.
  • Vulkan: Fix shader debugging not handling bitcasts between vector and scalar.
  • Vulkan: Use the correct load/store action for stencil with dynamic rendering.
  • Vulkan: Fix Vulkan crash when viewing NV12 in TextureViewer.
  • Vulkan: Fix reflection of multi-dimensional arrays of matrices.
  • Vulkan: Fix detection of buffer packing rules for tightly-packed float3 arrays, which is not valid std430.
  • Vulkan: Handle state changes on the very first event in a command buffer.
  • Vulkan: Fix a bug when using dynamic rendering within secondary command buffers.
  • Vulkan: Fix some issues with buffer formatting of GPU pointers.
  • OpenGL: Fix a potential problem when loading a GLES capture on windows where the wrong set of extensions would be queried.
  • OpenGL: Ensure depth bounds state does not affect overlay rendering.
  • OpenGL: Fix incorrect handling of GL shader include strings.
  • D3D12: Fix a problem where DENY_SHADER_RESOURCE flag was not removed from all possible ways of creating resources.
  • D3D12: Handle renderpass resolve actions properly.
  • D3D12: Make the error message for fetching counters without enabling the artificial "developer mode" more clear.
  • D3D11: Work around an nvidia driver bug copying from >2GB buffers by treating this case as out-of-memory.
  • D3D11: Use bytes generated rather than primitives generated for DrawAuto implementation.