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
|