Version v0.92
This release is a roll-up of all fixes to the v0.x branch since v0.91. Now that it has been fully retired, there will be no more changes on the v0.x branch. You are recommended to update to v1.0 as soon as possible, this is only here for any legacy reasons.
Binaries for this release are up on the downloads page for Windows and x64 linux as a binary tarball.
Smaller Features/Improvements
- Change home vulkan layer path to use $XDG_DATA_HOME if present.
- When editing a shader, the mesh output now updates correctly to reflect the changes.
- Added hooking for CreateProcessAsUser and CreateProcessWithLogon used by some browsers to change privileges in child processes.
- Speed up linux process connection to connect as soon as possible and apply any queued commands.
Bugfixes
- Add handling for min10float and min16float precision values in DXBC bytecode.
- Fix implementation of round_ne in D3D shader debugging
- When binding a buffer SRV with no format to a
Buffer<float4>
fetch type info from shader. - Ensure texture overlay updates when selecting a different texture.
- Use glXGetProcAddress to fetch glXCreateContextAttribsARB, fixes problems on some linux systems.
- Only unwrap values in VkDescriptorImageInfo that are actually used - if sampler is unused, don't unwrap possible garbage.
- If we can't create a sRGB capable framebuffer config on GLX, fallback to non-SRGB and warn the user.
- Fix incorrect replay of Vulkan secondary command buffers that are executed in more than one primary command buffer.
- Add an equivalent framebuffer for every internal vulkan renderpass that requires strict compatibility.
- Fix vulkan crash when serialising changes to a map that was created with a memory offset, and was accidentally offset twice.
- Fix some cases where dangling references would be left on a D3D swapchain after use if it was still bound to the pipeline, and then couldn't be resized.
- Fix texture remapping on vulkan for saving 3D texture slices.
- Ensure we round upwards when selecting which event to replay from in an ambiguous situation, fixes a crash on Vulkan.
- Fix exponential slowdown when applying initial contents of a vulkan array image.
- Fetch dispatch thread dimension even if not disassembling, fixes a problem dispatching compute shaders claiming valid thread IDs are out of bounds.
- Correct VK_KHR_get_memory_requirements2 being marked mistakenly as an instance extension.
- Fix a problem on mesa copying between GL_RGBA and GL_RGBA8 textures.
- Fix a check for whether a drawcall was inside a renderpass that broke on secondary command buffers.
- Don't execute occlusion query or pipeline statistics queries on vulkan when not needed to fetch counters.
- Fix tracking of dynamic offsets when binding multiple descriptor sets
- Fix histogram/minmax calculation and mip-level display on 3D textures.
- Fix a problem opening captures over 2GB in size on windows.
- Don't display unused bindings in vulkan that overlap with used bindings.
- Fix a backwards comparison that would strip away device extensions on vulkan when replaying.
- Fix a potential crash in
glVertexArrayVertexBuffers
if an optionalNULL
array is passed. - Fix some crashes around handling of
D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL
andD3D11_KEEP_UNORDERED_ACCESS_VIEWS
. - Align thumbnails to 4-pixel multiples to avoid corruption on GL.
- Don't multiply mesh output size required by number of instances twice on GL.
- Clear the D3D11 immediate context state immediately before executing a command list so that state doesn't leak in incorrectly.
- Fix calculation of mip data size when proxy-replaying for a remote context.
- Fix an unusual case where a dll filename containing the substring 'renderdoc.dll' could interfere with the injection process on windows.
- Fix as crash if a D3D12 descriptor that used a NULL description struct to initialise also ended up with a NULL resource on replay.
- Ensure multi-plane resource descriptors on D3D12 are valid on replay.
- Fixed some cases where remapping physical devices between capture and replay wouldn't match up if the number of devices changed.
- Handle vulkan base pipelines correctly by creating dependencies from the base to the created pipeline.
- Add a large padding to memory requirements on AMD as the memory requirements can change between capture and replay at random.
- Fix emulation of glMapNamedBuffer passing the wrong map flags.
- Fix crashes when using Intel's DX11 extensions
- Fix the sampler register use in gather4_po_c in D3D shader debugging.
- Check for ARB_texture_storage in CopyTex2DMSToArray as we need it for ARB_texture_view.
- Handle
NULL
being passed toglClear*Buffer
andglClear*Tex
meaning just zero values. - Handle fetching mesh output data on GL if the application was already using transform feedback at the time of the draw.
- Fix some edge cases where different optimisation of GL programs could create incompatible uniform remapping tables.
- Account for UAV mip slice specified in descriptor when fetching 2D texture data for D3D shader debugging.
- Add an intermediate resolve to a temporary buffer to allow for format conversion, since technically resolve does not allow format conversion of any kind.
- Fix image viewing with GL as the local replay API on linux.
- Fix implementation of firstbit_(s)hi for D3D shader debugging.
- Fix GLSL shader editing with multiple shader sources.
- Handle negative viewport height when calculating aspect ratio in vulkan mesh viewer.
- Handle multi-dimensional arrays in input/output variables when disassembling SPIR-V.
- Ensure that D3D11 debug manager is available on capture even if running headless with no swapchains.
- When opening buffer viewers for index/vertex buffers bound to the pipeline, calculate the right byte offset for the index width.