=== What === vkpipeline-db is quite similar to shader-db, but for Vulkan. It allows to capture graphics and compute pipelines (including shaders and states) and to replay them in order to get shader stats. Currently vkpipeline-db can only report shader stats if VK_AMD_shader_info is exposed by the underlying Vulkan driver. === Compiling === $ mkdir build $ cd build $ cmake .. $ make === Capturing shaders === One component of vkpipeline-db is a Vulkan layer that allows to capture pipelines. # Set up the layer $ export VK_LAYER_PATH=$VK_LAYER_PATH:directory_of_VkLayer_vkpipeline_db.json $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:directory_of_libVkLayer_vkpipeline_db.so $ export VK_INSTANCE_LAYERS=VK_LAYER_vkpipeline_db # Create directory for pipeline files $ mkdir dirpath # Set up the pipeline capture directory. $ export VKPIPELINE_DB_CAPTURE_PATH=dirpath # Run your application $ yourapp All captured pipelines should be in 'dirpath'. === Running shaders === $ ./run dirpath === Analysis === $ ./radv-report.py old-run new-run