1*b7893ccfSSadaf Ebrahimi################################################################################ 2*b7893ccfSSadaf Ebrahimi# 3*b7893ccfSSadaf Ebrahimi# This file contains per-layer settings that configure layer behavior at 4*b7893ccfSSadaf Ebrahimi# execution time. Comments in this file are denoted with the "#" char. 5*b7893ccfSSadaf Ebrahimi# Settings lines are of the form: 6*b7893ccfSSadaf Ebrahimi# "<LayerIdentifier>.<SettingName> = <SettingValue>" 7*b7893ccfSSadaf Ebrahimi# 8*b7893ccfSSadaf Ebrahimi# <LayerIdentifier> is typically the official layer name, minus the VK_LAYER 9*b7893ccfSSadaf Ebrahimi# prefix and all lower-camel-case -- i.e., for VK_LAYER_KHRONOS_validation, 10*b7893ccfSSadaf Ebrahimi# the layer identifier is 'khronos_validation'. 11*b7893ccfSSadaf Ebrahimi# 12*b7893ccfSSadaf Ebrahimi################################################################################ 13*b7893ccfSSadaf Ebrahimi################################################################################ 14*b7893ccfSSadaf Ebrahimi# Validation Layer Common Settings: 15*b7893ccfSSadaf Ebrahimi# ================================= 16*b7893ccfSSadaf Ebrahimi# 17*b7893ccfSSadaf Ebrahimi# DEBUG_ACTION: 18*b7893ccfSSadaf Ebrahimi# ============= 19*b7893ccfSSadaf Ebrahimi# <LayerIdentifier>.debug_action : This is an enum value indicating what 20*b7893ccfSSadaf Ebrahimi# action is to be taken when a layer wants to report information. 21*b7893ccfSSadaf Ebrahimi# Possible settings values are defined in the vk_layer.h header file. 22*b7893ccfSSadaf Ebrahimi# These settings are: 23*b7893ccfSSadaf Ebrahimi# VK_DBG_LAYER_ACTION_IGNORE - Take no action. 24*b7893ccfSSadaf Ebrahimi# VK_DBG_LAYER_ACTION_LOG_MSG - Log a txt message to stdout or to a log filename 25*b7893ccfSSadaf Ebrahimi# specified via the <LayerIdentifier>.log_filename setting (see below). 26*b7893ccfSSadaf Ebrahimi# VK_DBG_LAYER_ACTION_CALLBACK - Call user defined callback function(s) that 27*b7893ccfSSadaf Ebrahimi# have been registered via the VK_EXT_debug_report extension. Since 28*b7893ccfSSadaf Ebrahimi# app must register callback, this is a NOOP for the settings file. 29*b7893ccfSSadaf Ebrahimi# VK_DBG_LAYER_ACTION_DEBUG_OUTPUT [Windows only] - Log a txt message using the 30*b7893ccfSSadaf Ebrahimi# Windows OutputDebugString function -- messages will show up in the 31*b7893ccfSSadaf Ebrahimi# Visual Studio output window, for instance. 32*b7893ccfSSadaf Ebrahimi# VK_DBG_LAYER_ACTION_BREAK - Trigger a breakpoint. 33*b7893ccfSSadaf Ebrahimi# 34*b7893ccfSSadaf Ebrahimi# REPORT_FLAGS: 35*b7893ccfSSadaf Ebrahimi# ============= 36*b7893ccfSSadaf Ebrahimi# <LayerIdentifier>.report_flags : This is a comma-delineated list of options 37*b7893ccfSSadaf Ebrahimi# telling the layer what types of messages it should report back. 38*b7893ccfSSadaf Ebrahimi# Options are: 39*b7893ccfSSadaf Ebrahimi# info - Report informational messages. 40*b7893ccfSSadaf Ebrahimi# warn - Report warnings from using the API in a manner which may lead to 41*b7893ccfSSadaf Ebrahimi# undefined behavior or to warn the user of common trouble spots. 42*b7893ccfSSadaf Ebrahimi# A warning does NOT necessarily signify illegal application behavior. 43*b7893ccfSSadaf Ebrahimi# perf - Report using the API in a way that may cause suboptimal performance. 44*b7893ccfSSadaf Ebrahimi# error - Report errors in API usage. 45*b7893ccfSSadaf Ebrahimi# debug - For layer development. Report messages for debugging layer 46*b7893ccfSSadaf Ebrahimi# behavior. 47*b7893ccfSSadaf Ebrahimi# 48*b7893ccfSSadaf Ebrahimi# LOG_FILENAME: 49*b7893ccfSSadaf Ebrahimi# ============= 50*b7893ccfSSadaf Ebrahimi# <LayerIdentifier>.log_filename : output filename. Can be relative to 51*b7893ccfSSadaf Ebrahimi# location of vk_layer_settings.txt file, or an absolute path. If no 52*b7893ccfSSadaf Ebrahimi# filename is specified or if filename has invalid path, then stdout 53*b7893ccfSSadaf Ebrahimi# is used by default. 54*b7893ccfSSadaf Ebrahimi# 55*b7893ccfSSadaf Ebrahimi# DISABLES: 56*b7893ccfSSadaf Ebrahimi# ============= 57*b7893ccfSSadaf Ebrahimi# <LayerIdentifier>.disables : comma separated list of feature/flag/disable enums 58*b7893ccfSSadaf Ebrahimi# These can include VkValidationFeatureDisableEXT flags defined in the Vulkan 59*b7893ccfSSadaf Ebrahimi# specification, or ValidationCheckDisables enums defined in chassis.h. 60*b7893ccfSSadaf Ebrahimi# Effects of setting these flags are described in the specification (or the 61*b7893ccfSSadaf Ebrahimi# source code in the case of the ValidationCheckDisables). The most useful 62*b7893ccfSSadaf Ebrahimi# flags are briefly described here: 63*b7893ccfSSadaf Ebrahimi# VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT - disables handle wrapping. 64*b7893ccfSSadaf Ebrahimi# Disable this feature if you are running into crashes when authoring new extensions 65*b7893ccfSSadaf Ebrahimi# or developing new Vulkan objects/structures 66*b7893ccfSSadaf Ebrahimi# VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT - disables thread checks. It may 67*b7893ccfSSadaf Ebrahimi# help with performance to run with thread-checking disabled most of the time, 68*b7893ccfSSadaf Ebrahimi# enabling it occasionally for a quick sanity check, or when debugging difficult 69*b7893ccfSSadaf Ebrahimi# application behaviors. 70*b7893ccfSSadaf Ebrahimi# VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT - disables the main, heavy-duty 71*b7893ccfSSadaf Ebrahimi# validation checks. This may be valuable early in the development cycle to 72*b7893ccfSSadaf Ebrahimi# reduce validation output while correcting paramter/object usage errors. 73*b7893ccfSSadaf Ebrahimi# VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT - disables stateless parameter 74*b7893ccfSSadaf Ebrahimi# checks. This may not always be necessary late in a development cycle. 75*b7893ccfSSadaf Ebrahimi# VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT - disables object tracking. 76*b7893ccfSSadaf Ebrahimi# This may not always be necessary late in a development cycle. 77*b7893ccfSSadaf Ebrahimi# 78*b7893ccfSSadaf Ebrahimi# ENABLES: 79*b7893ccfSSadaf Ebrahimi# ============= 80*b7893ccfSSadaf Ebrahimi# <LayerIdentifier>.enables : comma separated list of feature enable enums 81*b7893ccfSSadaf Ebrahimi# These can include VkValidationFeatureEnableEXT flags defined in the Vulkan 82*b7893ccfSSadaf Ebrahimi# specification, where their effects are described. The most useful 83*b7893ccfSSadaf Ebrahimi# flags are briefly described here: 84*b7893ccfSSadaf Ebrahimi# VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT - enables intrusive GPU-assisted 85*b7893ccfSSadaf Ebrahimi# shader validation in core/khronos validation layers 86*b7893ccfSSadaf Ebrahimi# 87*b7893ccfSSadaf Ebrahimi 88*b7893ccfSSadaf Ebrahimi# VK_LAYER_KHRONOS_validation Settings 89*b7893ccfSSadaf Ebrahimikhronos_validation.debug_action = VK_DBG_LAYER_ACTION_LOG_MSG 90*b7893ccfSSadaf Ebrahimikhronos_validation.report_flags = error,warn,perf 91*b7893ccfSSadaf Ebrahimikhronos_validation.log_filename = stdout 92*b7893ccfSSadaf Ebrahimi# Example entry showing how to disable threading checks and validation at DestroyPipeline time 93*b7893ccfSSadaf Ebrahimi#khronos_validation.disables = VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT,VALIDATION_CHECK_DISABLE_DESTROY_PIPELINE 94*b7893ccfSSadaf Ebrahimi 95*b7893ccfSSadaf Ebrahimi# VK_LAYER_LUNARG_core_validation Settings 96*b7893ccfSSadaf Ebrahimilunarg_core_validation.debug_action = VK_DBG_LAYER_ACTION_LOG_MSG 97*b7893ccfSSadaf Ebrahimilunarg_core_validation.report_flags = error,warn,perf 98*b7893ccfSSadaf Ebrahimilunarg_core_validation.log_filename = stdout 99*b7893ccfSSadaf Ebrahimi 100*b7893ccfSSadaf Ebrahimi# VK_LAYER_LUNARG_object_tracker Settings 101*b7893ccfSSadaf Ebrahimilunarg_object_tracker.debug_action = VK_DBG_LAYER_ACTION_LOG_MSG 102*b7893ccfSSadaf Ebrahimilunarg_object_tracker.report_flags = error,warn,perf 103*b7893ccfSSadaf Ebrahimilunarg_object_tracker.log_filename = stdout 104*b7893ccfSSadaf Ebrahimi 105*b7893ccfSSadaf Ebrahimi# VK_LAYER_LUNARG_parameter_validation Settings 106*b7893ccfSSadaf Ebrahimilunarg_parameter_validation.debug_action = VK_DBG_LAYER_ACTION_LOG_MSG 107*b7893ccfSSadaf Ebrahimilunarg_parameter_validation.report_flags = error,warn,perf 108*b7893ccfSSadaf Ebrahimilunarg_parameter_validation.log_filename = stdout 109*b7893ccfSSadaf Ebrahimi 110*b7893ccfSSadaf Ebrahimi# VK_LAYER_GOOGLE_threading Settings 111*b7893ccfSSadaf Ebrahimigoogle_threading.debug_action = VK_DBG_LAYER_ACTION_LOG_MSG 112*b7893ccfSSadaf Ebrahimigoogle_threading.report_flags = error,warn,perf 113*b7893ccfSSadaf Ebrahimigoogle_threading.log_filename = stdout 114*b7893ccfSSadaf Ebrahimi 115*b7893ccfSSadaf Ebrahimi# VK_LAYER_GOOGLE_unique_objects Settings 116*b7893ccfSSadaf Ebrahimigoogle_unique_objects.debug_action = VK_DBG_LAYER_ACTION_LOG_MSG 117*b7893ccfSSadaf Ebrahimigoogle_unique_objects.report_flags = error,warn,perf 118*b7893ccfSSadaf Ebrahimigoogle_unique_objects.log_filename = stdout 119*b7893ccfSSadaf Ebrahimi################################################################################ 120