VulkanSyncGraph icon indicating copy to clipboard operation
VulkanSyncGraph copied to clipboard

Vulkan debug layer to visualize synchronization dependencies

Vulkan Sync Graph

Donate

Suported Platforms

  • Windows 10 (with MSVC 2019)

Building

Generate project with CMake and build.
Required C++17 standard support.

How to use

Explicit layer

Add DWORD value <binary_dir>\VK_LAYER_AZ_sync_analyzer.json into HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers.
Add instance layer VK_LAYER_AZ_sync_analyzer when creating instance.
Press F11 to capture some frames.

Implicit layer

Add DWORD value <binary_dir>\VK_LAYER_AZ_sync_analyzer.json into HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers.
Add environment variable ENABLE_VK_LAYER_AZ_sync_analyzer_1 with value 1.
Run vulkan application (game) and press F11 to capture some frames.

Roadmap

Visualization:

  • [x] Visualize CPU-GPU synchronizations
  • [x] Visualize synchronizations with VkSemaphore
  • [ ] Visualize pipeline barriers
  • [ ] Measure CPU time
  • [ ] Measure GPU time

Examples

Sample
image
Rage 2
image
Wolfenshtain II
image