summaryrefslogtreecommitdiff
path: root/README
blob: c06e8c280802e0fed1dcce42103ac74e699a264f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
=== 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