1################################################################################
2#
3#  This file contains per-layer settings that configure layer behavior at
4#  execution time. Comments in this file are denoted with the "#" char.
5#  Settings lines are of the form:
6#      "<LayerIdentifier>.<SettingName> = <SettingValue>"
7#
8#  <LayerIdentifier> is typically the official layer name, minus the VK_LAYER
9#  prefix and all lower-camel-case -- i.e., for VK_LAYER_KHRONOS_validation,
10#  the layer identifier is 'khronos_validation'.
11#
12################################################################################
13################################################################################
14# Validation Layer Common Settings:
15# =================================
16#
17#   DEBUG_ACTION:
18#   =============
19#   <LayerIdentifier>.debug_action : This is an enum value indicating what
20#    action is to be taken when a layer wants to report information.
21#    Possible settings values are defined in the vk_layer.h header file.
22#    These settings are:
23#    VK_DBG_LAYER_ACTION_IGNORE - Take no action.
24#    VK_DBG_LAYER_ACTION_LOG_MSG - Log a txt message to stdout or to a log filename
25#       specified via the <LayerIdentifier>.log_filename setting (see below).
26#    VK_DBG_LAYER_ACTION_CALLBACK - Call user defined callback function(s) that
27#       have been registered via the VK_EXT_debug_report extension. Since
28#       app must register callback, this is a NOOP for the settings file.
29#    VK_DBG_LAYER_ACTION_DEBUG_OUTPUT [Windows only] - Log a txt message using the
30#       Windows OutputDebugString function -- messages will show up in the
31#       Visual Studio output window, for instance.
32#    VK_DBG_LAYER_ACTION_BREAK - Trigger a breakpoint.
33#
34#   REPORT_FLAGS:
35#   =============
36#   <LayerIdentifier>.report_flags : This is a comma-delineated list of options
37#    telling the layer what types of messages it should report back.
38#    Options are:
39#    info - Report informational messages.
40#    warn - Report warnings from using the API in a manner which may lead to
41#           undefined behavior or to warn the user of common trouble spots.
42#           A warning does NOT necessarily signify illegal application behavior.
43#    perf - Report using the API in a way that may cause suboptimal performance.
44#    error - Report errors in API usage.
45#    debug - For layer development. Report messages for debugging layer
46#            behavior.
47#
48#   LOG_FILENAME:
49#   =============
50#   <LayerIdentifier>.log_filename : output filename. Can be relative to
51#      location of vk_layer_settings.txt file, or an absolute path. If no
52#      filename is specified or if filename has invalid path, then stdout
53#      is used by default.
54#
55#   DISABLES:
56#   =============
57#   <LayerIdentifier>.disables : comma separated list of feature/flag/disable enums
58#      These can include VkValidationFeatureDisableEXT flags defined in the Vulkan
59#      specification, or ValidationCheckDisables enums defined in chassis.h.
60#      Effects of setting these flags are described in the specification (or the
61#      source code in the case of the ValidationCheckDisables). The most useful
62#      flags are briefly described here:
63#      VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT - disables handle wrapping.
64#          Disable this feature if you are running into crashes when authoring new extensions
65#          or developing new Vulkan objects/structures
66#      VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT - disables thread checks. It may
67#          help with performance to run with thread-checking disabled most of the time,
68#          enabling it occasionally for a quick sanity check, or when debugging difficult
69#          application behaviors.
70#      VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT - disables the main, heavy-duty
71#          validation checks. This may be valuable early in the development cycle to
72#          reduce validation output while correcting paramter/object usage errors.
73#      VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT - disables stateless parameter
74#          checks. This may not always be necessary late in a development cycle.
75#      VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT - disables object tracking.
76#          This may not always be necessary late in a development cycle.
77#
78#   ENABLES:
79#   =============
80#   <LayerIdentifier>.enables : comma separated list of feature enable enums
81#      These can include VkValidationFeatureEnableEXT flags defined in the Vulkan
82#      specification, where their effects are described.  The most useful
83#      flags are briefly described here:
84#      VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT - enables intrusive GPU-assisted
85#      shader validation in core/khronos validation layers
86#
87
88# VK_LAYER_KHRONOS_validation Settings
89khronos_validation.debug_action = VK_DBG_LAYER_ACTION_LOG_MSG
90khronos_validation.report_flags = error,warn,perf
91khronos_validation.log_filename = stdout
92# Example entry showing how to disable threading checks and validation at DestroyPipeline time
93#khronos_validation.disables = VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT,VALIDATION_CHECK_DISABLE_DESTROY_PIPELINE
94
95# VK_LAYER_LUNARG_core_validation Settings
96lunarg_core_validation.debug_action = VK_DBG_LAYER_ACTION_LOG_MSG
97lunarg_core_validation.report_flags = error,warn,perf
98lunarg_core_validation.log_filename = stdout
99
100# VK_LAYER_LUNARG_object_tracker Settings
101lunarg_object_tracker.debug_action = VK_DBG_LAYER_ACTION_LOG_MSG
102lunarg_object_tracker.report_flags = error,warn,perf
103lunarg_object_tracker.log_filename = stdout
104
105# VK_LAYER_LUNARG_parameter_validation Settings
106lunarg_parameter_validation.debug_action = VK_DBG_LAYER_ACTION_LOG_MSG
107lunarg_parameter_validation.report_flags = error,warn,perf
108lunarg_parameter_validation.log_filename = stdout
109
110# VK_LAYER_GOOGLE_threading Settings
111google_threading.debug_action = VK_DBG_LAYER_ACTION_LOG_MSG
112google_threading.report_flags = error,warn,perf
113google_threading.log_filename = stdout
114
115# VK_LAYER_GOOGLE_unique_objects Settings
116google_unique_objects.debug_action = VK_DBG_LAYER_ACTION_LOG_MSG
117google_unique_objects.report_flags = error,warn,perf
118google_unique_objects.log_filename = stdout
119################################################################################
120