blob: da21769a879144cc138d6e09e2a143a622f29b10 [file] [log] [blame]
David Pinedob03862d2022-02-17 10:53:55 -07001# The settings in this file can be used to configure the behavior of
2# layers in this repository.
Mark Lobodzinskic71f3e92016-06-01 16:12:49 -06003#
David Pinedob03862d2022-02-17 10:53:55 -07004# Note that this file is not regulary updated, so not all possible layer
5# settings may be listed, and some layer settings may even be obsolete.
Tobin Ehlis2b57c7b2015-09-15 09:54:07 -06006
David Pinedob03862d2022-02-17 10:53:55 -07007# VK_LAYER_KHRONOS_validation
Mark Lobodzinskid64e14f2019-09-04 17:38:02 -06008
David Pinedob03862d2022-02-17 10:53:55 -07009# Debug Action
10# =====================
David Pinedob03862d2022-02-17 10:53:55 -070011# Specifies what action is to be taken when a layer reports information
Mark Lobodzinski8662d662019-03-18 15:28:16 -060012khronos_validation.debug_action = VK_DBG_LAYER_ACTION_LOG_MSG
David Pinedob03862d2022-02-17 10:53:55 -070013
14# Log Filename
15# =====================
David Pinedob03862d2022-02-17 10:53:55 -070016# Specifies the output filename
Mark Lobodzinski8662d662019-03-18 15:28:16 -060017khronos_validation.log_filename = stdout
Mark Lobodzinskid64e14f2019-09-04 17:38:02 -060018
David Pinedob03862d2022-02-17 10:53:55 -070019# Message Severity
20# =====================
David Pinedob03862d2022-02-17 10:53:55 -070021# Comma-delineated list of options specifying the types of messages to be
22# reported
Bob Ellisonfae50092022-08-25 17:06:00 -060023khronos_validation.report_flags = error
Mark Lobodzinski61b725c2020-05-19 11:10:08 -060024
spencer-lunarg91cce792024-12-07 12:39:18 +090025# Limit Duplicated Messages
26# =====================
spencer-lunarg91cce792024-12-07 12:39:18 +090027# Enable limiting of duplicate messages.
28khronos_validation.enable_message_limit = true
29
David Pinedob03862d2022-02-17 10:53:55 -070030# Max Duplicated Messages
31# =====================
David Pinedob03862d2022-02-17 10:53:55 -070032# Maximum number of times any single validation message should be reported.
33khronos_validation.duplicate_message_limit = 10
Mark Lobodzinskie3510582020-05-25 13:07:30 -060034
David Pinedob03862d2022-02-17 10:53:55 -070035# Mute Message VUIDs
36# =====================
David Pinedob03862d2022-02-17 10:53:55 -070037# List of VUIDs and VUID identifers which are to be IGNORED by the validation
38# layer
sjfrickeca9a4802022-08-10 14:27:51 +090039khronos_validation.message_id_filter =
Mark Lobodzinski8662d662019-03-18 15:28:16 -060040
David Pinedob03862d2022-02-17 10:53:55 -070041# Disables
42# =====================
David Pinedob03862d2022-02-17 10:53:55 -070043# Specify areas of validation to be disabled
44khronos_validation.disables = VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT
Tobin Ehlisc96f8062016-03-09 16:12:48 -070045
David Pinedob03862d2022-02-17 10:53:55 -070046# Enables
47# =====================
David Pinedob03862d2022-02-17 10:53:55 -070048# Setting an option here will enable specialized areas of validation
sjfrickeca9a4802022-08-10 14:27:51 +090049khronos_validation.enables =
Tobin Ehlis2b57c7b2015-09-15 09:54:07 -060050
David Pinedob03862d2022-02-17 10:53:55 -070051# Redirect Printf messages to stdout
52# =====================
David Pinedob03862d2022-02-17 10:53:55 -070053# Enable redirection of Debug Printf messages from the debug callback to stdout
Tony-LunarG4e96a882020-09-18 13:48:25 -060054#khronos_validation.printf_to_stdout = true
Tony-LunarG5e8f1b32020-05-05 13:12:04 -060055
David Pinedob03862d2022-02-17 10:53:55 -070056# Printf verbose
57# =====================
David Pinedob03862d2022-02-17 10:53:55 -070058# Set the verbosity of debug printf messages
59#khronos_validation.printf_verbose = false
60
61# Printf buffer size
62# =====================
David Pinedob03862d2022-02-17 10:53:55 -070063# Set the size in bytes of the buffer used by debug printf
64#khronos_validation.printf_buffer_size = 1024
65
spencer-lunarg2cbfec72024-12-19 14:23:44 +090066# Shader instrumentation
67# =====================
68# Instrument shaders to validate descriptors, descriptor indexing, buffer device addresses and ray queries.
69# Warning: will considerably slow down shader executions
70#khronos_validation.gpuav_shader_instrumentation = true
71
David Pinedob03862d2022-02-17 10:53:55 -070072# Check descriptor indexing accesses
73# =====================
Jeremy Gebben926ffb12023-06-15 15:48:33 -060074# Enable descriptor indexing and buffer out of bounds checking
75#khronos_validation.gpuav_descriptor_checks = true
David Pinedob03862d2022-02-17 10:53:55 -070076
spencer-lunarg2cbfec72024-12-19 14:23:44 +090077# Generate warning on out of bounds accesses even if buffer robustness is enabled
David Pinedob03862d2022-02-17 10:53:55 -070078# =====================
spencer-lunarg2cbfec72024-12-19 14:23:44 +090079# Warn on out of bounds accesses even if robustness is enabled
80#khronos_validation.gpuav_warn_on_robust_oob = true
spencer-lunarg006d50e2024-02-28 14:31:52 +090081
spencer-lunarg2cbfec72024-12-19 14:23:44 +090082# Out of bounds buffer device addresses
spencer-lunarg006d50e2024-02-28 14:31:52 +090083# =====================
spencer-lunarg2cbfec72024-12-19 14:23:44 +090084# Check for invalid access using buffer device address
85#khronos_validation.gpuav_buffer_address_oob = true
86
87# Specify the maximum number of buffer device addresses in simultaneous use
88# =====================
89# Specify the maximum number of buffer device addresses to allow GPU-AV allocate resources
90#khronos_validation.gpuav_max_buffer_device_addresses = 10000
spencer-lunarg006d50e2024-02-28 14:31:52 +090091
92# Validate RayQuery SPIR-V Instructions
93# =====================
spencer-lunarg006d50e2024-02-28 14:31:52 +090094# Enable shader instrumentation on SPV_KHR_ray_query
95#khronos_validation.gpuav_validate_ray_query = true
arno-lunargaedaabb2023-11-01 19:04:58 +090096
spencer-lunarg46382d92024-10-15 10:58:54 -040097# Post Process Descriptor Indexing
98# =====================
spencer-lunarg46382d92024-10-15 10:58:54 -040099# Track which descriptor indexes were used in shader to run normal validation afterwards
100#khronos_validation.gpuav_post_process_descriptor_indexing = true
101
Tony Barbour1f9b32d2023-10-06 14:20:58 -0600102# Select which shaders to instrument by passing a VkValidationFeaturesEXT struct with GPU-AV enabled in the VkShaderModuleCreateInfo pNext
103# =====================
Tony Barbour1f9b32d2023-10-06 14:20:58 -0600104# Enable selection of shaders to instrument
spencer-lunarg2fab60a2024-04-12 16:38:38 +0900105#khronos_validation.gpuav_select_instrumented_shaders = false
Tony Barbour1f9b32d2023-10-06 14:20:58 -0600106
spencer-lunarg2cbfec72024-12-19 14:23:44 +0900107# Buffer content validation
108# =====================
109# Validate buffers containing parameters used in indirect Vulkan commands, or used in copy commands
110#khronos_validation.gpuav_buffers_validation = true
111
112# Indirect draws parameters
113# =====================
114# Validate buffers containing draw parameters used in indirect draw commands
115# Includes vkCmdDrawMeshTasks* calls as well
116#khronos_validation.gpuav_indirect_draws_buffers = true
117
118# Indirect dispatch parameters
119# =====================
120# Validate buffers containing dispatch parameters used in indirect dispatch commands
121#khronos_validation.gpuav_indirect_dispatches_buffers = true
122
123# Indirect trace rays parameters
124# =====================
125# Validate buffers containing ray tracing parameters used in indirect ray tracing commands
126#khronos_validation.gpuav_indirect_trace_rays_buffers = true
127
128# Buffer copies
129# =====================
130# Validate copies involving a VkBuffer. Right now only validates copy buffer to image
131#khronos_validation.gpuav_buffer_copies = true
132
133# Index copies
134# =====================
135# Validate that indexed draws do not fetch indices outside of the bounds of the index buffer
136# Also validates that those indices are not out of the bounds of the fetched vertex buffers
137#khronos_validation.gpuav_index_buffers = true
138
Tony-LunarG3b1c19f2022-05-02 14:11:06 -0600139# Use linear vma allocator for GPU-AV output buffers
140# =====================
Tony-LunarG3b1c19f2022-05-02 14:11:06 -0600141# Use VMA linear memory allocations for GPU-AV output buffers
spencer-lunarg2fab60a2024-04-12 16:38:38 +0900142#khronos_validation.gpuav_vma_linear_output = true
143
spencer-lunarg04898b12024-12-19 14:42:22 +0900144# Use GPU-AV to do Image Layout checks
145# =====================
146# (Warning - still known to have false positives)
147# Use GPU-AV to detect which descriptors where accessed.
148# Then using post processing, check that the layout of each image subresource is correct whenever it is used by a command buffer
149#khronos_validation.gpuav_image_layout = true
150
David Pinedob03862d2022-02-17 10:53:55 -0700151# Fine Grained Locking
152# =====================
David Pinedob03862d2022-02-17 10:53:55 -0700153# Enable fine grained locking for Core Validation, which should improve
Jeremy Gebben81d9b132022-05-04 08:54:37 -0600154# performance in multithreaded applications.
155khronos_validation.fine_grained_locking = true
David Pinedob03862d2022-02-17 10:53:55 -0700156
spencer-lunarg9d42b672024-05-03 13:39:02 +0900157# Display Application Name
158# =====================
spencer-lunarg9d42b672024-05-03 13:39:02 +0900159# Useful when running multiple instances to know which instance the message is from
160#khronos_validation.message_format_display_application_name = false
161
juan-lunarg5cf67152023-05-22 14:34:22 -0600162# Best Practices
163# =====================
164# Enable best practices layer
165khronos_validation.enables=VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT
166
167# Best Practices with ARM best practices
168# =====================
169# Enable best practices layer
170khronos_validation.enables=VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT,VALIDATION_CHECK_ENABLE_VENDOR_SPECIFIC_ARM
171
172# Best Practices with AMD best practices
173# =====================
174# Enable best practices layer
175khronos_validation.enables=VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT,VALIDATION_CHECK_ENABLE_VENDOR_SPECIFIC_AMD
176
177# Best Practices with Imagination Tech best practices
178# =====================
179# Enable best practices layer
180khronos_validation.enables=VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT,VALIDATION_CHECK_ENABLE_VENDOR_SPECIFIC_IMG
181
182# Best Practices with Nvidia Specific Check
183# =====================
184# Enable best practices layer
185khronos_validation.enables=VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT,VALIDATION_CHECK_ENABLE_VENDOR_SPECIFIC_NVIDIA
186
187# Best Practices with ALL Vendor Specific Checks
188# =====================
189# Enable best practices layer
190khronos_validation.enables=VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT,VALIDATION_CHECK_ENABLE_VENDOR_SPECIFIC_ALL
OSZAR »