-
Notifications
You must be signed in to change notification settings - Fork 0
/
vk_layer_settings.txt
256 lines (217 loc) · 9.12 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
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
# VK_LAYER_KHRONOS_validation
# Fine Grained Locking
# =====================
# <LayerIdentifier>.fine_grained_locking
# Enable fine grained locking for Core Validation, which should improve
# performance in multithreaded applications. This setting allows the
# optimization to be disabled for debugging.
khronos_validation.fine_grained_locking = true
# Core
# =====================
# <LayerIdentifier>.validate_core
# The main, heavy-duty validation checks. This may be valuable early in the
# development cycle to reduce validation output while correcting
# parameter/object usage errors.
khronos_validation.validate_core = true
# Image Layout
# =====================
# <LayerIdentifier>.check_image_layout
# Check that the layout of each image subresource is correct whenever it is used
# by a command buffer. These checks are very CPU intensive for some
# applications.
khronos_validation.check_image_layout = true
# Command Buffer State
# =====================
# <LayerIdentifier>.check_command_buffer
# Check that all Vulkan objects used by a command buffer have not been
# destroyed. These checks can be CPU intensive for some applications.
khronos_validation.check_command_buffer = true
# Object in Use
# =====================
# <LayerIdentifier>.check_object_in_use
# Check that Vulkan objects are not in use by a command buffer when they are
# destroyed.
khronos_validation.check_object_in_use = true
# Query
# =====================
# <LayerIdentifier>.check_query
# Checks for commands that use VkQueryPool objects.
khronos_validation.check_query = true
# Shader
# =====================
# <LayerIdentifier>.check_shaders
# Shader checks. These checks can be CPU intensive during application start up,
# especially if Shader Validation Caching is also disabled.
khronos_validation.check_shaders = true
# Caching
# =====================
# <LayerIdentifier>.check_shaders_caching
# Enable caching of shader validation results.
khronos_validation.check_shaders_caching = true
# Handle Wrapping
# =====================
# <LayerIdentifier>.unique_handles
# Handle wrapping checks. Disable this feature if you are exerience crashes when
# creating new extensions or developing new Vulkan objects/structures.
khronos_validation.unique_handles = true
# Object Lifetime
# =====================
# <LayerIdentifier>.object_lifetime
# Object tracking checks. This may not always be necessary late in a development
# cycle.
khronos_validation.object_lifetime = true
# Stateless Parameter
# =====================
# <LayerIdentifier>.stateless_param
# Stateless parameter checks. This may not always be necessary late in a
# development cycle.
khronos_validation.stateless_param = true
# Thread Safety
# =====================
# <LayerIdentifier>.thread_safety
# Thread checks. In order to not degrade performance, it might be best to run
# your program with thread-checking disabled most of the time, enabling it
# occasionally for a quick sanity check or when debugging difficult application
# behaviors.
khronos_validation.thread_safety = true
# Synchronization
# =====================
# <LayerIdentifier>.validate_sync
# Enable synchronization validation during command buffers recording. This
# feature reports resource access conflicts due to missing or incorrect
# synchronization operations between actions (Draw, Copy, Dispatch, Blit)
# reading or writing the same regions of memory.
khronos_validation.validate_sync = true
# QueueSubmit Synchronization Validation
# =====================
# <LayerIdentifier>.sync_queue_submit
# Enable synchronization validation between submitted command buffers when
# Synchronization Validation is enabled. This option will increase the
# synchronization performance cost.
khronos_validation.sync_queue_submit = true
# GPU Base
# =====================
# <LayerIdentifier>.validate_gpu_based
# Setting an option here will enable specialized areas of validation
khronos_validation.validate_gpu_based = GPU_BASED_NONE
# Redirect Printf messages to stdout
# =====================
# <LayerIdentifier>.printf_to_stdout
# Enable redirection of Debug Printf messages from the debug callback to stdout
#khronos_validation.printf_to_stdout = true
# Printf verbose
# =====================
# <LayerIdentifier>.printf_verbose
# Set the verbosity of debug printf messages
#khronos_validation.printf_verbose = false
# Printf buffer size
# =====================
# <LayerIdentifier>.printf_buffer_size
# Set the size in bytes of the buffer used by debug printf
#khronos_validation.printf_buffer_size = 1024
# Reserve Descriptor Set Binding Slot
# =====================
# <LayerIdentifier>.reserve_binding_slot
# Specifies that the validation layers reserve a descriptor set binding slot for
# their own use. The layer reports a value for
# VkPhysicalDeviceLimits::maxBoundDescriptorSets that is one less than the value
# reported by the device. If the device supports the binding of only one
# descriptor set, the validation layer does not perform GPU-assisted validation.
#khronos_validation.reserve_binding_slot = true
# Linear Memory Allocation Mode
# =====================
# <LayerIdentifier>.vma_linear_output
# Use VMA linear memory allocations for GPU-AV output buffers instead of finding
# best place for new allocations among free regions to optimize memory usage.
# Enabling this setting reduces performance cost but disabling this method
# minimizes memory usage.
#khronos_validation.vma_linear_output = true
# Descriptor and OOB Checks
# =====================
# <LayerIdentifier>.gpuav_descriptor_checks
# Enable descriptor and buffer out of bounds checking
#khronos_validation.gpuav_descriptor_checks = true
# Generate warning on out of bounds accesses even if buffer robustness is enabled
# =====================
# <LayerIdentifier>.warn_on_robust_oob
# Warn on out of bounds accesses even if robustness is enabled
khronos_validation.warn_on_robust_oob = true
# Check Draw/Dispatch/TraceRays Indirect buffers
# =====================
# <LayerIdentifier>.validate_indirect_buffer
# Enable draw/dispatch/traceRays indirect checking
#khronos_validation.validate_indirect_buffer = true
# Cache instrumented shaders rather than instrumenting them on every run
# =====================
# <LayerIdentifier>.use_instrumented_shader_cache
# Enable instrumented shader caching
#khronos_validation.use_instrumented_shader_cache = true
# Enable instrumenting shaders selectively
# =====================
# <LayerIdentifier>.select_instrumented_shaders
# Select which shaders to instrument passing a VkValidationFeaturesEXT struct
# with GPU-AV enabled in the VkShaderModuleCreateInfo pNext
#khronos_validation.select_instrumented_shaders = false
# Specify the maximum number of buffer device addresses in use at one time
# =====================
# <LayerIdentifier>.gpuav_max_buffer_device_addresses
# Specify maximum number of buffer device addresses
#khronos_validation.gpuav_max_buffer_device_addresses = 10000
# Best Practices
# =====================
# <LayerIdentifier>.validate_best_practices
# Outputs warnings related to common misuse of the API, but which are not
# explicitly prohibited by the specification.
khronos_validation.validate_best_practices = false
# ARM-specific best practices
# =====================
# <LayerIdentifier>.validate_best_practices_arm
# Outputs warnings for spec-conforming but non-ideal code on ARM GPUs.
khronos_validation.validate_best_practices_arm = false
# AMD-specific best practices
# =====================
# <LayerIdentifier>.validate_best_practices_amd
# Outputs warnings for spec-conforming but non-ideal code on AMD GPUs.
khronos_validation.validate_best_practices_amd = false
# IMG-specific best practices
# =====================
# <LayerIdentifier>.validate_best_practices_img
# Outputs warnings for spec-conforming but non-ideal code on Imagination GPUs.
khronos_validation.validate_best_practices_img = false
# NVIDIA-specific best practices
# =====================
# <LayerIdentifier>.validate_best_practices_nvidia
# Outputs warnings for spec-conforming but non-ideal code on NVIDIA GPUs.
khronos_validation.validate_best_practices_nvidia = false
# Debug Action
# =====================
# <LayerIdentifier>.debug_action
# Specifies what action is to be taken when a layer reports information
khronos_validation.debug_action = VK_DBG_LAYER_ACTION_LOG_MSG
# Log Filename
# =====================
# <LayerIdentifier>.log_filename
# Specifies the output filename
khronos_validation.log_filename = stdout
# Message Severity
# =====================
# <LayerIdentifier>.report_flags
# Comma-delineated list of options specifying the types of messages to be
# reported
khronos_validation.report_flags = error,perf,info,warn
# Limit Duplicated Messages
# =====================
# <LayerIdentifier>.enable_message_limit
# Enable limiting of duplicate messages.
khronos_validation.enable_message_limit = true
# Max Duplicated Messages
# =====================
# <LayerIdentifier>.duplicate_message_limit
# Maximum number of times any single validation message should be reported.
khronos_validation.duplicate_message_limit = 10
# Mute Message VUIDs
# =====================
# <LayerIdentifier>.message_id_filter
# List of VUIDs and VUID identifers which are to be IGNORED by the validation
# layer
khronos_validation.message_id_filter =