blob: 211f6eeead5c229e161dc7dacebfca3876181add [file] [log] [blame]
################################################################################
#
# 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 an enum value indicating what
# action is 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.
# 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.
#
# 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.
#
# 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_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 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 Enable Best Practices Validation
#khronos_validation.enables = VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT
################################################################################