@@ -1357,13 +1357,20 @@ TEST(SettingsFile, EnvVarsWork_VK_INSTANCE_LAYERS_multiple_layers) {
13571357 ManifestLayer::LayerDescription{}.set_name (explicit_layer_name2).set_lib_path (TEST_LAYER_PATH_EXPORT_VERSION_2)),
13581358 " explicit_test_layer2.json" });
13591359
1360+ const char * explicit_layer_name3 = " VK_LAYER_Regular_TestLayer3" ;
1361+ env.add_explicit_layer (TestLayerDetails{
1362+ ManifestLayer{}.add_layer (
1363+ ManifestLayer::LayerDescription{}.set_name (explicit_layer_name3).set_lib_path (TEST_LAYER_PATH_EXPORT_VERSION_2)),
1364+ " explicit_test_layer3.json" });
1365+
13601366 EnvVarWrapper vk_instance_layers{" VK_INSTANCE_LAYERS" };
13611367 vk_instance_layers.add_to_list (explicit_layer_name2);
13621368 vk_instance_layers.add_to_list (explicit_layer_name1);
13631369 {
1364- auto layer_props = env.GetLayerProperties (2 );
1370+ auto layer_props = env.GetLayerProperties (3 );
13651371 ASSERT_TRUE (string_eq (layer_props.at (0 ).layerName , explicit_layer_name1));
13661372 ASSERT_TRUE (string_eq (layer_props.at (1 ).layerName , explicit_layer_name2));
1373+ ASSERT_TRUE (string_eq (layer_props.at (2 ).layerName , explicit_layer_name3));
13671374
13681375 InstWrapper inst{env.vulkan_functions };
13691376 FillDebugUtilsCreateDetails (inst.create_info , env.debug_log );
@@ -1381,10 +1388,15 @@ TEST(SettingsFile, EnvVarsWork_VK_INSTANCE_LAYERS_multiple_layers) {
13811388 LoaderSettingsLayerConfiguration{}
13821389 .set_name (explicit_layer_name2)
13831390 .set_control (" off" )
1384- .set_path (env.get_shimmed_layer_manifest_path (1 ))}));
1391+ .set_path (env.get_shimmed_layer_manifest_path (1 )),
1392+ LoaderSettingsLayerConfiguration{}
1393+ .set_name (explicit_layer_name3)
1394+ .set_control (" auto" )
1395+ .set_path (env.get_shimmed_layer_manifest_path (2 ))}));
13851396 env.update_loader_settings (env.loader_settings );
13861397 {
1387- ASSERT_NO_FATAL_FAILURE (env.GetLayerProperties (0 ));
1398+ auto layer_props = env.GetLayerProperties (1 );
1399+ ASSERT_TRUE (string_eq (layer_props.at (0 ).layerName , explicit_layer_name3));
13881400
13891401 InstWrapper inst{env.vulkan_functions };
13901402 FillDebugUtilsCreateDetails (inst.create_info , env.debug_log );
@@ -1395,8 +1407,9 @@ TEST(SettingsFile, EnvVarsWork_VK_INSTANCE_LAYERS_multiple_layers) {
13951407 env.loader_settings .app_specific_settings .at (0 ).layer_configurations .at (0 ).control = " auto" ;
13961408 env.update_loader_settings (env.loader_settings );
13971409 {
1398- auto layer_props = env.GetLayerProperties (1 );
1410+ auto layer_props = env.GetLayerProperties (2 );
13991411 ASSERT_TRUE (string_eq (layer_props.at (0 ).layerName , explicit_layer_name1));
1412+ ASSERT_TRUE (string_eq (layer_props.at (1 ).layerName , explicit_layer_name3));
14001413
14011414 InstWrapper inst{env.vulkan_functions };
14021415 FillDebugUtilsCreateDetails (inst.create_info , env.debug_log );
@@ -1408,8 +1421,9 @@ TEST(SettingsFile, EnvVarsWork_VK_INSTANCE_LAYERS_multiple_layers) {
14081421 env.loader_settings .app_specific_settings .at (0 ).layer_configurations .at (0 ).control = " on" ;
14091422 env.update_loader_settings (env.loader_settings );
14101423 {
1411- auto layer_props = env.GetLayerProperties (1 );
1424+ auto layer_props = env.GetLayerProperties (2 );
14121425 ASSERT_TRUE (string_eq (layer_props.at (0 ).layerName , explicit_layer_name1));
1426+ ASSERT_TRUE (string_eq (layer_props.at (1 ).layerName , explicit_layer_name3));
14131427
14141428 InstWrapper inst{env.vulkan_functions };
14151429 FillDebugUtilsCreateDetails (inst.create_info , env.debug_log );
@@ -1421,8 +1435,9 @@ TEST(SettingsFile, EnvVarsWork_VK_INSTANCE_LAYERS_multiple_layers) {
14211435 env.loader_settings .app_specific_settings .at (0 ).layer_configurations .at (1 ).control = " auto" ;
14221436 env.update_loader_settings (env.loader_settings );
14231437 {
1424- auto layer_props = env.GetLayerProperties (1 );
1438+ auto layer_props = env.GetLayerProperties (2 );
14251439 ASSERT_TRUE (string_eq (layer_props.at (0 ).layerName , explicit_layer_name2));
1440+ ASSERT_TRUE (string_eq (layer_props.at (1 ).layerName , explicit_layer_name3));
14261441
14271442 InstWrapper inst{env.vulkan_functions };
14281443 FillDebugUtilsCreateDetails (inst.create_info , env.debug_log );
@@ -1434,21 +1449,22 @@ TEST(SettingsFile, EnvVarsWork_VK_INSTANCE_LAYERS_multiple_layers) {
14341449 env.loader_settings .app_specific_settings .at (0 ).layer_configurations .at (1 ).control = " on" ;
14351450 env.update_loader_settings (env.loader_settings );
14361451 {
1437- auto layer_props = env.GetLayerProperties (1 );
1452+ auto layer_props = env.GetLayerProperties (2 );
14381453 ASSERT_TRUE (string_eq (layer_props.at (0 ).layerName , explicit_layer_name2));
1454+ ASSERT_TRUE (string_eq (layer_props.at (1 ).layerName , explicit_layer_name3));
14391455
14401456 InstWrapper inst{env.vulkan_functions };
14411457 FillDebugUtilsCreateDetails (inst.create_info , env.debug_log );
14421458 inst.CheckCreate ();
14431459 auto layers = inst.GetActiveLayers (inst.GetPhysDev (), 1 );
14441460 ASSERT_TRUE (string_eq (layers.at (0 ).layerName , explicit_layer_name2));
14451461 }
1446- env.loader_settings .app_specific_settings .at (0 ).layer_configurations .at (0 ).control = " auto" ;
1462+ env.loader_settings .app_specific_settings .at (0 ).layer_configurations .at (1 ).control = " auto" ;
14471463 env.update_loader_settings (env.loader_settings );
14481464 {
14491465 auto layer_props = env.GetLayerProperties (2 );
1450- ASSERT_TRUE (string_eq (layer_props.at (0 ).layerName , explicit_layer_name1 ));
1451- ASSERT_TRUE (string_eq (layer_props.at (1 ).layerName , explicit_layer_name2 ));
1466+ ASSERT_TRUE (string_eq (layer_props.at (0 ).layerName , explicit_layer_name2 ));
1467+ ASSERT_TRUE (string_eq (layer_props.at (1 ).layerName , explicit_layer_name3 ));
14521468
14531469 InstWrapper inst{env.vulkan_functions };
14541470 FillDebugUtilsCreateDetails (inst.create_info , env.debug_log );
@@ -1459,9 +1475,10 @@ TEST(SettingsFile, EnvVarsWork_VK_INSTANCE_LAYERS_multiple_layers) {
14591475 env.loader_settings .app_specific_settings .at (0 ).layer_configurations .at (0 ).control = " on" ;
14601476 env.update_loader_settings (env.loader_settings );
14611477 {
1462- auto layer_props = env.GetLayerProperties (2 );
1478+ auto layer_props = env.GetLayerProperties (3 );
14631479 ASSERT_TRUE (string_eq (layer_props.at (0 ).layerName , explicit_layer_name1));
14641480 ASSERT_TRUE (string_eq (layer_props.at (1 ).layerName , explicit_layer_name2));
1481+ ASSERT_TRUE (string_eq (layer_props.at (2 ).layerName , explicit_layer_name3));
14651482
14661483 InstWrapper inst{env.vulkan_functions };
14671484 FillDebugUtilsCreateDetails (inst.create_info , env.debug_log );
0 commit comments