Version v1.22
Version v1.22
This release contains some support for a few new vulkan extensions as well as bug fixes.
As always binary releases are available on renderdoc.org with zip and installer for Windows and binary tarball for linux.
Python API changes
- The
KnownShaderTool
has moved from theqrenderdoc
module to therenderdoc
module. CaptureContext.EditShader
takes an additional parameterKnownShaderTool knownTool
which indicates the tool that should be preferred for compilation by default, if known.PipeState.IsStripRestartEnabled
andPipeState.GetStripRestartIndex
have been renamed toIsRestartEnabled
andGetRestartIndex
and theSupportsRestart
helper has been removed, since primitive restart is supported on non-strip topologies on many APIs and will now be reported through it being enabled or not.ShaderDebugState
no longer contains a list ofsourceVars
, this is now available as a per-instruction list in theinstInfo
which is renamed fromlineInfo
in theShaderDebugTrace
. SimilarlyLineColumnInfo
has been renamed toInstructionSourceInfo
.
Features/Improvements
- UI: Improved the highlighting of changed variables when stepping/running in the shader debugger.
- OpenGL: When capture is unsupported on a running program, display the reason why in the connection window as well as in the overlay text.
- OpenGL: Show bicubic filtering functions in pipeline state viewer.
- OpenGL: Replay multisampled backbuffers on OpenGL ES.
- D3D: Display magic quality values better in texture viewer status bar.
- D3D12: Improve performance for adding patterns into discarded resources.
- Vulkan: On fastest replay optimisation level don't override renderpass load ops.
- Vulkan: Optimise contiguous bindings of sparse pages in buffers before passing to the driver.
- Vulkan: Add support for extensions:
VK_EXT_attachment_feedback_loop_layout
VK_EXT_primitive_topology_list_restart
VK_EXT_primitives_generated_query
VK_EXT_depth_clip_control
VK_EXT_multisampled_render_to_single_sampled
Bugfixes
- All: Calculate index buffer size accurately accounting for byte offset.
- All: Fix the summation of event durations for fake added marker regions.
- All: Fix a potential crash when opening corrupted captures.
- UI: When displaying textures as buffers don't add
[[row_major]]
for non-matrix formats. - UI: Fix buffer viewer not properly showing fixed (non-repeating) data over 10kB.
- UI: Fix buffer viewer export not being limited to the specified range but exporting the whole size of the buffer.
- D3D: Fix shader debugging with integer texture sampling operations.
- D3D12: Fix a crash if descriptor indexing accessed an out of bounds descriptor.
- D3D12: Fix problem identifying bindings in 'arrays' in pipeline state.
- D3D12: Fix a crash when using resolve attachments in render passes.
- D3D12: Report AMD's UAVBindSlot feature as supported in AGS.
- Vulkan: Fix shader source not being visible if no filename was provided.
- Vulkan: Fix a potential crash when the memory backing BDA buffers is freed without the buffer being destroyed.
- Vulkan: Fix duplicate
vkQueueSubmit2
events being displayed when no command buffers are submitted. - Vulkan: Fix a bug with arrayed descriptors of dynamic buffers not counting the number of dynamic offsets correctly.
- Vulkan: Handle extended dynamic state extensions that were implicitly promoted in 1.3.
- Vulkan: Fix a crash parsing IDs after longer entry point names.
- Vulkan: Fix a problem where shader debugging would be wrong if an
OpAccessChain
only dereferenced a global binding array. - Vulkan: Fix a case where shader debugging would display unknown pointers after stepping backwards.
- Vulkan: Fix a case where resources that are fully overwritten after being referenced in a descriptor set would not properly have their contents replayed.
- Vulkan: Fix sparse buffers not correctly having contents saved and restored.
- Vulkan: Fix a bug where promoted extensions wouldn't properly be considered enabled if only a core version were used and zero extensions were enabled.
- OpenGL: Fix a crash on Intel drivers when capturing GL programs.
- Android: Work around an Android OS bug causing invalid library loads.