mesa/src/vulkan/overlay-layer
Pavel Asyutchenko 4374e7fb45 vulkan/overlay: Fix violation of VUID-VkMappedMemoryRange-size-01389
Mapping lentgh must be a multiple of 'nonCoherentAtomSize' bytes
when using VK_WHOLE_SIZE in vkFlushMappedMemoryRanges.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12131>
2021-07-30 11:38:40 +00:00
..
README
TODO
VkLayer_MESA_overlay.json
mesa-overlay-control.py
meson.build
overlay.cpp vulkan/overlay: Fix violation of VUID-VkMappedMemoryRange-size-01389 2021-07-30 11:38:40 +00:00
overlay.frag
overlay.vert
overlay_params.c vulkan/overlay: add new options to display device/swapchain-format 2020-12-15 08:05:38 +00:00
overlay_params.h vulkan/overlay: add new options to display device/swapchain-format 2020-12-15 08:05:38 +00:00

README

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".