protonscr

Request: support for VulkanAfterCrash.h? or coming this month NV AfterMath 2.0?

dxvkclosed enhancementwontfix
doitsujin/dxvk#233 · opened 2018-04-02 by oscarbg · updated 2018-07-20 · 1 comments · github
Ooscarbg 2018-04-02 github

Hi,
don't know if may be useful for this project as most bugs seems to be catched either at runtime by validation layers or at compile time by SPIR-V tools..
anyway in case you don't read the news seems an AMD engineer has released a much similar to Nvidia Aftermath lib a Vulkan "after crash" as open source header and that says works for both Nvidia and AMD GPUs and should also work on Windows and Linux..

EDIT:
http://asawicki.info/news_1677_debugging_vulkan_driver_crash_-_equivalent_of_nvidia_aftermath.html
https://github.com/sawickiap/MISC/blob/master/VulkanAfterCrash.h

also seeing new GDC Vault Nvidia Aftermath talk seems this month is coming AfterMath 2.0 with added Vulkan support (and Linux too)..
it will be via new Vulkan ext. "vk_nv_device_diagnostic_checkpoints" with new functions like vkcmdsetcheckpoint
perhaps @pdaniell-nv can hint us if it can be useful to integrate support of this library for this project..

Ddoitsujin maintainer 2018-04-07 github

While this does sound somewhat useful to narrow down driver issues or GPU hangs, I don't see how this could be integrated without

  • a) effectively rewriting apitrace to record the executed commands and the full graphics/compute state (i.e. which shaders were active, which resources were bound, etc.) - there needs to be some way to translate the markers back to something useful that can be evaluated, but it would be an insane amount of work.
  • b) mixing tons of debug code with non-debug code and negatively affecting performance.

In case of RADV, RADV_DEBUG can be used to debug GPU hangs, vmfaults etc. somewhat effectively, not sure if there are similar ways to achieve this on Nvidia.

While this might sound like a great idea, I don't think it's worth the effort.

Launch options