The main, comprehensive Khronos validation layer. Vulkan is an Explicit API, enabling direct control over how GPUs actually work. By design, minimal error checking is done inside a Vulkan driver. Applications have full control and responsibility for correct operation. Any errors in how Vulkan is used can result in a crash. The Khronos Validation Layer can be enabled to assist development by enabling developers to verify their applications correctly use the Vulkan API.
| Label | Variables Key | Type | Default Value | Platforms |
|---|---|---|---|---|
| toogle | toogle | BOOL | true | WINDOWS_X86 span>, WINDOWS_ARM span>, LINUX span>, ANDROID span> |
| enum | enum_required_only | ENUM | value1 | WINDOWS_X86 span>, WINDOWS_ARM span>, LINUX span>, ANDROID span> |
| flags | flags_required_only | FLAGS | flag0,flag1 | WINDOWS_X86 span>, WINDOWS_ARM span>, LINUX span>, ANDROID span> |
| String | string_required_only | STRING | A string | WINDOWS_X86 span>, WINDOWS_ARM span>, LINUX span>, ANDROID span> |
| bool | bool_required_only | BOOL | true | WINDOWS_X86 span>, WINDOWS_ARM span>, LINUX span>, ANDROID span> |
| Load file | load_file_required_only | LOAD_FILE | ./test.txt | WINDOWS_X86 span>, WINDOWS_ARM span>, LINUX span>, ANDROID span> |
| Save file | save_file_required_only | SAVE_FILE | ./test.json | WINDOWS_X86 span>, WINDOWS_ARM span>, LINUX span>, ANDROID span> |
| Save folder | save_folder_required_only | SAVE_FOLDER | ./test | WINDOWS_X86 span>, WINDOWS_ARM span>, LINUX span>, ANDROID span> |
| Integer | int_required_only | INT | 76 | WINDOWS_X86 span>, WINDOWS_ARM span>, LINUX span>, ANDROID span> |
| Float | float_required_only | FLOAT | 76.500000 | WINDOWS_X86 span>, WINDOWS_ARM span>, LINUX span>, ANDROID span> |
| Frames | frames_required_only | FRAMES | 76-82,75 | WINDOWS_X86 span>, WINDOWS_ARM span>, LINUX span>, ANDROID span> |
| List | list_required_only | LIST | L,R,stringB,stringD | WINDOWS_X86 span>, WINDOWS_ARM span>, LINUX span>, ANDROID span> |
true or false.
| Methods: | |
|---|---|
| VK_EXT_layer_settings: | VkBool32 data[] = { VK_TRUE }; VkLayerSettingEXT setting { "VK_LAYER_LUNARG_reference_1_2_1", "toogle", VK_LAYER_SETTING_TYPE_BOOL32_EXT, static_cast |
| vk_layer_settings.txt: | lunarg_reference_1_2_1.toogle = true |
| Environment variables : td> |
export VK_LUNARG_REFERENCE_1_2_1_TOOGLE=true export VK_REFERENCE_1_2_1_TOOGLE=true export VK_TOOGLE=true export VK_REF_TOGGLE=true |
| Android system properties: | adb shell setprop debug.vulkan.lunarg_reference_1_2_1.toogle true adb shell setprop debug.vulkan.reference_1_2_1.toogle true adb shell setprop debug.vulkan.toogle true |
enum case.
| Enum Value | Label | Description | Platforms |
|---|---|---|---|
| value0 | Value0 | My value0 | WINDOWS_X86 span>, WINDOWS_ARM span>, LINUX span>, ANDROID span> |
| value1 | Value1 | My value1 | WINDOWS_X86 span>, WINDOWS_ARM span>, LINUX span>, ANDROID span> |
| value2 | Value2 | My value2 | WINDOWS_X86 span>, WINDOWS_ARM span>, LINUX span>, ANDROID span> |
| Methods: | |
|---|---|
| VK_EXT_layer_settings: | const char* data[] = { "value1" }; VkLayerSettingEXT setting { "VK_LAYER_LUNARG_reference_1_2_1", "enum_required_only", VK_LAYER_SETTING_TYPE_STRING_EXT, static_cast |
| vk_layer_settings.txt: | lunarg_reference_1_2_1.enum_required_only = value1 |
| Environment variables : td> |
export VK_LUNARG_REFERENCE_1_2_1_ENUM_REQUIRED_ONLY=value1 export VK_REFERENCE_1_2_1_ENUM_REQUIRED_ONLY=value1 export VK_ENUM_REQUIRED_ONLY=value1 |
| Android system properties: | adb shell setprop debug.vulkan.lunarg_reference_1_2_1.enum_required_only value1 adb shell setprop debug.vulkan.reference_1_2_1.enum_required_only value1 adb shell setprop debug.vulkan.enum_required_only value1 |
flags case.
This setting can list multiple values using the "," (comma) separator.
| Flags | Label | Description | Platforms |
|---|---|---|---|
| flag0 | Flag0 | My flag0 | WINDOWS_X86 span>, WINDOWS_ARM span>, LINUX span>, ANDROID span> |
| flag1 | Flag1 | My flag1 | WINDOWS_X86 span>, WINDOWS_ARM span>, LINUX span>, ANDROID span> |
| flag2 | Flag2 | My flag2 | WINDOWS_X86 span>, WINDOWS_ARM span>, LINUX span>, ANDROID span> |
| Methods: | |
|---|---|
| VK_EXT_layer_settings: | const char* data[] = { "flag0,flag1" }; VkLayerSettingEXT setting { "VK_LAYER_LUNARG_reference_1_2_1", "flags_required_only", VK_LAYER_SETTING_TYPE_STRING_EXT, static_cast |
| vk_layer_settings.txt: | lunarg_reference_1_2_1.flags_required_only = flag0,flag1 |
| Environment variables : td> |
export VK_LUNARG_REFERENCE_1_2_1_FLAGS_REQUIRED_ONLY=flag0,flag1 export VK_REFERENCE_1_2_1_FLAGS_REQUIRED_ONLY=flag0,flag1 export VK_FLAGS_REQUIRED_ONLY=flag0,flag1 |
| Android system properties: | adb shell setprop debug.vulkan.lunarg_reference_1_2_1.flags_required_only flag0,flag1 adb shell setprop debug.vulkan.reference_1_2_1.flags_required_only flag0,flag1 adb shell setprop debug.vulkan.flags_required_only flag0,flag1 |
string.
| Methods: | |
|---|---|
| VK_EXT_layer_settings: | const char* data[] = { "A string" }; VkLayerSettingEXT setting { "VK_LAYER_LUNARG_reference_1_2_1", "string_required_only", VK_LAYER_SETTING_TYPE_STRING_EXT, static_cast |
| vk_layer_settings.txt: | lunarg_reference_1_2_1.string_required_only = A string |
| Environment variables : td> |
export VK_LUNARG_REFERENCE_1_2_1_STRING_REQUIRED_ONLY=A string export VK_REFERENCE_1_2_1_STRING_REQUIRED_ONLY=A string export VK_STRING_REQUIRED_ONLY=A string |
| Android system properties: | adb shell setprop debug.vulkan.lunarg_reference_1_2_1.string_required_only A string adb shell setprop debug.vulkan.reference_1_2_1.string_required_only A string adb shell setprop debug.vulkan.string_required_only A string |
true or false.
| Methods: | |
|---|---|
| VK_EXT_layer_settings: | VkBool32 data[] = { VK_TRUE }; VkLayerSettingEXT setting { "VK_LAYER_LUNARG_reference_1_2_1", "bool_required_only", VK_LAYER_SETTING_TYPE_BOOL32_EXT, static_cast |
| vk_layer_settings.txt: | lunarg_reference_1_2_1.bool_required_only = true |
| Environment variables : td> |
export VK_LUNARG_REFERENCE_1_2_1_BOOL_REQUIRED_ONLY=true export VK_REFERENCE_1_2_1_BOOL_REQUIRED_ONLY=true export VK_BOOL_REQUIRED_ONLY=true |
| Android system properties: | adb shell setprop debug.vulkan.lunarg_reference_1_2_1.bool_required_only true adb shell setprop debug.vulkan.reference_1_2_1.bool_required_only true adb shell setprop debug.vulkan.bool_required_only true |
Load file path.
| Methods: | |
|---|---|
| VK_EXT_layer_settings: | const char* data[] = { "./test.txt" }; VkLayerSettingEXT setting { "VK_LAYER_LUNARG_reference_1_2_1", "load_file_required_only", VK_LAYER_SETTING_TYPE_STRING_EXT, static_cast |
| vk_layer_settings.txt: | lunarg_reference_1_2_1.load_file_required_only = ./test.txt |
| Environment variables : td> |
export VK_LUNARG_REFERENCE_1_2_1_LOAD_FILE_REQUIRED_ONLY=./test.txt export VK_REFERENCE_1_2_1_LOAD_FILE_REQUIRED_ONLY=./test.txt export VK_LOAD_FILE_REQUIRED_ONLY=./test.txt |
| Android system properties: | adb shell setprop debug.vulkan.lunarg_reference_1_2_1.load_file_required_only ./test.txt adb shell setprop debug.vulkan.reference_1_2_1.load_file_required_only ./test.txt adb shell setprop debug.vulkan.load_file_required_only ./test.txt |
Save file path.
| Methods: | |
|---|---|
| VK_EXT_layer_settings: | const char* data[] = { "./test.json" }; VkLayerSettingEXT setting { "VK_LAYER_LUNARG_reference_1_2_1", "save_file_required_only", VK_LAYER_SETTING_TYPE_STRING_EXT, static_cast |
| vk_layer_settings.txt: | lunarg_reference_1_2_1.save_file_required_only = ./test.json |
| Environment variables : td> |
export VK_LUNARG_REFERENCE_1_2_1_SAVE_FILE_REQUIRED_ONLY=./test.json export VK_REFERENCE_1_2_1_SAVE_FILE_REQUIRED_ONLY=./test.json export VK_SAVE_FILE_REQUIRED_ONLY=./test.json |
| Android system properties: | adb shell setprop debug.vulkan.lunarg_reference_1_2_1.save_file_required_only ./test.json adb shell setprop debug.vulkan.reference_1_2_1.save_file_required_only ./test.json adb shell setprop debug.vulkan.save_file_required_only ./test.json |
Save folder path.
| Methods: | |
|---|---|
| VK_EXT_layer_settings: | const char* data[] = { "./test" }; VkLayerSettingEXT setting { "VK_LAYER_LUNARG_reference_1_2_1", "save_folder_required_only", VK_LAYER_SETTING_TYPE_STRING_EXT, static_cast |
| vk_layer_settings.txt: | lunarg_reference_1_2_1.save_folder_required_only = ./test |
| Environment variables : td> |
export VK_LUNARG_REFERENCE_1_2_1_SAVE_FOLDER_REQUIRED_ONLY=./test export VK_REFERENCE_1_2_1_SAVE_FOLDER_REQUIRED_ONLY=./test export VK_SAVE_FOLDER_REQUIRED_ONLY=./test |
| Android system properties: | adb shell setprop debug.vulkan.lunarg_reference_1_2_1.save_folder_required_only ./test adb shell setprop debug.vulkan.reference_1_2_1.save_folder_required_only ./test adb shell setprop debug.vulkan.save_folder_required_only ./test |
Integer Description.
| Methods: | |
|---|---|
| VK_EXT_layer_settings: | int32_t data[] = { 76 }; VkLayerSettingEXT setting { "VK_LAYER_LUNARG_reference_1_2_1", "int_required_only", VK_LAYER_SETTING_TYPE_INT32_EXT, static_cast |
| vk_layer_settings.txt: | lunarg_reference_1_2_1.int_required_only = 76 |
| Environment variables : td> |
export VK_LUNARG_REFERENCE_1_2_1_INT_REQUIRED_ONLY=76 export VK_REFERENCE_1_2_1_INT_REQUIRED_ONLY=76 export VK_INT_REQUIRED_ONLY=76 |
| Android system properties: | adb shell setprop debug.vulkan.lunarg_reference_1_2_1.int_required_only 76 adb shell setprop debug.vulkan.reference_1_2_1.int_required_only 76 adb shell setprop debug.vulkan.int_required_only 76 |
Float Description.
| Methods: | |
|---|---|
| VK_EXT_layer_settings: | float data[] = { 76.500000 }; VkLayerSettingEXT setting { "VK_LAYER_LUNARG_reference_1_2_1", "float_required_only", VK_LAYER_SETTING_TYPE_FLOAT32_EXT, static_cast |
| vk_layer_settings.txt: | lunarg_reference_1_2_1.float_required_only = 76.500000 |
| Environment variables : td> |
export VK_LUNARG_REFERENCE_1_2_1_FLOAT_REQUIRED_ONLY=76.500000 export VK_REFERENCE_1_2_1_FLOAT_REQUIRED_ONLY=76.500000 export VK_FLOAT_REQUIRED_ONLY=76.500000 |
| Android system properties: | adb shell setprop debug.vulkan.lunarg_reference_1_2_1.float_required_only 76.500000 adb shell setprop debug.vulkan.reference_1_2_1.float_required_only 76.500000 adb shell setprop debug.vulkan.float_required_only 76.500000 |
Frames Description.
| Methods: | |
|---|---|
| VK_EXT_layer_settings: | uint32_t data[] = { 76-82,75 }; VkLayerSettingEXT setting { "VK_LAYER_LUNARG_reference_1_2_1", "frames_required_only", VK_LAYER_SETTING_TYPE_UINT32_EXT, static_cast |
| vk_layer_settings.txt: | lunarg_reference_1_2_1.frames_required_only = 76-82,75 |
| Environment variables : td> |
export VK_LUNARG_REFERENCE_1_2_1_FRAMES_REQUIRED_ONLY=76-82,75 export VK_REFERENCE_1_2_1_FRAMES_REQUIRED_ONLY=76-82,75 export VK_FRAMES_REQUIRED_ONLY=76-82,75 |
| Android system properties: | adb shell setprop debug.vulkan.lunarg_reference_1_2_1.frames_required_only 76-82,75 adb shell setprop debug.vulkan.reference_1_2_1.frames_required_only 76-82,75 adb shell setprop debug.vulkan.frames_required_only 76-82,75 |
List description.
This setting can list multiple values using the "," (comma) separator.
| Methods: | |
|---|---|
| VK_EXT_layer_settings: | const char* data[] = { "L,R,stringB,stringD" }; VkLayerSettingEXT setting { "VK_LAYER_LUNARG_reference_1_2_1", "list_required_only", VK_LAYER_SETTING_TYPE_STRING_EXT, static_cast |
| vk_layer_settings.txt: | lunarg_reference_1_2_1.list_required_only = L,R,stringB,stringD |
| Environment variables : td> |
export VK_LUNARG_REFERENCE_1_2_1_LIST_REQUIRED_ONLY=L,R,stringB,stringD export VK_REFERENCE_1_2_1_LIST_REQUIRED_ONLY=L,R,stringB,stringD export VK_LIST_REQUIRED_ONLY=L,R,stringB,stringD |
| Android system properties: | adb shell setprop debug.vulkan.lunarg_reference_1_2_1.list_required_only L,R,stringB,stringD adb shell setprop debug.vulkan.reference_1_2_1.list_required_only L,R,stringB,stringD adb shell setprop debug.vulkan.list_required_only L,R,stringB,stringD |
Description Enum
Description Flags
Description String
Description Bool
Description Load File
Description Save File
Description Save Folder
Description Int
Description Frames
Description List