-
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathvk_layer_settings.txt
488 lines (452 loc) · 22.3 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
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
################################################################################
#
# 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,info
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
################################################################################
################################################################################
#
# 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_LUNARG_api_dump, the
# layer identifier is 'lunarg_api_dump'.
#
################################################################################
################################################################################
# VK_LAYER_LUNARG_api_dump Settings:
# ==================================
#
# OUTPUT_FORMAT:
# =========
# <LayerIdentifer>.output_format : Specifies the format used for output;
# can be HTML, JSON, or Text (default -- outputs plain text).
#
# DETAILED:
# =========
# <LayerIdentifer>.detailed : Setting this to TRUE causes parameter details
# to be dumped in addition to API calls.
#
# NO_ADDR:
# ========
# <LayerIdentifier>.no_addr : Setting this to TRUE causes "address" to be
# dumped in place of hex addresses.
#
# FILE:
# =====
# <LayerIdentifer>.file : Setting this to TRUE indicates that output
# should be written to file instead of STDOUT.
#
# LOG_FILENAME:
# =============
# <LayerIdentifer>.log_filename : Specifies the file to dump to when
# "file = TRUE". The default is "vk_apidump.txt".
#
# FLUSH:
# ======
# <LayerIdentifier>.flush : Setting this to TRUE causes IO to be flushed
# each API call that is written.
#
# INDENT SIZE:
# ==============
# <LayerIdentifier>.indent_size : Specifies the number of spaces that a tab
# is equal to.
#
# SHOW TYPES:
# ==============
# <LayerIdentifier>.show_types : Setting this to TRUE causes types to be
# dumped in addition to values.
#
# NAME SIZE:
# ==============
# <LayerIdentifier>.name_size : The number of characters the name of a
# variable should consume, assuming more are not required.
#
# TYPE SIZE:
# ==============
# <LayerIdentifier>.type_size : The number of characters the type of a
# variable should consume, assuming more are not requires.
#
# USE_SPACES:
# ==============
# <LayerIdentifier>.use_spaces : Setting this to TRUE causes all tabs
# characters to be replaced with spaces.
#
# SHOW_SHADER:
# ==============
# <LayerIdentifier>.show_shader : Setting this to TRUE causes the shader
# binary code in pCode to be also written to output.
#
# OUTPUT_RANGE:
# ==============
# <LayerIdentifer>.output_range : Comma separated list of ranges to dump.
# Range format is "S-C-I" with S being the start frame, C is the count of
# frames, and I the interval between dumped frames. A count of 0 will
# output every frame after the start of the range. Examples: "2-6-2" would
# will dump frames 2, 4, and 6. "3,4,6-0" will dump frames 3,4,6 and every
# frame after it.
# VK_LAYER_LUNARG_api_dump Settings
lunarg_api_dump.output_format = json
lunarg_api_dump.detailed = TRUE
lunarg_api_dump.no_addr = FALSE
lunarg_api_dump.file = true
lunarg_api_dump.log_filename = vk_apidump.json
lunarg_api_dump.flush = TRUE
lunarg_api_dump.indent_size = 4
lunarg_api_dump.show_types = TRUE
lunarg_api_dump.name_size = 32
lunarg_api_dump.type_size = 0
lunarg_api_dump.use_spaces = TRUE
lunarg_api_dump.show_shader = FALSE
lunarg_api_dump.output_range = 0-0
lunarg_api_dump.show_timestamp = TRUE
################################################################################
# VK_LAYER_LUNARG_device_simulation Settings:
# ===========================================
#
# FILENAME:
# =========
# <LayerIdentifer>.filename : Name of one or more configuration file(s) to load.
# Added in v1.2.1: This variable can have a delimited list of files to be loaded.
# On Windows, the delimiter is ';' else it is ':'. Files are loaded in order.
# Later files can override settings from earlier files.
#
# DEBUG_ENABLE:
# =============
# <LayerIdentifer>.debug_enable : A non-zero integer enables debug message output.
#
# EXIT_ON_ERROR:
# ==============
# <LayerIdentifer>.exit_on_error : A non-zero integer enables exit-on-error.
# VK_LAYER_LUNARG_device_simulation Settings
lunarg_device_simulation.filename =
lunarg_device_simulation.debug_enable = 0
lunarg_device_simulation.exit_on_error = 0
################################################################################
# VK_LAYER_LUNARG_screenshot Settings:
# ====================================
#
# FRAMES:
# =======
# <LayerIdentifer>.frames : Comma separated list of frames to output as
# screen shots or a range of frames with a start, count, and optional
# interval separated by a dash. Setting the variable to \"all\" will output
# every frame. Example: \"5-8-2\" will output frame 5, continue until frame 13,
# dumping every other frame. Example: \"3,8-2\" will output frames 3, 8, and 9.
#
# DIR:
# ====
# <LayerIdentifer>.dir : This can be set to specify the directory in which to
# create the screenshot files.
#
# FORMAT:
# =======
# <LayerIdentifer>.format : This can be set to a color space for the output.
# It must be one of the following values: "UNORM", "SNORM", "USCALED", "SSCALED",
# "UINT", "SINT", "SRGB" or "USE_SWAPCHAIN_COLORSPACE".
# VK_LAYER_LUNARG_screenshot Settings
lunarg_screenshot.frames = 0-0
lunarg_screenshot.dir =
lunarg_screenshot.format = USE_SWAPCHAIN_COLORSPACE
###############################################################################
# VK_LAYER_LUNARG_gfxreconstruct Layer Settings
#
# A settings file may be provided to the GFXReconstruct capture layer by
# setting the following Desktop environment variable or Android system
# property:
# Desktop environment variable: VK_LAYER_SETTINGS_PATH
# Android system property: debug.gfxrecon.settings_path
#
# The environment variable/system property may be set as either the path to
# the folder containing a file named vk_layer_settings.txt or the full path to
# a file with a custom name. When set to a folder, the capture layer will try
# to open a file in that folder named vk_layer_settings.txt. When set to a
# file, the capture layer will try to open a file with the specified name.
#
# This settings file may be combined with settings files for other layers. The
# capture layer will ignore entries that do not start with the
# 'lunarg_gfxreconstruct.' prefix.
###############################################################################
# Capture File Name | STRING | Path to use when creating the capture file.
# Default is: gfxrecon_capture.gfxr
#lunarg_gfxreconstruct.capture_file = "gfxrecon_capture.gfxr"
# Capture Specific Frames | STRING | Specify one or more comma-separated frame
# ranges to capture. Each range will be written to its own file. A frame range
# can be specified as a single value, to specify a single frame to capture, or
# as two hyphenated values, to specify the first and last frame to capture.
# Frame ranges should be specified in ascending order and cannot overlap. Note
# that frame numbering is 1-based (i.e. the first frame is frame 1).
# Example: 200,301-305 will create two capture files, one containing a
# single frame and one containing five frames.
# Default is: Empty string (all frames are captured).
#lunarg_gfxreconstruct.capture_frames = ""
# Hotkey Capture Trigger | STRING | Specify a hotkey (any one of F1-F12, TAB,
# CONTROL) that will be used to start/stop capture. Example: F3 will set the
# capture trigger to F3 hotkey. One capture file will be generated for each
# pair of start/stop hotkey presses.
# Note: Only available on Desktop.
# Default is: Empty string (hotkey capture trigger is disabled).
#lunarg_gfxreconstruct.capture_trigger = ""
# Capture File Compression Type | STRING | Compression format to use with the
# capture file.
# Valid values are: LZ4, ZLIB, ZSTD, and NONE.
# Default is: LZ4
#lunarg_gfxreconstruct.capture_compression_type = "LZ4"
# Capture File Timestamp | BOOL | Add a timestamp to the capture file name.
# Default is: true
lunarg_gfxreconstruct.capture_file_timestamp = false
# Capture File Flush After Write | BOOL | Flush output stream after each packet
# is written to the capture file.
# Default is: false
#lunarg_gfxreconstruct.capture_file_flush = false
# Log Level | STRING | Specify the highest level message to log. The specified
# level and all levels listed after it will be enabled for logging. For
# example, choosing the warning level will also enable the error and fatal
# levels.
# Options are: debug, info, warning, error, and fatal.
# Default is: info
#lunarg_gfxreconstruct.log_level = "info"
# Log Output to Console | BOOL | Log messages will be written to stdout.
# Default is: true
lunarg_gfxreconstruct.log_output_to_console = true
# Log File | STRING | When set, log messages will be written to a file at the
# specified path.
# Default is: Empty string (file logging disabled).
#lunarg_gfxreconstruct.log_file = ""
# Log Detailed | BOOL | Include name and line number from the file responsible
# for the log message.
# Default is: false
#lunarg_gfxreconstruct.log_detailed = false
# Log Allow Indents | BOOL | Apply additional indentation formatting to log
# messages.
# Default is: false
#lunarg_gfxreconstruct.log_allow_indents = false
# Log Break on Error | BOOL | Trigger a debug break when logging an error.
# Default is: false
#lunarg_gfxreconstruct.log_break_on_error = false
# Log File Create New | BOOL | Specifies that log file initialization should
# overwrite an existing file when true, or append to an existing file when
# false.
# Default is: true
#lunarg_gfxreconstruct.log_file_create_new = true
# Log File Flush After Write | BOOL | Flush the log file to disk after each
# write when true.
# Default is: false
#lunarg_gfxreconstruct.log_file_flush_after_write = false
# Log File Keep Open | BOOL | Keep the log file open between log messages when
# true, or close and reopen the log file for each message when false.
# Default is: true
#lunarg_gfxreconstruct.log_file_keep_open = true
# Log Output to Debug Console | BOOL | Windows only option. Log messages will
# be written to the Debug Console with OutputDebugStringA.
# Note: Only available on Windows.
# Default is: false
#lunarg_gfxreconstruct.log_output_to_os_debug_string = false
# Memory Tracking Mode | STRING | Specifies the memory tracking mode to use for
# detecting modifications to mapped Vulkan memory objects.
# Available options are: page_guard, assisted, and unassisted.
# * page_guard: tracks modifications to individual memory pages, which
# are written to the capture file on calls to
# vkFlushMappedMemoryRanges, vkUnmapMemory, and vkQueueSubmit.
# Tracking modifications requires allocating shadow memory for all
# mapped memory.
# * assisted: expects the application to call vkFlushMappedMemoryRanges
# after memory is modified; the memory ranges specified to the
# vkFlushMappedMemoryRanges call will be written to the capture file
# during the call.
# * unassisted: writes the full content of mapped memory to the capture
# file on calls to vkUnmapMemory and vkQueueSubmit. It is very
# inefficient and may be unusable with real-world applications that
# map large amounts of memory.
# Default is page_guard
#lunarg_gfxreconstruct.memory_tracking_mode = "page_guard"
# Page Guard Copy on Map | BOOL | When the page_guard memory tracking mode is
# enabled, copies the content of the mapped memory to the shadow memory
# immediately after the memory is mapped.
# Default is: true
#lunarg_gfxreconstruct.page_guard_copy_on_map = true
# Page Guard Separate Read Tracking | BOOL | When the page_guard memory
# tracking mode is enabled, copies the content of pages accessed for read from
# mapped memory to shadow memory on each read. Can overwrite unprocessed shadow
# memory content when an application is reading from and writing to the same
# page.
# Default is: true
#lunarg_gfxreconstruct.page_guard_separate_read = true
# Page Guard External Memory | BOOL | When the page_guard memory tracking mode
# is enabled, use the VK_EXT_external_memory_host extension to eliminate the
# need for shadow memory allocations. For each memory allocation from a host
# visible memory type, the capture layer will create an allocation from system
# memory, which it can monitor for write access, and provide that allocation to
# vkAllocateMemory as external memory.
# Note: Only available on Windows.
# Default is false
#lunarg_gfxreconstruct.page_guard_external_memory = false
################################################################################
#
# 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_LUNARG_api_dump, the
# layer identifier is 'lunarg_api_dump'.
#
################################################################################
################################################################################
# VK_LAYER_KHRONOS_synchronization2 Settings:
# ==================================
#
# FORCE_ENABLE:
# =========
# <LayerIdentifer>.force_enable: If TRUE, the layers implementation will always
# be used. If FALSE (default), the layers implementation will only be used if the
# underlying driver does not implement the extension.
#
# VK_LAYER_KHRONOS_synchronization2 Settings
khronos_synchronization2.force_enable = FALSE