Skip to content

Releases: GPUOpen-Tools/GPU-Reshape

v0.9.0-beta2

17 Oct 14:14
e1d747a
Compare
Choose a tag to compare

We’re excited to share the release of GPU Reshape Beta 2, hosting a wealth of additions and general improvements. Including, but not limited to:

  • AMD|Waterfall Feature
    A brand new AMD-specific feature that reveals potential performance issues with regards to register indexing.
  • NonUniformResourceIndex Validation
    Validation that descriptor indexing is uniform, or appropriately annotated with NonUniformResourceIndex.
  • Per-Texel/Byte Addressing for Initialization and Concurrency
    Initialization and concurrency tracking now occurs on a per-texel/byte level for resources, greatly improving accuracy.
  • Placed resource validation
    Validation that placed resources have been appropriately initialized before use.
  • Improved Loops TDR detection
    No longer experimental, and features additional safe guarding against TDRs.
  • Multi Device/Process
    Hook multiple graphical devices or entire process trees with ease.
  • Improved shader symbols
    Includes SlimPDB support.
  • Mesh Shader Support
    Full support for existing feature set against mesh shaders.
  • And, of course, bug fixes

You can find out more on our blog.

v0.9.0-beta1

18 Jan 10:43
15a999e
Compare
Choose a tag to compare

This is the initial public release of GPU Reshape, a powerful tool that leverages on-the-fly instrumentation of GPU operations with instruction level validation of potentially undefined behavior.

Standalone desktop application, no integration required.

This release includes the following features:

  • Resource Bounds
    Validation of resource read / write coordinates against its bounds.
  • Export Stability
    Numeric stability validation of floating point exports (UAV writes, render targets, vertex exports), e.g. NaN / Inf.
  • Descriptor Validation
    Validation of descriptors, potentially dynamically indexed. This includes undefined, mismatched (compile-time to runtime), out of bounds descriptor indexing, and missing table bindings.
  • Concurrency Validation
    Validation of resource concurrency, i.e. single-producer or multiple-consumer, between queues and events.
  • Resource Initialization
    Validation of resource initialization, ensures any read was preceded by a write.
  • Infinite Loops
    Detection of infinite loops. Experimental.

Additionally, certain features, such as descriptor validation and loops, can safeguard a potentially erroneous operation, preventing undefined behaviour during instrumentation. This is especially useful if the error would result in a GPU crash, limiting the application’s ability to write out useful debug information of the issue.

You can find out more on our blog.