Lines Matching refs:env

30 void CheckLogForLayerString(FrameworkEnvironment& env, const char* implicit_layer_name, bool check_for_enable) {
32 InstWrapper inst{env.vulkan_functions};
33 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
36 ASSERT_TRUE(env.debug_log.find(std::string("Insert instance layer \"") + implicit_layer_name));
38 ASSERT_FALSE(env.debug_log.find(std::string("Insert instance layer \"") + implicit_layer_name));
41 env.debug_log.clear();
47 FrameworkEnvironment env;
48 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA));
54 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
61 auto layers = env.GetLayerProperties(1);
64 // didn't set enable env-var, layer should not load
65 CheckLogForLayerString(env, implicit_layer_name, false);
67 // set enable env-var to 0, no layer should be found
69 CheckLogForLayerString(env, implicit_layer_name, false);
71 // set enable env-var, layer should load
73 CheckLogForLayerString(env, implicit_layer_name, true);
75 // remove enable env var, so we can check what happens when only disable is present
78 // set disable env-var to 0, layer should not load
80 CheckLogForLayerString(env, implicit_layer_name, false);
82 // set disable env-var to 1, layer should not load
84 CheckLogForLayerString(env, implicit_layer_name, false);
86 // set both enable and disable env-var, layer should not load
89 CheckLogForLayerString(env, implicit_layer_name, false);
93 FrameworkEnvironment env;
94 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA));
98 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
104 auto layers = env.GetLayerProperties(1);
107 // don't set disable env-var, layer should load
108 CheckLogForLayerString(env, implicit_layer_name, true);
110 // set disable env-var to 0, layer should load
112 CheckLogForLayerString(env, implicit_layer_name, false);
114 // set disable env-var to 1, layer should not load
116 CheckLogForLayerString(env, implicit_layer_name, false);
119 InstWrapper inst{env.vulkan_functions};
120 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
123 ASSERT_TRUE(env.debug_log.find(std::string("Insert instance layer \"") + implicit_layer_name));
128 FrameworkEnvironment env;
129 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA));
133 env.add_implicit_layer(
145 auto& layer = env.get_test_layer(0);
149 ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
152 // set disable env-var to 1, layer should not load
156 ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
162 FrameworkEnvironment env;
163 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA));
167 env.add_implicit_layer(
179 auto& layer = env.get_test_layer(0);
183 ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &count, nullptr));
186 // set disable env-var to 1, layer should not load
190 ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &count, nullptr));
196 FrameworkEnvironment env;
197 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA))
204 env.add_implicit_layer(ManifestLayer{}.set_file_format_version({1, 1, 2}).add_layer(
216 auto& layer = env.get_test_layer(0);
220 ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceVersion(&version));
223 // set disable env-var to 1, layer should not load
227 ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceVersion(&version));
237 FrameworkEnvironment env;
238 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
243 env.add_implicit_layer(ManifestLayer{}.set_file_format_version({1, 0, 0}).add_layer(
254 InstWrapper inst1{env.vulkan_functions};
259 // set disable env-var to 1, layer should not load
261 InstWrapper inst2{env.vulkan_functions};
266 // Force enable with filter env var
268 FrameworkEnvironment env;
270 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA))
278 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
290 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
302 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
314 InstWrapper inst1{env.vulkan_functions};
315 FillDebugUtilsCreateDetails(inst1.create_info, env.debug_log);
318 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_1));
319 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_1));
320 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "forced enabled due to env var"));
321 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "disabled because name matches filter of env var"));
322 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_2));
323 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_2));
324 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "forced enabled due to env var"));
325 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "disabled because name matches filter of env var"));
326 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_3));
327 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_3));
328 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "forced enabled due to env var"));
329 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "disabled because name matches filter of env var"));
333 env.debug_log.clear();
336 InstWrapper inst2{env.vulkan_functions};
337 FillDebugUtilsCreateDetails(inst2.create_info, env.debug_log);
340 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_1));
341 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_1));
342 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "forced enabled due to env var"));
343 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "disabled because name matches filter of env var"));
344 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_2));
345 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_2));
346 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "forced enabled due to env var"));
347 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "disabled because name matches filter of env var"));
348 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_3));
349 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_3));
350 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "forced enabled due to env var"));
351 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "disabled because name matches filter of env var"));
355 env.debug_log.clear();
358 InstWrapper inst3{env.vulkan_functions};
359 FillDebugUtilsCreateDetails(inst3.create_info, env.debug_log);
362 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_1));
363 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_1));
364 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "forced enabled due to env var"));
365 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "disabled because name matches filter of env var"));
366 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_2));
367 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_2));
368 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "forced enabled due to env var"));
369 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "disabled because name matches filter of env var"));
370 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_3));
371 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_3));
372 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "forced enabled due to env var"));
373 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "disabled because name matches filter of env var"));
377 env.debug_log.clear();
380 InstWrapper inst4{env.vulkan_functions};
381 FillDebugUtilsCreateDetails(inst4.create_info, env.debug_log);
384 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_1));
385 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_1));
386 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "forced enabled due to env var"));
387 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "disabled because name matches filter of env var"));
388 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_2));
389 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_2));
390 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "forced enabled due to env var"));
391 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "disabled because name matches filter of env var"));
392 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_3));
393 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_3));
394 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "forced enabled due to env var"));
395 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "disabled because name matches filter of env var"));
399 env.debug_log.clear();
402 InstWrapper inst5{env.vulkan_functions};
403 FillDebugUtilsCreateDetails(inst5.create_info, env.debug_log);
406 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_1));
407 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_1));
408 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "forced enabled due to env var"));
409 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "disabled because name matches filter of env var"));
410 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_2));
411 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_2));
412 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "forced enabled due to env var"));
413 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "disabled because name matches filter of env var"));
414 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_3));
415 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_3));
416 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "forced enabled due to env var"));
417 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "disabled because name matches filter of env var"));
421 env.debug_log.clear();
424 InstWrapper inst6{env.vulkan_functions};
425 FillDebugUtilsCreateDetails(inst6.create_info, env.debug_log);
428 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_1));
429 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_1));
430 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "forced enabled due to env var"));
431 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "disabled because name matches filter of env var"));
432 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_2));
433 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_2));
434 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "forced enabled due to env var"));
435 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "disabled because name matches filter of env var"));
436 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_3));
437 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_3));
438 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "forced enabled due to env var"));
439 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "disabled because name matches filter of env var"));
443 env.debug_log.clear();
446 InstWrapper inst7{env.vulkan_functions};
447 FillDebugUtilsCreateDetails(inst7.create_info, env.debug_log);
450 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_1));
451 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_1));
452 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "forced enabled due to env var"));
453 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "disabled because name matches filter of env var"));
454 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_2));
455 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_2));
456 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "forced enabled due to env var"));
457 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "disabled because name matches filter of env var"));
458 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_3));
459 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_3));
460 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "forced enabled due to env var"));
461 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "disabled because name matches filter of env var"));
465 env.debug_log.clear();
469 InstWrapper inst8{env.vulkan_functions};
470 FillDebugUtilsCreateDetails(inst8.create_info, env.debug_log);
473 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_1));
474 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_1));
475 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "forced enabled due to env var"));
476 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "disabled because name matches filter of env var"));
477 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_2));
478 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_2));
479 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "forced enabled due to env var"));
480 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "disabled because name matches filter of env var"));
481 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_3));
482 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_3));
483 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "forced enabled due to env var"));
484 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "disabled because name matches filter of env var"));
487 // Force disabled with new filter env var
489 FrameworkEnvironment env;
490 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA, VK_API_VERSION_1_2))
496 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
506 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
516 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
526 InstWrapper inst1{env.vulkan_functions};
527 FillDebugUtilsCreateDetails(inst1.create_info, env.debug_log);
530 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_1));
531 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_1));
532 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "forced enabled due to env var"));
533 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "disabled because name matches filter of env var"));
534 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_2));
535 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_2));
536 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "forced enabled due to env var"));
537 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "disabled because name matches filter of env var"));
538 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_3));
539 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_3));
540 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "forced enabled due to env var"));
541 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "disabled because name matches filter of env var"));
545 env.debug_log.clear();
548 InstWrapper inst2{env.vulkan_functions};
549 FillDebugUtilsCreateDetails(inst2.create_info, env.debug_log);
552 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_1));
553 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_1));
554 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "forced enabled due to env var"));
555 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "disabled because name matches filter of env var"));
556 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_2));
557 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_2));
558 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "forced enabled due to env var"));
559 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "disabled because name matches filter of env var"));
560 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_3));
561 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_3));
562 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "forced enabled due to env var"));
563 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "disabled because name matches filter of env var"));
567 env.debug_log.clear();
570 InstWrapper inst3{env.vulkan_functions};
571 FillDebugUtilsCreateDetails(inst3.create_info, env.debug_log);
574 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_1));
575 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_1));
576 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "forced enabled due to env var"));
577 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "disabled because name matches filter of env var"));
578 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_2));
579 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_2));
580 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "forced enabled due to env var"));
581 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "disabled because name matches filter of env var"));
582 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_3));
583 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_3));
584 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "forced enabled due to env var"));
585 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "disabled because name matches filter of env var"));
589 env.debug_log.clear();
592 InstWrapper inst4{env.vulkan_functions};
593 FillDebugUtilsCreateDetails(inst4.create_info, env.debug_log);
596 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_1));
597 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_1));
598 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "forced enabled due to env var"));
599 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "disabled because name matches filter of env var"));
600 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_2));
601 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_2));
602 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "forced enabled due to env var"));
603 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "disabled because name matches filter of env var"));
604 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_3));
605 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_3));
606 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "forced enabled due to env var"));
607 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "disabled because name matches filter of env var"));
611 env.debug_log.clear();
614 InstWrapper inst5{env.vulkan_functions};
615 FillDebugUtilsCreateDetails(inst5.create_info, env.debug_log);
618 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_1));
619 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_1));
620 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "forced enabled due to env var"));
621 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "disabled because name matches filter of env var"));
622 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_2));
623 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_2));
624 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "forced enabled due to env var"));
625 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "disabled because name matches filter of env var"));
626 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_3));
627 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_3));
628 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "forced enabled due to env var"));
629 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "disabled because name matches filter of env var"));
633 env.debug_log.clear();
636 InstWrapper inst6{env.vulkan_functions};
637 FillDebugUtilsCreateDetails(inst6.create_info, env.debug_log);
640 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_1));
641 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_1));
642 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "forced enabled due to env var"));
643 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "disabled because name matches filter of env var"));
644 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_2));
645 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_2));
646 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "forced enabled due to env var"));
647 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "disabled because name matches filter of env var"));
648 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_3));
649 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_3));
650 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "forced enabled due to env var"));
651 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "disabled because name matches filter of env var"));
655 env.debug_log.clear();
658 InstWrapper inst7{env.vulkan_functions};
659 FillDebugUtilsCreateDetails(inst7.create_info, env.debug_log);
662 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_1));
663 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_1));
664 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "forced enabled due to env var"));
665 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "disabled because name matches filter of env var"));
666 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_2));
667 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_2));
668 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "forced enabled due to env var"));
669 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "disabled because name matches filter of env var"));
670 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_3));
671 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_3));
672 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "forced enabled due to env var"));
673 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "disabled because name matches filter of env var"));
676 // Force disabled with new filter env var
678 FrameworkEnvironment env;
679 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA, VK_API_VERSION_1_2))
686 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
698 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
711 InstWrapper inst1{env.vulkan_functions};
712 FillDebugUtilsCreateDetails(inst1.create_info, env.debug_log);
715 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_1));
716 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_1));
717 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "forced enabled due to env var"));
718 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "disabled because name matches filter of env var"));
719 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_2));
720 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_2));
721 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "forced enabled due to env var"));
722 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "disabled because name matches filter of env var"));
724 // Set the layers enable env-var
726 env.debug_log.clear();
730 InstWrapper inst2{env.vulkan_functions};
731 FillDebugUtilsCreateDetails(inst2.create_info, env.debug_log);
734 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_1));
735 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_1));
736 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "forced enabled due to env var"));
737 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "disabled because name matches filter of env var"));
738 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_2));
739 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_2));
740 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "forced enabled due to env var"));
741 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "disabled because name matches filter of env var"));
745 env.debug_log.clear();
748 InstWrapper inst3{env.vulkan_functions};
749 FillDebugUtilsCreateDetails(inst3.create_info, env.debug_log);
752 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_1));
753 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_1));
754 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "forced enabled due to env var"));
755 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "disabled because name matches filter of env var"));
756 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_2));
757 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_2));
758 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "forced enabled due to env var"));
759 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "disabled because name matches filter of env var"));
763 env.debug_log.clear();
766 InstWrapper inst4{env.vulkan_functions};
767 FillDebugUtilsCreateDetails(inst4.create_info, env.debug_log);
770 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_1));
771 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_1));
772 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "forced enabled due to env var"));
773 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "disabled because name matches filter of env var"));
774 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_2));
775 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_2));
776 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "forced enabled due to env var"));
777 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "disabled because name matches filter of env var"));
783 FrameworkEnvironment env;
784 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA, VK_API_VERSION_1_2))
790 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
800 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
810 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
822 env.debug_log.clear();
826 InstWrapper inst1{env.vulkan_functions};
827 FillDebugUtilsCreateDetails(inst1.create_info, env.debug_log);
830 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_1));
831 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_1));
832 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "forced enabled due to env var"));
833 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "disabled because name matches filter of env var"));
834 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_2));
835 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_2));
836 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "forced enabled due to env var"));
837 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "disabled because name matches filter of env var"));
838 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_3));
839 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_3));
840 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "forced enabled due to env var"));
841 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "disabled because name matches filter of env var"));
845 env.debug_log.clear();
849 InstWrapper inst2{env.vulkan_functions};
850 FillDebugUtilsCreateDetails(inst2.create_info, env.debug_log);
853 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_1));
854 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_1));
855 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "forced enabled due to env var"));
856 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "disabled because name matches filter of env var"));
857 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_2));
858 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_2));
859 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "forced enabled due to env var"));
860 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "disabled because name matches filter of env var"));
861 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_3));
862 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_3));
863 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "forced enabled due to env var"));
864 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "disabled because name matches filter of env var"));
868 env.debug_log.clear();
872 InstWrapper inst3{env.vulkan_functions};
873 FillDebugUtilsCreateDetails(inst3.create_info, env.debug_log);
876 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_1));
877 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_1));
878 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "forced enabled due to env var"));
879 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "disabled because name matches filter of env var"));
880 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_2));
881 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_2));
882 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "forced enabled due to env var"));
883 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "disabled because name matches filter of env var"));
884 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_3));
885 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_3));
886 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "forced enabled due to env var"));
887 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "disabled because name matches filter of env var"));
891 env.debug_log.clear();
895 InstWrapper inst4{env.vulkan_functions};
896 FillDebugUtilsCreateDetails(inst4.create_info, env.debug_log);
899 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_1));
900 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_1));
901 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "forced enabled due to env var"));
902 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "disabled because name matches filter of env var"));
903 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_2));
904 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_2));
905 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "forced enabled due to env var"));
906 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "disabled because name matches filter of env var"));
907 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_3));
908 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_3));
909 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "forced enabled due to env var"));
910 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "disabled because name matches filter of env var"));
914 env.debug_log.clear();
918 InstWrapper inst5{env.vulkan_functions};
919 FillDebugUtilsCreateDetails(inst5.create_info, env.debug_log);
922 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_1));
923 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_1));
924 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "forced enabled due to env var"));
925 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "disabled because name matches filter of env var"));
926 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_2));
927 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_2));
928 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "forced enabled due to env var"));
929 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "disabled because name matches filter of env var"));
930 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_3));
931 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_3));
932 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "forced enabled due to env var"));
933 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "disabled because name matches filter of env var"));
937 env.debug_log.clear();
941 InstWrapper inst6{env.vulkan_functions};
942 FillDebugUtilsCreateDetails(inst6.create_info, env.debug_log);
945 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_1));
946 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_1));
947 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "forced enabled due to env var"));
948 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_1, "disabled because name matches filter of env var"));
949 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_2));
950 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_2));
951 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "forced enabled due to env var"));
952 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_2, "disabled because name matches filter of env var"));
953 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", implicit_json_name_3));
954 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", implicit_layer_name_3));
955 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "forced enabled due to env var"));
956 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(implicit_layer_name_3, "disabled because name matches filter of env var"));
962 FrameworkEnvironment env;
963 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
967 env.add_implicit_layer(TestLayerDetails(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
973 auto& layer1 = env.get_test_layer(0);
977 env.add_implicit_layer(TestLayerDetails(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
985 auto& layer2 = env.get_test_layer(1);
989 env.platform_shim->add_manifest(ManifestCategory::implicit_layer, env.get_folder(ManifestLocation::override_layer).location());
991 env.platform_shim->redirect_path(fs::path(USER_LOCAL_SHARE_DIR "/vulkan/implicit_layer.d"),
992 env.get_folder(ManifestLocation::override_layer).location());
995 auto layer_props = env.GetLayerProperties(2);
1001 InstWrapper inst{env.vulkan_functions};
1002 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
1008 ASSERT_TRUE(env.debug_log.find("actually_layer_1"));
1009 ASSERT_FALSE(env.debug_log.find("actually_layer_2"));
1014 FrameworkEnvironment env;
1015 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA));
1019 env.add_implicit_layer(ManifestLayer{}.set_file_format_version({1, 1, 2}).add_layer(
1029 env.add_explicit_layer(
1035 auto layer_props = env.GetLayerProperties(1);
1038 auto extensions = env.GetInstanceExtensions(4);
1044 InstWrapper inst{env.vulkan_functions};
1046 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
1048 ASSERT_TRUE(env.debug_log.find(std::string("verify_meta_layer_component_layers: Meta-layer ") + meta_layer_name +
1054 FrameworkEnvironment env;
1055 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
1058 env.add_explicit_layer(
1063 env.add_explicit_layer(
1070 auto layer_props = env.GetLayerProperties(2);
1073 auto extensions = env.GetInstanceExtensions(4);
1080 InstWrapper inst{env.vulkan_functions};
1085 InstWrapper inst{env.vulkan_functions};
1095 FrameworkEnvironment env;
1096 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA));
1099 env.add_implicit_layer(ManifestLayer{}.set_file_format_version({1, 1, 2}).add_layer(
1108 env.add_explicit_layer(
1114 auto layer_props = env.GetLayerProperties(1);
1117 auto extensions = env.GetInstanceExtensions(4);
1123 InstWrapper inst{env.vulkan_functions};
1125 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
1127 ASSERT_TRUE(env.debug_log.find(std::string("verify_meta_layer_component_layers: Meta-layer ") + meta_layer_name +
1133 FrameworkEnvironment env;
1134 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA));
1138 env.add_explicit_layer(
1142 env.add_explicit_layer(
1146 env.add_explicit_layer(ManifestLayer{}.set_file_format_version({1, 1, 2}).add_layer(
1152 auto layer_props = env.GetLayerProperties(3);
1155 auto extensions = env.GetInstanceExtensions(4);
1161 InstWrapper inst{env.vulkan_functions};
1163 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
1165 ASSERT_TRUE(env.debug_log.find(std::string("verify_meta_layer_component_layers: Adding meta-layer ") + meta_meta_layer_name +
1170 FrameworkEnvironment env;
1171 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
1176 env.add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
1181 env.add_explicit_layer(
1186 auto extensions = env.GetInstanceExtensions(1, meta_layer_name);
1191 FrameworkEnvironment env;
1192 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
1197 env.add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
1202 env.add_explicit_layer(
1207 ASSERT_NO_FATAL_FAILURE(env.GetInstanceExtensions(0, meta_layer_name));
1210 InstWrapper inst{env.vulkan_functions};
1211 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
1213 ASSERT_TRUE(env.debug_log.find(std::string("Meta-layer ") + meta_layer_name + " component layer " + regular_layer_name +
1220 InstWrapper inst{env.vulkan_functions};
1222 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
1224 ASSERT_TRUE(env.debug_log.find(std::string("Meta-layer ") + meta_layer_name + " component layer " + regular_layer_name +
1234 FrameworkEnvironment env;
1235 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
1238 env.add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
1245 env.add_implicit_layer(
1252 auto layer_props = env.GetLayerProperties(1);
1255 InstWrapper inst{env.vulkan_functions};
1261 FrameworkEnvironment env;
1262 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
1265 env.add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
1272 env.add_implicit_layer(
1280 auto layer_props = env.GetLayerProperties(2);
1284 InstWrapper inst{env.vulkan_functions};
1293 InstWrapper inst{env.vulkan_functions};
1304 FrameworkEnvironment env;
1305 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
1308 env.add_explicit_layer(
1315 env.add_implicit_layer(
1323 auto layer_props = env.GetLayerProperties(2);
1328 InstWrapper inst{env.vulkan_functions};
1338 InstWrapper inst{env.vulkan_functions};
1348 FrameworkEnvironment env;
1349 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
1352 env.add_explicit_layer(
1359 env.add_implicit_layer(
1368 auto layer_props = env.GetLayerProperties(2);
1374 InstWrapper inst{env.vulkan_functions};
1375 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
1379 EXPECT_TRUE(env.debug_log.find(std::string("Insert instance layer \"") + regular_layer_name));
1383 env.debug_log.clear();
1387 InstWrapper inst{env.vulkan_functions};
1388 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
1392 EXPECT_TRUE(env.debug_log.find(std::string("Insert instance layer \"") + regular_layer_name));
1400 FrameworkEnvironment env;
1401 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
1404 env.add_explicit_layer(
1411 env.add_implicit_layer(
1419 auto layer_props = env.GetLayerProperties(1);
1424 InstWrapper inst{env.vulkan_functions};
1425 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
1429 env.debug_log.find("verify_meta_layer_component_layers: Meta-layer uses API version 1.1, but component layer 0 has API "
1431 env.debug_log.clear();
1437 InstWrapper inst{env.vulkan_functions};
1438 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
1442 env.debug_log.find("verify_meta_layer_component_layers: Meta-layer uses API version 1.1, but component layer 0 has API "
1444 env.debug_log.clear();
1450 FrameworkEnvironment env;
1451 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
1455 env.add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
1460 env.add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
1465 env.add_implicit_layer(
1474 auto layer_props = env.GetLayerProperties(2);
1479 InstWrapper inst{env.vulkan_functions};
1480 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
1483 ASSERT_TRUE(env.debug_log.find(std::string("loader_remove_layers_in_blacklist: Override layer is active and layer ") +
1486 env.debug_log.clear();
1489 InstWrapper inst{env.vulkan_functions};
1490 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
1492 ASSERT_TRUE(env.debug_log.find(std::string("loader_remove_layers_in_blacklist: Override layer is active and layer ") +
1495 env.debug_log.clear();
1502 FrameworkEnvironment env;
1503 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
1515 env.add_implicit_layer(ManifestLayer{}.set_file_format_version({1, 2, 0}).add_layer(
1524 InstWrapper inst{env.vulkan_functions};
1526 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
1528 ASSERT_TRUE(env.debug_log.find(std::string("Insert instance layer \"") + regular_layer_name));
1529 env.layers.clear();
1533 FrameworkEnvironment env;
1534 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
1539 env.add_explicit_layer(
1554 env.add_implicit_layer(ManifestLayer{}.set_file_format_version({1, 2, 0}).add_layer(
1563 InstWrapper inst{env.vulkan_functions};
1566 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
1568 ASSERT_FALSE(env.debug_log.find(std::string("Insert instance layer \"") + regular_layer_name));
1569 env.layers.clear();
1573 FrameworkEnvironment env;
1574 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
1578 env.add_explicit_layer(TestLayerDetails{
1588 env.add_explicit_layer(TestLayerDetails{ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
1595 env.add_implicit_layer(ManifestLayer{}.set_file_format_version({1, 2, 0}).add_layer(
1601 .add_override_path(env.get_folder(ManifestLocation::override_layer).location().str())),
1604 auto meta_layer_path = env.get_folder(ManifestLocation::override_layer).location();
1606 InstWrapper inst{env.vulkan_functions};
1609 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
1611 ASSERT_FALSE(env.debug_log.find(std::string("Insert instance layer \"") + env_var_layer_name));
1612 ASSERT_TRUE(env.debug_log.find(
1615 env.env_var_vk_layer_paths.value()));
1616 ASSERT_TRUE(env.debug_log.find("Override layer has override paths set to " + meta_layer_path.str()));
1618 env.layers.clear();
1623 FrameworkEnvironment env;
1624 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
1628 env.add_implicit_layer(
1643 env.add_implicit_layer(ManifestLayer{}.set_file_format_version({1, 2, 0}).add_layer(
1652 InstWrapper inst{env.vulkan_functions};
1653 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
1656 ASSERT_FALSE(env.debug_log.find(std::string("Insert instance layer \"") + implicit_layer_name));
1658 env.debug_log.find("Removing meta-layer VK_LAYER_LUNARG_override from instance layer list since it appears invalid."));
1659 env.layers.clear();
1663 FrameworkEnvironment env;
1664 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
1675 env.add_implicit_layer(ManifestLayer{}.set_file_format_version({1, 0, 0}).add_layer(
1684 InstWrapper inst{env.vulkan_functions};
1686 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
1688 ASSERT_TRUE(env.debug_log.find(std::string("Insert instance layer \"") + regular_layer_name));
1689 ASSERT_TRUE(env.debug_log.find("Indicating meta-layer-specific override paths, but using older JSON file version."));
1690 env.layers.clear();
1695 FrameworkEnvironment env;
1696 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
1699 env.add_explicit_layer(
1706 env.add_implicit_layer(
1714 auto layer_props = env.GetLayerProperties(2);
1719 InstWrapper inst{env.vulkan_functions};
1728 FrameworkEnvironment env;
1729 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
1732 env.add_explicit_layer(
1737 env.add_implicit_layer(ManifestLayer{}.set_file_format_version({1, 2, 0}).add_layer(
1745 auto layer_props = env.GetLayerProperties(1);
1750 InstWrapper inst{env.vulkan_functions};
1757 FrameworkEnvironment env;
1758 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
1771 env.add_implicit_layer(TestLayerDetails{ManifestLayer{}.set_file_format_version({1, 2, 0}).add_layer(
1781 auto layer_props = env.GetLayerProperties(2);
1784 InstWrapper inst{env.vulkan_functions};
1786 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
1788 ASSERT_TRUE(env.debug_log.find(std::string("Insert instance layer \"") + regular_layer_name));
1791 env.debug_log.clear();
1794 env.platform_shim->set_elevated_privilege(true);
1797 auto layer_props = env.GetLayerProperties(2);
1800 InstWrapper inst{env.vulkan_functions};
1802 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
1804 ASSERT_TRUE(env.debug_log.find(std::string("Insert instance layer \"") + regular_layer_name));
1812 FrameworkEnvironment env;
1813 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
1825 env.add_implicit_layer(TestLayerDetails{ManifestLayer{}.set_file_format_version({1, 2, 0}).add_layer(
1836 auto layer_props = env.GetLayerProperties(2);
1839 InstWrapper inst{env.vulkan_functions};
1841 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
1843 ASSERT_TRUE(env.debug_log.find(std::string("Insert instance layer \"") + regular_layer_name));
1844 env.debug_log.clear();
1849 env.platform_shim->set_elevated_privilege(true);
1852 ASSERT_NO_FATAL_FAILURE(env.GetLayerProperties(0));
1854 InstWrapper inst{env.vulkan_functions};
1856 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
1858 ASSERT_FALSE(env.debug_log.find(std::string("Insert instance layer \"") + regular_layer_name));
1865 FrameworkEnvironment env;
1866 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
1870 env.add_explicit_layer(
1886 auto& layer = env.get_test_layer(0);
1891 env.add_implicit_layer(
1899 ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
1902 ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &count, nullptr));
1906 ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceVersion(&version));
1909 InstWrapper inst{env.vulkan_functions};
1918 FrameworkEnvironment env;
1919 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
1922 env.add_explicit_layer(
1938 env.loader_settings.add_app_specific_setting(AppSpecificSettings{}.add_stderr_log_filter("all").add_layer_configuration(
1942 .set_path(env.get_shimmed_layer_manifest_path(0).str())
1944 env.update_loader_settings(env.loader_settings);
1946 auto& layer = env.get_test_layer(0);
1952 ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
1955 ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &count, nullptr));
1959 ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceVersion(&version));
1962 InstWrapper inst{env.vulkan_functions};
1970 FrameworkEnvironment env;
1971 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
1974 env.add_explicit_layer(
1990 auto& layer = env.get_test_layer(0);
1996 ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
1999 ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &count, nullptr));
2003 ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceVersion(&version));
2006 InstWrapper inst{env.vulkan_functions};
2017 FrameworkEnvironment env;
2018 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA))
2023 env.add_explicit_layer(
2028 auto& layer_handle = env.get_test_layer(0);
2050 InstWrapper inst{env.vulkan_functions};
2056 FrameworkEnvironment env;
2057 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA))
2062 env.add_explicit_layer(
2067 auto& layer_handle = env.get_test_layer(0);
2083 InstWrapper inst{env.vulkan_functions};
2089 FrameworkEnvironment env;
2090 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
2096 env.add_explicit_layer(TestLayerDetails(
2107 auto layer_props = env.GetLayerProperties(3);
2114 FrameworkEnvironment env;
2115 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device("physical_device_0");
2118 env.add_explicit_layer(ManifestLayer{}.add_layer(
2123 env.add_explicit_layer(
2129 env.add_explicit_layer(
2135 InstWrapper inst{env.vulkan_functions};
2144 InstWrapper inst{env.vulkan_functions};
2153 InstWrapper inst{env.vulkan_functions};
2162 InstWrapper inst{env.vulkan_functions};
2173 FrameworkEnvironment env;
2174 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
2179 env.add_explicit_layer(TestLayerDetails(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
2186 InstWrapper inst(env.vulkan_functions);
2195 env.add_explicit_layer(TestLayerDetails(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
2203 env.add_explicit_layer(TestLayerDetails(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
2210 InstWrapper inst(env.vulkan_functions);
2220 env.add_explicit_layer(TestLayerDetails(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
2227 env.add_explicit_layer(TestLayerDetails(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
2233 InstWrapper inst(env.vulkan_functions);
2243 FrameworkEnvironment env;
2244 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
2248 env.add_explicit_layer(TestLayerDetails(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
2253 // use override folder as just a folder and manually set the VK_LAYER_PATH env-var to it
2256 auto& layer1 = env.get_test_layer(0);
2259 env.env_var_vk_layer_paths.add_to_list(env.get_folder(ManifestLocation::override_layer).location().str());
2261 env.add_explicit_layer(TestLayerDetails(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
2268 auto& layer2 = env.get_test_layer(1);
2272 auto layer_props = env.GetLayerProperties(2);
2278 InstWrapper inst{env.vulkan_functions};
2280 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
2285 ASSERT_TRUE(env.debug_log.find("actually_layer_1"));
2286 ASSERT_FALSE(env.debug_log.find("actually_layer_2"));
2288 env.debug_log.clear();
2292 InstWrapper inst{env.vulkan_functions};
2293 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
2298 ASSERT_TRUE(env.debug_log.find("actually_layer_1"));
2299 ASSERT_FALSE(env.debug_log.find("actually_layer_2"));
2301 env.debug_log.clear();
2305 InstWrapper inst{env.vulkan_functions};
2306 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
2311 ASSERT_TRUE(env.debug_log.find("actually_layer_1"));
2312 ASSERT_FALSE(env.debug_log.find("actually_layer_2"));
2314 env.debug_log.clear();
2318 FrameworkEnvironment env;
2319 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
2323 env.add_explicit_layer(TestLayerDetails(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
2328 // use override folder as just a folder and manually set the VK_ADD_LAYER_PATH env-var to it
2331 auto& layer1 = env.get_test_layer(0);
2334 env.add_env_var_vk_layer_paths.add_to_list(env.get_folder(ManifestLocation::override_layer).location().str());
2336 env.add_explicit_layer(TestLayerDetails(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
2343 auto& layer2 = env.get_test_layer(1);
2347 auto layer_props = env.GetLayerProperties(2);
2353 InstWrapper inst{env.vulkan_functions};
2355 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
2360 ASSERT_TRUE(env.debug_log.find("actually_layer_1"));
2361 ASSERT_FALSE(env.debug_log.find("actually_layer_2"));
2363 env.debug_log.clear();
2367 InstWrapper inst{env.vulkan_functions};
2368 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
2373 ASSERT_TRUE(env.debug_log.find("actually_layer_1"));
2374 ASSERT_FALSE(env.debug_log.find("actually_layer_2"));
2376 env.debug_log.clear();
2380 InstWrapper inst{env.vulkan_functions};
2381 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
2386 ASSERT_TRUE(env.debug_log.find("actually_layer_1"));
2387 ASSERT_FALSE(env.debug_log.find("actually_layer_2"));
2389 env.debug_log.clear();
2393 FrameworkEnvironment env;
2394 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
2398 env.add_explicit_layer(TestLayerDetails(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
2405 auto& layer1 = env.get_test_layer(0);
2409 env.add_explicit_layer(TestLayerDetails(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
2416 auto& layer2 = env.get_test_layer(1);
2419 auto layer_props = env.GetLayerProperties(2);
2430 InstWrapper inst{env.vulkan_functions};
2433 // Expect the env-var layer to be first
2446 InstWrapper inst{env.vulkan_functions};
2449 // Expect the env-var layer to be first
2459 FrameworkEnvironment env;
2460 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
2464 env.add_explicit_layer(TestLayerDetails(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
2469 auto& layer1 = env.get_test_layer(0);
2473 env.add_explicit_layer(TestLayerDetails(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
2478 auto& layer2 = env.get_test_layer(1);
2481 auto layer_props = env.GetLayerProperties(2);
2492 InstWrapper inst{env.vulkan_functions};
2506 InstWrapper inst{env.vulkan_functions};
2509 // Expect the env-var layer to be first
2519 FrameworkEnvironment env;
2520 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
2524 env.add_explicit_layer(TestLayerDetails(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
2529 auto& layer1 = env.get_test_layer(0);
2534 env.add_explicit_layer(TestLayerDetails(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
2539 auto& layer2 = env.get_test_layer(1);
2543 auto layer_props = env.GetLayerProperties(2);
2551 InstWrapper inst{env.vulkan_functions};
2554 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
2557 // Expect the env-var layer to be first
2566 InstWrapper inst{env.vulkan_functions};
2569 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
2572 // Expect the env-var layer to be first
2582 FrameworkEnvironment env;
2583 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
2589 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
2596 auto layers = env.GetLayerProperties(1);
2599 // set enable env-var, layer should load
2601 CheckLogForLayerString(env, implicit_layer_name, true);
2603 auto extensions = env.GetInstanceExtensions(4);
2613 InstWrapper inst{env.vulkan_functions};
2617 handle_assert_null(env.vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkReleaseDisplayEXT"));
2618 handle_assert_null(env.vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
2622 FrameworkEnvironment env;
2623 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
2629 env.add_implicit_layer(
2639 auto layers = env.GetLayerProperties(1);
2642 // set enable env-var, layer should load
2644 CheckLogForLayerString(env, implicit_layer_name, true);
2646 auto extensions = env.GetInstanceExtensions(5);
2656 InstWrapper inst{env.vulkan_functions};
2661 handle_assert_has_value(env.vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkReleaseDisplayEXT"));
2662 handle_assert_null(env.vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
2666 FrameworkEnvironment env;
2667 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
2673 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
2683 auto layers = env.GetLayerProperties(1);
2686 // set enable env-var, layer should load
2688 CheckLogForLayerString(env, implicit_layer_name, true);
2690 auto extensions = env.GetInstanceExtensions(5);
2697 InstWrapper inst{env.vulkan_functions};
2702 handle_assert_null(env.vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkReleaseDisplayEXT"));
2703 handle_assert_has_value(env.vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
2707 FrameworkEnvironment env;
2708 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
2714 env.add_implicit_layer(
2726 auto layers = env.GetLayerProperties(1);
2729 // set enable env-var, layer should load
2731 CheckLogForLayerString(env, implicit_layer_name, true);
2733 auto extensions = env.GetInstanceExtensions(6);
2741 InstWrapper inst{env.vulkan_functions};
2747 handle_assert_has_value(env.vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkReleaseDisplayEXT"));
2748 handle_assert_has_value(env.vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
2752 FrameworkEnvironment env;
2753 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
2756 env.add_explicit_layer(
2761 auto layers = env.GetLayerProperties(1);
2764 auto extensions = env.GetInstanceExtensions(4);
2771 ASSERT_NO_FATAL_FAILURE(env.GetInstanceExtensions(0, explicit_layer_name));
2773 InstWrapper inst{env.vulkan_functions};
2777 handle_assert_null(env.vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkReleaseDisplayEXT"));
2778 handle_assert_null(env.vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
2782 FrameworkEnvironment env;
2783 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
2786 env.add_explicit_layer(
2794 auto layers = env.GetLayerProperties(1);
2797 auto extensions = env.GetInstanceExtensions(4);
2804 auto layer_extensions = env.GetInstanceExtensions(1, explicit_layer_name);
2807 InstWrapper inst1{env.vulkan_functions};
2812 handle_assert_null(env.vulkan_functions.vkGetInstanceProcAddr(inst1.inst, "vkReleaseDisplayEXT"));
2813 handle_assert_null(env.vulkan_functions.vkGetInstanceProcAddr(inst1.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
2815 InstWrapper inst2{env.vulkan_functions};
2820 handle_assert_has_value(env.vulkan_functions.vkGetInstanceProcAddr(inst2.inst, "vkReleaseDisplayEXT"));
2821 handle_assert_null(env.vulkan_functions.vkGetInstanceProcAddr(inst2.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
2825 FrameworkEnvironment env;
2826 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
2829 env.add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
2837 auto layers = env.GetLayerProperties(1);
2840 auto extensions = env.GetInstanceExtensions(4);
2847 auto layer_extensions = env.GetInstanceExtensions(1, explicit_layer_name);
2850 InstWrapper inst1{env.vulkan_functions};
2855 handle_assert_null(env.vulkan_functions.vkGetInstanceProcAddr(inst1.inst, "vkReleaseDisplayEXT"));
2856 handle_assert_null(env.vulkan_functions.vkGetInstanceProcAddr(inst1.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
2858 InstWrapper inst2{env.vulkan_functions};
2863 handle_assert_null(env.vulkan_functions.vkGetInstanceProcAddr(inst2.inst, "vkReleaseDisplayEXT"));
2864 handle_assert_has_value(env.vulkan_functions.vkGetInstanceProcAddr(inst2.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
2868 FrameworkEnvironment env;
2869 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
2872 env.add_explicit_layer(
2882 auto layers = env.GetLayerProperties(1);
2885 auto extensions = env.GetInstanceExtensions(4);
2892 auto layer_extensions = env.GetInstanceExtensions(2, explicit_layer_name);
2896 InstWrapper inst1{env.vulkan_functions};
2902 handle_assert_null(env.vulkan_functions.vkGetInstanceProcAddr(inst1.inst, "vkReleaseDisplayEXT"));
2903 handle_assert_null(env.vulkan_functions.vkGetInstanceProcAddr(inst1.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
2905 InstWrapper inst2{env.vulkan_functions};
2913 handle_assert_has_value(env.vulkan_functions.vkGetInstanceProcAddr(inst2.inst, "vkReleaseDisplayEXT"));
2928 FrameworkEnvironment env;
2929 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
2935 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
2942 auto layers = env.GetLayerProperties(1);
2945 // set enable env-var, layer should load
2947 CheckLogForLayerString(env, implicit_layer_name, true);
2949 InstWrapper inst{env.vulkan_functions};
2986 FrameworkEnvironment env;
2987 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
2993 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
3000 auto layers = env.GetLayerProperties(1);
3003 // set enable env-var, layer should load
3005 CheckLogForLayerString(env, implicit_layer_name, true);
3007 InstWrapper inst{env.vulkan_functions};
3023 FrameworkEnvironment env;
3024 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
3030 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
3037 auto layers = env.GetLayerProperties(1);
3040 // set enable env-var, layer should load
3042 CheckLogForLayerString(env, implicit_layer_name, true);
3044 InstWrapper inst{env.vulkan_functions};
3060 FrameworkEnvironment env;
3061 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
3067 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
3074 auto layers = env.GetLayerProperties(1);
3077 // set enable env-var, layer should load
3079 CheckLogForLayerString(env, implicit_layer_name, true);
3081 InstWrapper inst{env.vulkan_functions};
3098 FrameworkEnvironment env;
3099 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
3102 env.add_explicit_layer(
3107 auto layers = env.GetLayerProperties(1);
3110 InstWrapper inst{env.vulkan_functions};
3128 FrameworkEnvironment env;
3129 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
3132 env.add_explicit_layer(
3140 auto layers = env.GetLayerProperties(1);
3143 InstWrapper inst{env.vulkan_functions};
3162 FrameworkEnvironment env;
3163 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
3166 env.add_explicit_layer(
3175 auto layers = env.GetLayerProperties(1);
3178 InstWrapper inst{env.vulkan_functions};
3197 FrameworkEnvironment env;
3198 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
3201 env.add_explicit_layer(
3211 auto layers = env.GetLayerProperties(1);
3214 InstWrapper inst{env.vulkan_functions};
3243 FrameworkEnvironment env;
3245 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA, api_version))
3250 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
3257 InstWrapper inst{env.vulkan_functions};
3265 InstWrapper inst{env.vulkan_functions};
3274 FrameworkEnvironment env;
3276 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA, api_version))
3281 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
3288 auto layer_props = env.GetLayerProperties(1);
3292 InstWrapper inst{env.vulkan_functions};
3294 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
3296 EXPECT_TRUE(env.debug_log.find(std::string("Insert instance layer \"") + regular_layer_name));
3297 env.debug_log.clear();
3302 InstWrapper inst{env.vulkan_functions};
3304 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
3306 EXPECT_TRUE(env.debug_log.find(std::string("Insert instance layer \"") + regular_layer_name));
3307 env.debug_log.clear();
3315 FrameworkEnvironment env;
3317 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA, api_version))
3322 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
3329 auto layer_props = env.GetLayerProperties(1);
3334 InstWrapper inst{env.vulkan_functions};
3344 InstWrapper inst{env.vulkan_functions};
3354 InstWrapper inst{env.vulkan_functions};
3364 InstWrapper inst{env.vulkan_functions};
3377 FrameworkEnvironment env;
3379 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA, api_version))
3384 env.add_explicit_layer(
3396 InstWrapper inst1{env.vulkan_functions};
3415 InstWrapper inst2{env.vulkan_functions};
3439 FrameworkEnvironment env;
3441 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA, api_version))
3447 env.add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
3455 env.add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
3463 env.add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
3472 InstWrapper inst1{env.vulkan_functions};
3473 FillDebugUtilsCreateDetails(inst1.create_info, env.debug_log);
3476 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
3477 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_1));
3478 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
3479 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
3480 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_2));
3481 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_2));
3482 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "forced enabled due to env var"));
3483 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "disabled because name matches filter of env var"));
3484 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_3));
3485 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_3));
3486 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "forced enabled due to env var"));
3487 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "disabled because name matches filter of env var"));
3491 env.debug_log.clear();
3494 InstWrapper inst2{env.vulkan_functions};
3495 FillDebugUtilsCreateDetails(inst2.create_info, env.debug_log);
3498 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
3499 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_1));
3500 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
3501 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
3502 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_2));
3503 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_2));
3504 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "forced enabled due to env var"));
3505 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "disabled because name matches filter of env var"));
3506 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_3));
3507 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_3));
3508 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "forced enabled due to env var"));
3509 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "disabled because name matches filter of env var"));
3513 env.debug_log.clear();
3516 InstWrapper inst3{env.vulkan_functions};
3517 FillDebugUtilsCreateDetails(inst3.create_info, env.debug_log);
3520 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
3521 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_1));
3522 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
3523 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
3524 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_2));
3525 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_2));
3526 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "forced enabled due to env var"));
3527 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "disabled because name matches filter of env var"));
3528 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_3));
3529 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_3));
3530 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "forced enabled due to env var"));
3531 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "disabled because name matches filter of env var"));
3535 env.debug_log.clear();
3538 InstWrapper inst4{env.vulkan_functions};
3539 FillDebugUtilsCreateDetails(inst4.create_info, env.debug_log);
3542 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
3543 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_1));
3544 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
3545 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
3546 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_2));
3547 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_2));
3548 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "forced enabled due to env var"));
3549 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "disabled because name matches filter of env var"));
3550 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_3));
3551 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_3));
3552 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "forced enabled due to env var"));
3553 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "disabled because name matches filter of env var"));
3557 env.debug_log.clear();
3560 InstWrapper inst5{env.vulkan_functions};
3561 FillDebugUtilsCreateDetails(inst5.create_info, env.debug_log);
3564 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
3565 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_1));
3566 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
3567 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
3568 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_2));
3569 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_2));
3570 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "forced enabled due to env var"));
3571 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "disabled because name matches filter of env var"));
3572 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_3));
3573 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_3));
3574 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "forced enabled due to env var"));
3575 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "disabled because name matches filter of env var"));
3579 env.debug_log.clear();
3582 InstWrapper inst6{env.vulkan_functions};
3583 FillDebugUtilsCreateDetails(inst6.create_info, env.debug_log);
3586 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
3587 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_1));
3588 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
3589 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
3590 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_2));
3591 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_2));
3592 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "forced enabled due to env var"));
3593 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "disabled because name matches filter of env var"));
3594 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_3));
3595 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_3));
3596 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "forced enabled due to env var"));
3597 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "disabled because name matches filter of env var"));
3601 env.debug_log.clear();
3604 InstWrapper inst7{env.vulkan_functions};
3605 FillDebugUtilsCreateDetails(inst7.create_info, env.debug_log);
3608 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
3609 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_1));
3610 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
3611 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
3612 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_2));
3613 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_2));
3614 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "forced enabled due to env var"));
3615 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "disabled because name matches filter of env var"));
3616 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_3));
3617 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_3));
3618 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "forced enabled due to env var"));
3619 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "disabled because name matches filter of env var"));
3625 FrameworkEnvironment env;
3626 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA, VK_API_VERSION_1_2))
3632 env.add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
3640 env.add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
3648 env.add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
3656 InstWrapper inst1{env.vulkan_functions};
3658 FillDebugUtilsCreateDetails(inst1.create_info, env.debug_log);
3661 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
3662 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_1));
3663 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
3664 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
3665 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_2));
3666 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_2));
3667 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "forced enabled due to env var"));
3668 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "disabled because name matches filter of env var"));
3669 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_3));
3670 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_3));
3671 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "forced enabled due to env var"));
3672 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "disabled because name matches filter of env var"));
3676 env.debug_log.clear();
3679 InstWrapper inst2{env.vulkan_functions};
3681 FillDebugUtilsCreateDetails(inst2.create_info, env.debug_log);
3684 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
3685 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_1));
3686 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
3687 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
3688 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_2));
3689 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_2));
3690 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "forced enabled due to env var"));
3691 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "disabled because name matches filter of env var"));
3692 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_3));
3693 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_3));
3694 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "forced enabled due to env var"));
3695 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "disabled because name matches filter of env var"));
3699 env.debug_log.clear();
3702 InstWrapper inst3{env.vulkan_functions};
3704 FillDebugUtilsCreateDetails(inst3.create_info, env.debug_log);
3707 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
3708 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_1));
3709 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
3710 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
3711 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_2));
3712 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_2));
3713 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "forced enabled due to env var"));
3714 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "disabled because name matches filter of env var"));
3715 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_3));
3716 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_3));
3717 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "forced enabled due to env var"));
3718 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "disabled because name matches filter of env var"));
3722 env.debug_log.clear();
3725 InstWrapper inst4{env.vulkan_functions};
3727 FillDebugUtilsCreateDetails(inst4.create_info, env.debug_log);
3730 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
3731 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_1));
3732 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
3733 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
3734 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_2));
3735 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_2));
3736 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "forced enabled due to env var"));
3737 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "disabled because name matches filter of env var"));
3738 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_3));
3739 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_3));
3740 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "forced enabled due to env var"));
3741 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "disabled because name matches filter of env var"));
3745 env.debug_log.clear();
3748 InstWrapper inst5{env.vulkan_functions};
3750 FillDebugUtilsCreateDetails(inst5.create_info, env.debug_log);
3753 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
3754 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_1));
3755 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
3756 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
3757 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_2));
3758 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_2));
3759 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "forced enabled due to env var"));
3760 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "disabled because name matches filter of env var"));
3761 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_3));
3762 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_3));
3763 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "forced enabled due to env var"));
3764 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "disabled because name matches filter of env var"));
3768 env.debug_log.clear();
3771 InstWrapper inst6{env.vulkan_functions};
3773 FillDebugUtilsCreateDetails(inst6.create_info, env.debug_log);
3776 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
3777 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_1));
3778 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
3779 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
3780 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_2));
3781 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_2));
3782 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "forced enabled due to env var"));
3783 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "disabled because name matches filter of env var"));
3784 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_3));
3785 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_3));
3786 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "forced enabled due to env var"));
3787 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "disabled because name matches filter of env var"));
3791 env.debug_log.clear();
3794 InstWrapper inst7{env.vulkan_functions};
3796 FillDebugUtilsCreateDetails(inst7.create_info, env.debug_log);
3799 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
3800 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_1));
3801 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
3802 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
3803 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_2));
3804 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_2));
3805 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "forced enabled due to env var"));
3806 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "disabled because name matches filter of env var"));
3807 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_3));
3808 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_3));
3809 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "forced enabled due to env var"));
3810 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "disabled because name matches filter of env var"));
3814 env.debug_log.clear();
3817 InstWrapper inst8{env.vulkan_functions};
3819 FillDebugUtilsCreateDetails(inst8.create_info, env.debug_log);
3822 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
3823 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_1));
3824 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
3825 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
3826 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_2));
3827 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_2));
3828 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "forced enabled due to env var"));
3829 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "disabled because name matches filter of env var"));
3830 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_3));
3831 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_3));
3832 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "forced enabled due to env var"));
3833 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "disabled because name matches filter of env var"));
3837 env.debug_log.clear();
3840 InstWrapper inst9{env.vulkan_functions};
3842 FillDebugUtilsCreateDetails(inst9.create_info, env.debug_log);
3845 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
3846 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_1));
3847 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
3848 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
3849 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_2));
3850 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_2));
3851 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "forced enabled due to env var"));
3852 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "disabled because name matches filter of env var"));
3853 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_3));
3854 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_3));
3855 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "forced enabled due to env var"));
3856 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "disabled because name matches filter of env var"));
3862 FrameworkEnvironment env;
3863 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA, VK_API_VERSION_1_2))
3868 env.add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
3876 env.add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
3884 env.add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
3894 InstWrapper inst1{env.vulkan_functions};
3896 FillDebugUtilsCreateDetails(inst1.create_info, env.debug_log);
3899 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
3900 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_1));
3901 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
3902 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
3903 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_2));
3904 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_2));
3905 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "forced enabled due to env var"));
3906 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "disabled because name matches filter of env var"));
3907 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_3));
3908 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_3));
3909 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "forced enabled due to env var"));
3910 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "disabled because name matches filter of env var"));
3914 env.debug_log.clear();
3918 InstWrapper inst2{env.vulkan_functions};
3919 FillDebugUtilsCreateDetails(inst2.create_info, env.debug_log);
3922 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
3923 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_1));
3924 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
3925 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
3926 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_2));
3927 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_2));
3928 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "forced enabled due to env var"));
3929 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "disabled because name matches filter of env var"));
3930 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_3));
3931 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_3));
3932 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "forced enabled due to env var"));
3933 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "disabled because name matches filter of env var"));
3937 env.debug_log.clear();
3941 InstWrapper inst3{env.vulkan_functions};
3942 FillDebugUtilsCreateDetails(inst3.create_info, env.debug_log);
3945 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
3946 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_1));
3947 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
3948 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
3949 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_2));
3950 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_2));
3951 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "forced enabled due to env var"));
3952 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "disabled because name matches filter of env var"));
3953 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_3));
3954 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_3));
3955 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "forced enabled due to env var"));
3956 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "disabled because name matches filter of env var"));
3960 env.debug_log.clear();
3964 InstWrapper inst4{env.vulkan_functions};
3965 FillDebugUtilsCreateDetails(inst4.create_info, env.debug_log);
3968 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
3969 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_1));
3970 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
3971 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
3972 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_2));
3973 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_2));
3974 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "forced enabled due to env var"));
3975 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "disabled because name matches filter of env var"));
3976 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_3));
3977 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_3));
3978 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "forced enabled due to env var"));
3979 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "disabled because name matches filter of env var"));
3983 env.debug_log.clear();
3987 InstWrapper inst5{env.vulkan_functions};
3988 FillDebugUtilsCreateDetails(inst5.create_info, env.debug_log);
3991 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
3992 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_1));
3993 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
3994 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
3995 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_2));
3996 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_2));
3997 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "forced enabled due to env var"));
3998 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "disabled because name matches filter of env var"));
3999 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_3));
4000 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_3));
4001 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "forced enabled due to env var"));
4002 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "disabled because name matches filter of env var"));
4006 env.debug_log.clear();
4010 InstWrapper inst6{env.vulkan_functions};
4012 FillDebugUtilsCreateDetails(inst6.create_info, env.debug_log);
4015 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
4016 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_1));
4017 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
4018 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
4019 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_2));
4020 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_2));
4021 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "forced enabled due to env var"));
4022 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "disabled because name matches filter of env var"));
4023 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_3));
4024 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_3));
4025 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "forced enabled due to env var"));
4026 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "disabled because name matches filter of env var"));
4030 env.debug_log.clear();
4034 InstWrapper inst7{env.vulkan_functions};
4036 FillDebugUtilsCreateDetails(inst7.create_info, env.debug_log);
4039 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
4040 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_1));
4041 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
4042 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
4043 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_2));
4044 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_2));
4045 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "forced enabled due to env var"));
4046 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "disabled because name matches filter of env var"));
4047 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_3));
4048 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_3));
4049 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "forced enabled due to env var"));
4050 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_3, "disabled because name matches filter of env var"));
4056 FrameworkEnvironment env;
4057 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA, VK_API_VERSION_1_2))
4062 env.add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
4070 env.add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
4080 InstWrapper inst1{env.vulkan_functions};
4082 FillDebugUtilsCreateDetails(inst1.create_info, env.debug_log);
4085 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
4086 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_1));
4087 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
4088 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
4089 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_2));
4090 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_2));
4091 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "forced enabled due to env var"));
4092 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "disabled because name matches filter of env var"));
4096 env.debug_log.clear();
4099 InstWrapper inst2{env.vulkan_functions};
4101 FillDebugUtilsCreateDetails(inst2.create_info, env.debug_log);
4104 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
4105 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_1));
4106 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
4107 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
4108 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_2));
4109 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_2));
4110 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "forced enabled due to env var"));
4111 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "disabled because name matches filter of env var"));
4115 env.debug_log.clear();
4118 InstWrapper inst3{env.vulkan_functions};
4120 FillDebugUtilsCreateDetails(inst3.create_info, env.debug_log);
4123 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
4124 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_1));
4125 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
4126 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
4127 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_2));
4128 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer", explicit_layer_name_2));
4129 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "forced enabled due to env var"));
4130 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_2, "disabled because name matches filter of env var"));
4135 FrameworkEnvironment env;
4136 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
4139 env.add_explicit_layer(
4146 InstWrapper inst{env.vulkan_functions};
4147 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
4151 env.debug_log.find("Layer \"VK_LAYER_I_dont_exist\" was not found but was requested by env var VK_INSTANCE_LAYERS!"));
4155 env.debug_log.clear();
4158 InstWrapper inst{env.vulkan_functions};
4159 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
4162 env.debug_log.find("Layer \"VK_LAYER_I_dont_exist\" was not found but was requested by env var VK_INSTANCE_LAYERS!"));
4166 // Make sure that if the layer appears twice in the env-var nothing bad happens
4167 env.debug_log.clear();
4170 InstWrapper inst{env.vulkan_functions};
4171 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
4174 env.debug_log.find("Layer \"VK_LAYER_I_dont_exist\" was not found but was requested by env var VK_INSTANCE_LAYERS!"));
4182 FrameworkEnvironment env;
4183 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA)).add_physical_device({});
4186 env.add_explicit_layer(
4196 InstWrapper inst{env.vulkan_functions};
4197 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
4204 FrameworkEnvironment env;
4205 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA, VK_API_VERSION_1_2))
4210 env.add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
4216 env.debug_log.clear();
4219 ASSERT_NO_FATAL_FAILURE(env.GetLayerProperties(0));
4221 InstWrapper inst3{env.vulkan_functions};
4223 FillDebugUtilsCreateDetails(inst3.create_info, env.debug_log);
4226 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
4227 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer ", explicit_layer_name_1));
4228 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
4229 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
4233 FrameworkEnvironment env;
4234 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA, VK_API_VERSION_1_2))
4239 env.add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
4244 env.add_implicit_layer(
4252 env.debug_log.clear();
4255 auto layers = env.GetLayerProperties(1);
4258 { // both override layer and Disable env var
4259 InstWrapper inst{env.vulkan_functions};
4260 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
4262 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
4263 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer ", explicit_layer_name_1));
4264 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
4266 env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
4268 env.debug_log.clear();
4270 InstWrapper inst{env.vulkan_functions};
4272 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
4274 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
4275 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer ", explicit_layer_name_1));
4276 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
4278 env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
4283 FrameworkEnvironment env;
4284 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA, VK_API_VERSION_1_2))
4289 env.add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
4294 env.add_implicit_layer(
4302 env.debug_log.clear();
4305 auto layers = env.GetLayerProperties(1);
4308 { // both override layer and Disable env var
4309 InstWrapper inst{env.vulkan_functions};
4310 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
4312 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
4313 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix("Insert instance layer ", explicit_layer_name_1));
4314 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
4316 env.debug_log.find_prefix_then_postfix(lunarg_meta_layer_name, "disabled because name matches filter of env var"));
4318 env.debug_log.clear();
4320 InstWrapper inst{env.vulkan_functions};
4322 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
4324 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
4325 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer ", explicit_layer_name_1));
4326 ASSERT_FALSE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
4328 env.debug_log.find_prefix_then_postfix(lunarg_meta_layer_name, "disabled because name matches filter of env var"));
4333 FrameworkEnvironment env;
4334 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA, VK_API_VERSION_1_2))
4339 env.add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
4344 env.add_implicit_layer(
4352 env.debug_log.clear();
4355 auto layers = env.GetLayerProperties(1);
4358 InstWrapper inst{env.vulkan_functions};
4359 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
4361 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer ", explicit_layer_name_1));
4362 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
4363 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
4365 env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
4367 env.debug_log.clear();
4369 InstWrapper inst{env.vulkan_functions};
4371 FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
4373 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Insert instance layer ", explicit_layer_name_1));
4374 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix("Found manifest file", explicit_json_name_1));
4375 ASSERT_TRUE(env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "forced enabled due to env var"));
4377 env.debug_log.find_prefix_then_postfix(explicit_layer_name_1, "disabled because name matches filter of env var"));
4383 FrameworkEnvironment env;
4384 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA, VK_API_VERSION_1_2))
4389 env.add_explicit_layer(
4401 InstWrapper inst1{env.vulkan_functions};
4418 InstWrapper inst2{env.vulkan_functions};
4443 FrameworkEnvironment env;
4444 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA, VK_API_VERSION_1_2))
4449 env.add_explicit_layer(
4459 InstWrapper inst{env.vulkan_functions};
4480 FrameworkEnvironment env;
4481 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA, VK_API_VERSION_1_2))
4486 InstWrapper inst{env.vulkan_functions};
4496 FrameworkEnvironment env;
4497 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
4504 auto& layer = env.get_test_layer(0);
4509 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2, VK_API_VERSION_1_2)).set_icd_api_version(VK_API_VERSION_1_2);
4531 InstWrapper inst{env.vulkan_functions};
4573 FrameworkEnvironment env;
4574 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
4581 auto& layer = env.get_test_layer(0);
4586 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2, VK_API_VERSION_1_2)).set_icd_api_version(VK_API_VERSION_1_2);
4608 InstWrapper inst{env.vulkan_functions};
4623 FrameworkEnvironment env;
4624 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
4631 auto& layer = env.get_test_layer(0);
4636 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2, VK_API_VERSION_1_2)).set_icd_api_version(VK_API_VERSION_1_2);
4658 InstWrapper inst{env.vulkan_functions};
4673 FrameworkEnvironment env;
4674 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
4681 auto& layer = env.get_test_layer(0);
4686 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2, VK_API_VERSION_1_2)).set_icd_api_version(VK_API_VERSION_1_2);
4708 InstWrapper inst{env.vulkan_functions};
4749 FrameworkEnvironment env;
4750 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
4757 auto& layer = env.get_test_layer(0);
4762 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2, VK_API_VERSION_1_2)).set_icd_api_version(VK_API_VERSION_1_2);
4784 InstWrapper inst{env.vulkan_functions};
4835 FrameworkEnvironment env;
4837 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
4844 auto& layer = env.get_test_layer(0);
4849 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2, VK_API_VERSION_1_2)).set_icd_api_version(VK_API_VERSION_1_2);
4871 InstWrapper inst{env.vulkan_functions};
4888 FrameworkEnvironment env;
4889 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
4896 auto& layer = env.get_test_layer(0);
4901 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2, VK_API_VERSION_1_2)).set_icd_api_version(VK_API_VERSION_1_2);
4923 InstWrapper inst{env.vulkan_functions};
4940 FrameworkEnvironment env;
4941 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
4948 auto& layer = env.get_test_layer(0);
4953 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2, VK_API_VERSION_1_2)).set_icd_api_version(VK_API_VERSION_1_2);
4975 InstWrapper inst{env.vulkan_functions};
5013 FrameworkEnvironment env;
5014 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2)).add_physical_device({});
5016 env.add_explicit_layer(
5023 InstWrapper inst{env.vulkan_functions};
5031 InstWrapper inst{env.vulkan_functions};
5040 InstWrapper inst{env.vulkan_functions};
5047 InstWrapper inst{env.vulkan_functions};
5055 env.loader_settings.add_app_specific_setting(AppSpecificSettings{}.add_stderr_log_filter("all").add_layer_configuration(
5059 .set_path(env.get_shimmed_layer_manifest_path(0).str())
5061 env.update_loader_settings(env.loader_settings);
5063 InstWrapper inst{env.vulkan_functions};
5070 env.loader_settings.app_specific_settings.at(0).layer_configurations.at(0).set_control("off");
5071 env.update_loader_settings(env.loader_settings);
5073 InstWrapper inst{env.vulkan_functions};
5079 env.loader_settings.app_specific_settings.at(0).layer_configurations.at(0).set_control("auto");
5080 env.update_loader_settings(env.loader_settings);
5082 InstWrapper inst{env.vulkan_functions};
5090 FrameworkEnvironment env;
5091 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2)).add_physical_device({});
5094 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
5103 InstWrapper inst{env.vulkan_functions};
5112 InstWrapper inst{env.vulkan_functions};
5122 InstWrapper inst{env.vulkan_functions};
5129 InstWrapper inst{env.vulkan_functions};
5137 env.loader_settings.add_app_specific_setting(AppSpecificSettings{}.add_stderr_log_filter("all").add_layer_configuration(
5141 .set_path(env.get_shimmed_layer_manifest_path(0).str())
5143 env.update_loader_settings(env.loader_settings);
5145 InstWrapper inst{env.vulkan_functions};
5152 env.loader_settings.app_specific_settings.at(0).layer_configurations.at(0).set_control("off");
5153 env.update_loader_settings(env.loader_settings);
5155 InstWrapper inst{env.vulkan_functions};
5161 env.loader_settings.app_specific_settings.at(0).layer_configurations.at(0).set_control("auto");
5162 env.update_loader_settings(env.loader_settings);
5164 InstWrapper inst{env.vulkan_functions};
5171 env.remove_loader_settings();
5177 InstWrapper inst{env.vulkan_functions};
5185 InstWrapper inst{env.vulkan_functions};
5194 InstWrapper inst{env.vulkan_functions};
5201 InstWrapper inst{env.vulkan_functions};
5209 env.loader_settings.add_app_specific_setting(AppSpecificSettings{}.add_stderr_log_filter("all").add_layer_configuration(
5213 .set_path(env.get_shimmed_layer_manifest_path(0).str())
5215 env.update_loader_settings(env.loader_settings);
5217 InstWrapper inst{env.vulkan_functions};
5223 env.loader_settings.app_specific_settings.at(0).layer_configurations.at(0).set_control("off");
5224 env.update_loader_settings(env.loader_settings);
5226 InstWrapper inst{env.vulkan_functions};
5232 env.loader_settings.app_specific_settings.at(0).layer_configurations.at(0).set_control("auto");
5233 env.update_loader_settings(env.loader_settings);
5235 InstWrapper inst{env.vulkan_functions};
5243 FrameworkEnvironment env;
5244 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2)).add_physical_device({});
5247 env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
5257 InstWrapper inst{env.vulkan_functions};
5265 InstWrapper inst{env.vulkan_functions};
5274 InstWrapper inst{env.vulkan_functions};
5281 InstWrapper inst{env.vulkan_functions};
5289 env.loader_settings.add_app_specific_setting(AppSpecificSettings{}.add_stderr_log_filter("all").add_layer_configuration(
5293 .set_path(env.get_shimmed_layer_manifest_path(0).str())
5295 env.update_loader_settings(env.loader_settings);
5297 InstWrapper inst{env.vulkan_functions};
5304 env.loader_settings.app_specific_settings.at(0).layer_configurations.at(0).set_control("off");
5305 env.update_loader_settings(env.loader_settings);
5307 InstWrapper inst{env.vulkan_functions};
5313 env.loader_settings.app_specific_settings.at(0).layer_configurations.at(0).set_control("auto");
5314 env.update_loader_settings(env.loader_settings);
5316 InstWrapper inst{env.vulkan_functions};
5322 env.remove_loader_settings();
5328 InstWrapper inst{env.vulkan_functions};
5337 InstWrapper inst{env.vulkan_functions};
5347 InstWrapper inst{env.vulkan_functions};
5354 InstWrapper inst{env.vulkan_functions};
5362 env.loader_settings.add_app_specific_setting(AppSpecificSettings{}.add_stderr_log_filter("all").add_layer_configuration(
5366 .set_path(env.get_shimmed_layer_manifest_path(0).str())
5368 env.update_loader_settings(env.loader_settings);
5370 InstWrapper inst{env.vulkan_functions};
5377 env.loader_settings.app_specific_settings.at(0).layer_configurations.at(0).set_control("off");
5378 env.update_loader_settings(env.loader_settings);
5380 InstWrapper inst{env.vulkan_functions};
5386 env.loader_settings.app_specific_settings.at(0).layer_configurations.at(0).set_control("auto");
5387 env.update_loader_settings(env.loader_settings);
5389 InstWrapper inst{env.vulkan_functions};
5398 FrameworkEnvironment env;
5399 env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2)).add_physical_device({});
5402 env.add_implicit_layer(TestLayerDetails{ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
5411 env.add_implicit_layer(
5418 .add_override_path(fs::make_native(env.get_folder(ManifestLocation::override_layer).location().str()))),
5424 InstWrapper inst{env.vulkan_functions};
5434 InstWrapper inst{env.vulkan_functions};
5445 InstWrapper inst{env.vulkan_functions};
5453 InstWrapper inst{env.vulkan_functions};
5462 env.loader_settings.add_app_specific_setting(AppSpecificSettings{}.add_stderr_log_filter("all").add_layer_configuration(
5466 .set_path(env.get_shimmed_layer_manifest_path(0).str())
5468 env.update_loader_settings(env.loader_settings);
5470 InstWrapper inst{env.vulkan_functions};
5477 env.loader_settings.app_specific_settings.at(0).layer_configurations.at(0).set_control("off");
5478 env.update_loader_settings(env.loader_settings);
5480 InstWrapper inst{env.vulkan_functions};
5486 env.loader_settings.app_specific_settings.at(0).layer_configurations.at(0).set_control("auto");
5487 env.update_loader_settings(env.loader_settings);
5489 InstWrapper inst{env.vulkan_functions};