1

tu: Implement VK_AMD_buffer_marker to support Graphics Flight Recorder

 2 years ago
source link: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13553
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

tu: Implement VK_AMD_buffer_marker to support Graphics Flight Recorder

Graphics Flight Recorder is:

The Graphics Flight Recorder (GFR) is a Vulkan layer to help trackdown and identify the cause of GPU hangs and crashes. It works by instrumenting command buffers with completion tags.

See https://github.com/googlestadia/gfr

This is a nice little tool which could help quickly identify the call which hanged. Or if command buffer is executed for too long.

The tiling nature of our GPU shouldn't be a big issue aside from lower performance.

For non-segfault case, if:

  • Hang happens at the same place in cmdbuf and draw/dispatch is not finished at that point - it is likely that there is an infinite loop in some of the shaders in this draw.
  • Hang happens always in different place - likely there is nothing wrong and command buffer just takes too long to execute and you should try increasing hangcheck_period_ms. If it doesn't help it is likely a synchronization issue.

:warning: At the moment GFR unintentionally unconditionally requires VK_AMD_device_coherent_memory (https://github.com/googlestadia/gfr/issues/5), which should be patched out in order to use it on Turnip.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK