Skip to content

Release Notes v0.19

Baldur Karlsson edited this page Feb 26, 2015 · 2 revisions

Release Notes - v0.19

Bugfixes

  • When no log is loaded, several elements in the UI could crash the program, notably the mesh output view. This was the most auto-reported crash, with 24 reports. (#1)
  • Clicking edit for an unbound shader stage would crash. (#15)
  • Loading a saved window layout while a log was open would likely crash. (#14)
  • Loading a window layout with a restored window wouldn't un-maximise, and wouldn't maximise a floating dockwindow.
  • Stencil read/write masks weren't respected in the stencil test overlay.(#9)
  • Passing NULL as the output parameter of a Create function to validate the parameters would crash. (#3)
  • Several crashes inside Create*Shader() with handling of embedded shader source via the _DEBUG compile flag: handling #line directives, symbols on the final line of source, filenames in SPDB chunks without a path separator, SPDB chunks with multiple sections of line numbers. (#4) (#5)
  • Internal shader being compiled referenced a Texture2DMS with 64 bit samples which failed to compile.
  • Speculative fix for a crash when a swapchain fails to successfully return a backbuffer from ::GetBuffer().
  • Crash debugging shaders with the bufinfo opcode (Buffer.GetDimensions), as it was referencing the wrong operand.
  • Return a dummy ID3D11InfoQueue interface to allow application code to silently continue if it expects a pointer, rather than returning E_NOINTERFACE (#7)
  • Catch and handle exception when invalid XML is loaded either via the UI configuration or as a settings file.
  • Avoid crash when FRAPS is loaded at the same time as RenderDoc (#6)
  • Remove confusing error message when loading a log that fails for some reason. Now there are error messages for each problem and they're explicit about what went wrong. (#8)
  • Fix a crash when auto-opening a single capture from a program if a save/delete/etc prompt was still open
  • Speculative fix for running out of window handles by adding some Dispose() calls that were missing in the UI.
  • Fix for capturing 32bit programs from a 64bit install not picking up any capture options.
  • Several uuids like ID3D11DeviceChild, ID3D11Resource, ID3D11View etc would not be handled correctly from QueryInterface leading to unwrapped resources leaking and causing a crash.(#16)
  • Several shader disassembly fixes - disassembling samplepos instruction failed to read a mystery extra DWORD on the end. Custom data class opcodes other than immediate constant buffers are now skipped rather than not being handled at all. (#4)
  • Integer inputs are displayed as integers in the shader debugger. Also implemented switch/case/etc in shader debugging. (#19)
  • Grab the initial contents at the start of a frame of multisampled textures without a corresponding integer format.
  • Fix handling of binding resources for read that are already bound for write - rather than unbinding the write slot, they just bind NULL.
  • Fix a bug with "capture all cmd lists" that causes the capture log to not include any of the command lists that were captured.
  • Try and log errors better and more gracefully handle the case where CreateToolhelp32Snapshot fails and we don't find the remote location of renderdoc.dll in the target process, causing a jump to invalid code.
  • Fix handling of initial 3D texture state saving - the top mip's dimensions were used for copying data out of each mip. (#24)
  • Implement OpenSharedResource for opening resources from elsewhere, as well as querying for DXGI types to get handles to open the resource elsewhere. This code is not well tested as I don't have good test cases for this path. (#22)
  • A couple of other crashes during captures that I can't really explain unless you know the source :).

Improvements/features/additions

  • Add a 'clear' marker to the timeline bar, in grey, to visualise where a texture is cleared in the frame. (#10)
  • Add an option to hide empty marker sections in the event browser and timeline bar. (#11)
  • Add menu option to open the error log to more easily check for problems if they arise.
  • Change the crash handler to include logged managed callstack when the user elects not to include the error log in their report.
  • When a log has no markers and RenderDoc auto-generates some grouping markers, Dispatch calls will be on their own and not mixed with draws, and potentially batched into "Compute Pass #N". (#12)
  • Using a custom visualisation shader, the original and new values are displayed side by side in the status bar.
  • Add support for matrices in the raw buffer format specifier, as well as a few non-hlsl types like unorm & snorm (unorm(f/h/b)=32/16/8bit unsigned normalised) and uintten/unormten (unsigned integer or normalised, packed 10:10:10:2 format). Check the docs for more details. (#17)
  • Pick up buffer formats correctly in the pipeline state viewer. (#18)
  • Add the ability to queue up a specific frame number to capture.(#20)
  • When a frame fails to capture display a message on screen. Also abandon the capture if 5 frames in a row fail. More information is available in the FAQ.
Clone this wiki locally