forked from KhronosGroup/Vulkan-ValidationLayers
-
Notifications
You must be signed in to change notification settings - Fork 1
/
vk_layer_settings.txt
158 lines (148 loc) · 8.5 KB
/
vk_layer_settings.txt
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
################################################################################
#
# This file contains per-layer settings that configure layer behavior at
# execution time. Comments in this file are denoted with the "#" char.
# Settings lines are of the form:
# "<LayerIdentifier>.<SettingName> = <SettingValue>"
#
# <LayerIdentifier> is typically the official layer name, minus the VK_LAYER
# prefix and all lower-camel-case -- i.e., for VK_LAYER_KHRONOS_validation,
# the layer identifier is 'khronos_validation'.
#
################################################################################
################################################################################
# Validation Layer Common Settings:
# =================================
#
# DEBUG_ACTION:
# =============
# <LayerIdentifier>.debug_action : This is a comma-delited list of options
# indicating what actions are to be taken when a layer wants to report
# information.
# Possible settings values are defined in the vk_layer.h header file.
# These settings are:
# VK_DBG_LAYER_ACTION_IGNORE - Take no action -- has no effect if specified with
# other options.
# VK_DBG_LAYER_ACTION_LOG_MSG - Log a txt message to stdout or to a log filename
# specified via the <LayerIdentifier>.log_filename setting (see below).
# VK_DBG_LAYER_ACTION_CALLBACK - Call user defined callback function(s) that
# have been registered via the VK_EXT_debug_report extension. Since
# app must register callback, this is a NOOP for the settings file.
# VK_DBG_LAYER_ACTION_DEBUG_OUTPUT [Windows only] - Log a txt message using the
# Windows OutputDebugString function -- messages will show up in the
# Visual Studio output window, for instance.
# VK_DBG_LAYER_ACTION_BREAK - Trigger a breakpoint if a debugger is in use.
#
# REPORT_FLAGS:
# =============
# <LayerIdentifier>.report_flags : This is a comma-delineated list of options
# telling the layer what types of messages it should report back.
# Options are:
# info - Report informational messages.
# warn - Report warnings from using the API in a manner which may lead to
# undefined behavior or to warn the user of common trouble spots.
# A warning does NOT necessarily signify illegal application behavior.
# perf - Report using the API in a way that may cause suboptimal performance.
# error - Report errors in API usage.
# debug - For layer development. Report messages for debugging layer
# behavior.
#
# MESSAGE_ID_FILTER:
# ==================
# <LayerIdentifier>.message_id_filter: This is a comma-delineated list of VUIDs
# or VUID identifers which are to be IGNORED by the layers. These can be in
# any combination of the normal VUID string form,
# "VUID-vkCmdPipelineBarrier-image-02635",
# or the hexadecimal or decimal representation of the VUID id returned from
# a validation message, for example:
# 0xdf3391a2 or 3744698786.
#
# DUPLICATE_MESSAGE_LIMIT:
# =======================
# <LayerIdentifier>.duplicate_message_limit: This is an unsigned integer
# which signifies the limit for the number of times any validation
# message can be output by the layers. Any non-zero value will be respected,
# and the default is no limit.
#
# LOG_FILENAME:
# =============
# <LayerIdentifier>.log_filename : output filename. Can be relative to
# location of vk_layer_settings.txt file, or an absolute path. If no
# filename is specified or if filename has invalid path, then stdout
# is used by default.
#
# DISABLES:
# =========
# <LayerIdentifier>.disables : comma separated list of feature/flag/disable enums
# These can include VkValidationFeatureDisableEXT flags defined in the Vulkan
# specification, or ValidationCheckDisables enums defined in chassis.h.
# Effects of setting these flags are described in the specification (or the
# source code in the case of the ValidationCheckDisables). The most useful
# flags are briefly described here:
# VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT - disables handle wrapping.
# Disable this feature if you are running into crashes when authoring new extensions
# or developing new Vulkan objects/structures
# VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT - disables thread checks. It may
# help with performance to run with thread-checking disabled most of the time,
# enabling it occasionally for a quick sanity check, or when debugging difficult
# application behaviors.
# VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT - disables the main, heavy-duty
# validation checks. This may be valuable early in the development cycle to
# reduce validation output while correcting paramter/object usage errors.
# VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT - disables stateless parameter
# checks. This may not always be necessary late in a development cycle.
# VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT - disables object tracking.
# This may not always be necessary late in a development cycle.
#
# ENABLES:
# ========
# <LayerIdentifier>.enables : comma separated list of feature enable enums
# These can include VkValidationFeatureEnableEXT flags defined in the Vulkan
# specification, where their effects are described. The most useful
# flags are briefly described here:
# VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT - enables intrusive GPU-assisted
# shader validation in khronos validation layers
# VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT - enables best practices warning
# validation
# VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT - enables processing of
# debug printf instructions in shaders and sending debug strings to the debug callback
# VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT - enables checks to
# identify resource access conflicts due to missing or incorrect synchronization
#
# CUSTOM_STYPE_LIST:
# ==================
# <LayerIdentifier>.custom_stype_list: This is a comma-delimited list of uin32_t
# value-pairs describing custom structure types. Unrecognized structures encountered
# in wrapped pNext chains are typically removed. Specifying the sType value and size
# in bytes in this list will allow the layers to properly preserve the containing
# pNext chain. Multiple structs can be specified. For instance, in the following
# example, two custom structs are declared, the first in decimal and the second in
# hexadecimal:
# khronos_validation.custom_stype_list=1100297000,32,0x478b1428,0x20
# VK_LAYER_KHRONOS_validation Settings
khronos_validation.debug_action = VK_DBG_LAYER_ACTION_LOG_MSG
khronos_validation.report_flags = error,warn,perf
khronos_validation.log_filename = stdout
# Example entry showing how to filter specific VUIDs from layer output
#khronos_validation.message_id_filter = 3744698786,0xdf3391a2,"VUID-vkCmdPipelineBarrier-image-02635"
# Example entry showing how to declare custom non-Vulkan structure types
#khronos_validation.custom_stype_list=1100297000,32,0x478b1428,0x20
# Example entry showing how to limit the number of repeated validation messages
#khronos_validation.duplicate_message_limit = 25
# Example entry showing how to disable threading checks and validation at DestroyPipeline time
#khronos_validation.disables = VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT,VALIDATION_CHECK_DISABLE_DESTROY_PIPELINE
# Example entry showing how to Enable GPU-Assisted Validation
#khronos_validation.enables = VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT,VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT
# Example entry showing how to disable buffer out of bounds checking
#khronos_validation.gpuav_buffer_oob = false
# Example entry showing how to Enable Best Practices Validation
#khronos_validation.enables = VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT
# Example entry showing how to enable Debug Printf messages
#khronos_validation.enables = VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT
# Example showing how to set the size in bytes of the buffer used by debug printf (default 1024 bytes)
#khronos_validation.printf_buffer_size = 1024
# Example of how to set the verbosity of debug printf messages (default not verbose)
#khronos_validation.printf_verbose = false
# Example of how to redirect debug printf messages from the debug callback to stdout
#khronos_validation.printf_to_stdout = true
################################################################################