Skip to content
This repository has been archived by the owner on Nov 28, 2020. It is now read-only.

azhirnov/vkTraceConverter

Repository files navigation

vkTraceConverter

Work in progress.

On input takes vktrace file.
On output can produce:

  • C++ code with raw Vulkan API calls.
  • optimized trace for Vulkan API calls.
  • trace for Vulkan-EZ (somewhen)
  • trace for OpenGL 4.6 API calls. (somewhen)
  • trace for FrameGraph API calls. (WIP)
  • graphviz dot file or png.

Features:

  • device and swapchain creation overrided for portability.
  • memory allocation overrided for portability.
  • indirect swapchain add ability to resize window.

Also see console application examples here.

Building

Generate project with CMake and build.
Required C++17 standard support.
All required dependencies will be downloaded at build time, as cmake external project.

Dependencies:
Vulkan-Headers - required for vktrace.
Vulkan-Loader - required for vktrace.
glslang - required for Vulkan-ValidationLayers.
Vulkan-ValidationLayers - required for vktrace.
Vulkan-Tools - required for vktrace.
LunarG VulkanTools - required, only for vktrace headers.
FrameGraph - only VulkanLoader and Framework projects are required + their dependencies.
brotli - optional, for trace and data compression.
graphviz - (optional) must be installed for converting .dot to .png/.pdf/other