It’s only been a short while since we first released Aftermath to the public; and since then, Aftermath has helped approximately 1000 developers world-wide debug GPU crashes in their applications, on both, DirectX 11 and DirectX 12. Already, Aftermath has successfully shipped in dozens of games, and is being used by developers to gain more insight into why their applications are crashing in the wild – something previously impossible (in fact, any insight what so ever was previously impossible).

Given the positive response we’ve had from the GeForce developer community, we’ve been hard at work coming up with ways to improve Aftermath, and ways to get more back from the GPU after it has crashed. Enter Aftermath 1.3.

The full release notes are available below – but here are the highlights:

  • It’s no longer a requirement to rename your application to “NvAftermath-Enable.exe”, or for you to contact us, so we can enable your application to ship with Aftermath – it just works out of the box!
  • More insight into page faults, namely, resource tracking. In the event of a page fault, now Aftermath can be used to return information about the resource (textures, buffers, etc…) that falls within the faulting address range.
  • The minimum supported driver version has been updated, 387.92 at the time of writing this.

Stay tuned for future updates, there’s more to come yet from the v1.3 release cycle!

Get the latest Aftermath here

--- RELEASE NOTES (version 1.3) ---
Features:
    - Added ability to get more information back from GPU in event of page fault - GFSDK_Aftermath_GetPageFaultInformation.
    - Renamed GFSDK_Aftermath_Status to GFSDK_Aftermath_Device_Status - to avoid confusion with GFSDK_Aftermath_Context_Status.
    - Removing VC Runtime dependency (static linked) from non-UWP DLL (still required for UWP).
    - Increased minimum supported driver version to 387.xx
    - Separated GetData from GetDeviceState - so GetDeviceState can be polled without worrying about performance.
    - Updated how to instructions in header.
    - Added APIs to associate a commandlists/deviceContexts with Aftermath (GFSDK_Aftermath_DXxx_CreateContextHandle). 
       - Provides a nice CPU perf boost, as no longer need to lookup the internal Aftermath context.
       - Simplifies following entrypoints, removing the per DX version ones.
      
Bugs:
    - API - Unable to export demangled, GFSDK_Aftermath_ContextData::getErrorCode() - now implemented in header.
    - Crash - Crash occured if calling SetEventMarker on a command list after resetting the allocator.
    - API - SetEventMarker now accepts a const void* - previously just a void*.
    - Functionality - D3D12 bundles previously didn't work if the bundle was "baked" (contained 4 or more draws).
 
Performance:
    - Siginificantly reduced memory footprint of D3D12 "baked" bundles.
    - Increased the CPU performance of Aftermath for D3D11 and D3D12.