• Home
  • Raw
  • Download

Lines Matching +full:vulkan +full:- +full:layers

1 <!-- markdownlint-disable MD041 -->
2 [![Khronos Vulkan][1]][2]
4 [1]: https://vulkan.lunarg.com/img/Vulkan_100px_Dec16.png "https://www.khronos.org/vulkan/"
5 [2]: https://www.khronos.org/vulkan/
7 # Debugging The Vulkan Desktop Loader <!-- omit from toc -->
10 <!-- Copyright &copy; 2015-2023 LunarG, Inc. -->
12 [3]: https://i.creativecommons.org/l/by-nd/4.0/88x31.png "Creative Commons License"
13 [4]: https://creativecommons.org/licenses/by-nd/4.0/
14 ## Table of Contents <!-- omit from toc -->
16 - [Debugging Issues](#debugging-issues)
17 - [Loader Logging](#loader-logging)
18 - [Debugging Possible Layer Issues](#debugging-possible-layer-issues)
19 - [Enable Layer Logging](#enable-layer-logging)
20 - [Disable Layers](#disable-layers)
21 - [Selectively Re-enable Layers](#selectively-re-enable-layers)
22 - [Allow specific layers to be ignored by VK\_LOADER\_LAYERS\_DISABLE](#allow-specific-layers-to-be
23 - [Debugging Possible Driver Issues](#debugging-possible-driver-issues)
24 - [Enable Driver Logging](#enable-driver-logging)
25 - [Selectively Enable Specific Drivers](#selectively-enable-specific-drivers)
32 **NOTE**: This functionality is all specific to the desktop Vulkan loader and
37 The Vulkan desktop loader has added logging functionality that can be enabled by
41 The variable can be set to a comma-delimited list of debug level options which
48 * info&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Report info-level
50 * debug&nbsp;&nbsp;&nbsp;&nbsp;Report debug-level messages generated by the
52 * layer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Report all layer-specific messages
54 * driver&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Report all driver-specific messages
70 [Enable Loader Debug Layer Output](LoaderApplicationInterface.md#enable-loader-debug-layer-output)
72 [Table of Debug Environment Variables](LoaderInterfaceArchitecture.md#table-of-debug-environment-va…
87 but this will provide more layer-specific info as well such as:
88 * What layers are found
93 * The layer library is the wrong bit-depth for the executing application
94 (i.e. 32-bit vs 64-bit)
95 * The layer itself doesn't support the application desired version of Vulkan
96 * If any environment variables are disabling any layers
98 For example, the output of the loader looking for implicit layers may look like
104 LAYER: /home/${USER}/.config/vulkan/implicit_layer.d
105 LAYER: /etc/xdg/vulkan/implicit_layer.d
106 LAYER: /usr/local/etc/vulkan/implicit_layer.d
107 LAYER: /etc/vulkan/implicit_layer.d
108 LAYER: /home/${USER}/.local/share/vulkan/implicit_layer.d
109 LAYER: /home/${USER}/.local/share/flatpak/exports/share/vulkan/implicit_layer.d
110 LAYER: /var/lib/flatpak/exports/share/vulkan/implicit_layer.d
111 LAYER: /usr/local/share/vulkan/implicit_layer.d
112 LAYER: /usr/share/vulkan/implicit_layer.d
114 LAYER: /home/${USER}/.local/share/vulkan/implicit_layer.d/renderdoc_capture.json
115 LAYER: /home/${USER}/.local/share/vulkan/implicit_layer.d/steamfossilize_i386.json
116 LAYER: /home/${USER}/.local/share/vulkan/implicit_layer.d/steamfossilize_x86_64.json
117 LAYER: /home/${USER}/.local/share/vulkan/implicit_layer.d/steamoverlay_i386.json
118 LAYER: /home/${USER}/.local/share/vulkan/implicit_layer.d/steamoverlay_x86_64.json
119 LAYER: /usr/share/vulkan/implicit_layer.d/nvidia_layers.json
120 LAYER: /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json
132 Finally, when the Vulkan instance is created, you can see the full instance
133 call-chain from a functional standpoint with output like this:
144 LAYER: Manifest: /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json
149 LAYER: Manifest: /usr/share/vulkan/explicit_layer.d/VkLayer_khronos_validation.json
155 In this scenario, two layers were used (the same two that were loaded earlier):
167 ### Disable Layers
170 1.3.234 of the Vulkan headers and later.
172 Sometimes, implicit layers can cause issues with an application.
174 implicit layers.
177 or disable various layers.
178 If you're not sure what to do, try disabling all implicit layers manually by
185 This will disable all implicit layers and the loader will report any disabled
186 layers to the logging output when layer logging is enabled in the following way:
194 ### Selectively Re-enable Layers
197 1.3.234 of the Vulkan headers and later.
199 When trying to diagnose problems caused by layers, it is useful to first disable
200 all layers and re-enable each layer individually.
204 For example, from the above given list of disabled layers, let’s selectively
205 re-enable one:
213 "VK_LAYER_Twitch_Overlay" layers disabled, while enabling the
227 [Layer Filtering](LoaderLayerInterface.md#layer-filtering) section of the
230 ## Allow specific layers to be ignored by VK_LOADER_LAYERS_DISABLE
233 1.3.262 of the Vulkan headers and later.
235 When using `VK_LOADER_LAYERS_DISABLE` to disable implicit layers, it is possible
236 to allow specific layers to be enabled using `VK_LOADER_LAYERS_ENABLE`.
237 However, this has the effect of *forcing* layers to be enabled, which is not
239 Implicit layers have the ability to only be enabled when a layer specified
250 this allows for implicit layers that are context dependent to be enabled
253 Example: Disable all implicit layers except for any layers that have steam or
265 1.3.234 of the Vulkan headers and later.
275 but this will provide more driver-specific info as well such as:
288 DRIVER: /home/$(USER)/.config/vulkan/icd.d
289 DRIVER: /etc/xdg/vulkan/icd.d
290 DRIVER: /etc/vulkan/icd.d
291 DRIVER: /home/$(USER)/.local/share/vulkan/icd.d
292 DRIVER: /home/$(USER)/.local/share/flatpak/exports/share/vulkan/icd.d
293 DRIVER: /var/lib/flatpak/exports/share/vulkan/icd.d
294 DRIVER: /usr/local/share/vulkan/icd.d
295 DRIVER: /usr/share/vulkan/icd.d
297 DRIVER: /usr/share/vulkan/icd.d/intel_icd.x86_64.json
298 DRIVER: /usr/share/vulkan/icd.d/lvp_icd.x86_64.json
299 DRIVER: /usr/share/vulkan/icd.d/radeon_icd.x86_64.json
300 DRIVER: /usr/share/vulkan/icd.d/lvp_icd.i686.json
301 DRIVER: /usr/share/vulkan/icd.d/radeon_icd.i686.json
302 DRIVER: /usr/share/vulkan/icd.d/intel_icd.i686.json
303 DRIVER: /usr/share/vulkan/icd.d/nvidia_icd.json
304 DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/intel_icd.x86_64.json, version "1.0.0"
305 DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/lvp_icd.x86_64.json, version "1.0.0"
306 DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/radeon_icd.x86_64.json, version "1.0.0"
307 DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/lvp_icd.i686.json, version "1.0.0"
308 DRIVER: Requested driver /usr/lib/libvulkan_lvp.so was wrong bit-type. Ignoring this JSON
309 DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/radeon_icd.i686.json, version "1.0.0"
310 DRIVER: Requested driver /usr/lib/libvulkan_radeon.so was wrong bit-type. Ignoring this JSON
311 DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/intel_icd.i686.json, version "1.0.0"
312 DRIVER: Requested driver /usr/lib/libvulkan_intel.so was wrong bit-type. Ignoring this JSON
313 DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/nvidia_icd.json, version "1.0.0"
316 Then when the application selects the device to use, you will see the Vulkan
334 1.3.234 of the Vulkan headers and later.
341 known to the loader until much later in the Vulkan initialization process.
359 [Driver Filtering](LoaderDriverInterface.md#driver-filtering) section of the