mesa/src/vulkan/overlay-layer
Rhys Perry d488d0fd7b aco: add framework for testing isel and integration tests
And add some simple tests to demonstrate/test the pipeline builder and
glsl_scraper.py.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Daniel Schürmann <daniel@schuermann.dev>
Acked-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3521>
2020-07-30 16:13:08 +00:00
..
mesa-overlay-control.py vulkan/overlay: Add basic overlay control script. 2019-12-13 20:53:44 +00:00
meson.build aco: add framework for testing isel and integration tests 2020-07-30 16:13:08 +00:00
overlay.cpp vulkan/overlay: fix crash on destroying NULL swapchain 2020-06-25 10:31:50 +00:00
overlay.frag
overlay.vert
overlay_params.c vulkan/overlay: Add a control socket. 2019-12-13 20:53:44 +00:00
overlay_params.h vulkan/overlay: Add a control socket. 2019-12-13 20:53:44 +00:00
README vulkan/overlay: Update docs. 2019-12-13 20:53:44 +00:00
TODO vulkan/overlay: add TODO list 2019-05-02 17:02:57 +01:00
VkLayer_MESA_overlay.json vulkan/overlay: install layer binary in libdir 2019-02-27 11:45:42 +00:00

A Vulkan layer to display information about the running application
using an overlay.

To turn on the layer run :

VK_INSTANCE_LAYERS=VK_LAYER_MESA_overlay /path/to/my_vulkan_app

List the available statistics :

VK_INSTANCE_LAYERS=VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG=help /path/to/my_vulkan_app

Turn on some statistics :
VK_INSTANCE_LAYERS=VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG=submit,draw,pipeline_graphics /path/to/my_vulkan_app

Position the layer :

VK_INSTANCE_LAYERS=VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG=submit,draw,pipeline_graphics,position=top-right /path/to/my_vulkan_app

Dump statistics into a file:

VK_INSTANCE_LAYERS=VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG=position=top-right,output_file=/tmp/output.txt /path/to/my_vulkan_app

Dump statistics into a file, controlling when such statistics will start
to be captured:

VK_INSTANCE_LAYERS=VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG=position=top-right,output_file=/tmp/output.txt,control=mesa_overlay /path/to/my_vulkan_app

The above command will open a unix socket with abstract path
'mesa_overlay'.  Once a client connects to the socket, the overlay layer
will immediately send the following commands to the client:

:MesaOverlayControlVersion=1;
:DeviceName=<device name>;
:MesaVersion=<mesa version>;

The client connected to the overlay layer can enable statistics
capturing by sending the command:

:capture=1;

And disable it by emitting

:capture=0;

By default, capture is enabled when an output_file is specified, but it
will be disabled by default when a control socket is in use. In the
latter case, it needs to be explicitly enabled through the sockets, by
using the commands above.

The provided script overlay-control.py can be used to start/stop
capture. The --path option can be used to specify the socket path. By
default, it will try to connect to a path named "mesa_overlay".