VK_LAYER_LUNARG_reference_1_2_1

reference layer

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.

Layer Properties

Layer Settings Overview

LabelVariables KeyTypeDefault ValuePlatforms
toogle toogle BOOL true WINDOWS_X86, WINDOWS_ARM, LINUX, ANDROID
enum enum_required_only ENUM value1 WINDOWS_X86, WINDOWS_ARM, LINUX, ANDROID
flags flags_required_only FLAGS flag0,flag1 WINDOWS_X86, WINDOWS_ARM, LINUX, ANDROID
String string_required_only STRING A string WINDOWS_X86, WINDOWS_ARM, LINUX, ANDROID
bool bool_required_only BOOL true WINDOWS_X86, WINDOWS_ARM, LINUX, ANDROID
Load file load_file_required_only LOAD_FILE ./test.txt WINDOWS_X86, WINDOWS_ARM, LINUX, ANDROID
Save file save_file_required_only SAVE_FILE ./test.json WINDOWS_X86, WINDOWS_ARM, LINUX, ANDROID
Save folder save_folder_required_only SAVE_FOLDER ./test WINDOWS_X86, WINDOWS_ARM, LINUX, ANDROID
Integer int_required_only INT 76 WINDOWS_X86, WINDOWS_ARM, LINUX, ANDROID
Float float_required_only FLOAT 76.500000 WINDOWS_X86, WINDOWS_ARM, LINUX, ANDROID
Frames frames_required_only FRAMES 76-82,75 WINDOWS_X86, WINDOWS_ARM, LINUX, ANDROID
List list_required_only LIST L,R,stringB,stringD WINDOWS_X86, WINDOWS_ARM, LINUX, ANDROID

Layer Settings Details

toogle

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(std::size(data)), data };
vk_layer_settings.txt:lunarg_reference_1_2_1.toogle = true
Environment variables : 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

enum case.

Enum ValueLabelDescriptionPlatforms
value0 Value0 My value0 WINDOWS_X86, WINDOWS_ARM, LINUX, ANDROID
value1 Value1 My value1 WINDOWS_X86, WINDOWS_ARM, LINUX, ANDROID
value2 Value2 My value2 WINDOWS_X86, WINDOWS_ARM, LINUX, ANDROID

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(std::size(data)), data };
vk_layer_settings.txt:lunarg_reference_1_2_1.enum_required_only = value1
Environment variables : 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

flags case.

This setting can list multiple values using the "," (comma) separator.

FlagsLabelDescriptionPlatforms
flag0 Flag0 My flag0 WINDOWS_X86, WINDOWS_ARM, LINUX, ANDROID
flag1 Flag1 My flag1 WINDOWS_X86, WINDOWS_ARM, LINUX, ANDROID
flag2 Flag2 My flag2 WINDOWS_X86, WINDOWS_ARM, LINUX, ANDROID

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(std::size(data)), data };
vk_layer_settings.txt:lunarg_reference_1_2_1.flags_required_only = flag0,flag1
Environment variables : 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

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(std::size(data)), data };
vk_layer_settings.txt:lunarg_reference_1_2_1.string_required_only = A string
Environment variables : 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

bool

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(std::size(data)), data };
vk_layer_settings.txt:lunarg_reference_1_2_1.bool_required_only = true
Environment variables : 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

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(std::size(data)), data };
vk_layer_settings.txt:lunarg_reference_1_2_1.load_file_required_only = ./test.txt
Environment variables : 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

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(std::size(data)), data };
vk_layer_settings.txt:lunarg_reference_1_2_1.save_file_required_only = ./test.json
Environment variables : 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

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(std::size(data)), data };
vk_layer_settings.txt:lunarg_reference_1_2_1.save_folder_required_only = ./test
Environment variables : 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

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(std::size(data)), data };
vk_layer_settings.txt:lunarg_reference_1_2_1.int_required_only = 76
Environment variables : 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

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(std::size(data)), data };
vk_layer_settings.txt:lunarg_reference_1_2_1.float_required_only = 76.500000
Environment variables : 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

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(std::size(data)), data };
vk_layer_settings.txt:lunarg_reference_1_2_1.frames_required_only = 76-82,75
Environment variables : 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

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(std::size(data)), data };
vk_layer_settings.txt:lunarg_reference_1_2_1.list_required_only = L,R,stringB,stringD
Environment variables : 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

Layer Presets

Default

Preset Setting Values:

Preset Enum

Description Enum

Preset Setting Values:

Preset Flags

Description Flags

Preset Setting Values:

Preset String

Description String

Preset Setting Values:

Preset Bool

Description Bool

Preset Setting Values:

Preset Load File

Description Load File

Preset Setting Values:

Preset Save File

Description Save File

Preset Setting Values:

Preset Save Folder

Description Save Folder

Preset Setting Values:

Preset Int

Description Int

Preset Setting Values:

Preset Frames

Description Frames

Preset Setting Values:

Preset List

Description List

Preset Setting Values: