Find all installed layers on the system.
| 455 | |
| 456 | // Find all installed layers on the system. |
| 457 | void LayerManager::LoadAllInstalledLayers(ConfiguratorMode configurator_mode) { |
| 458 | std::array<std::vector<Path>, LAYERS_PATHS_COUNT> paths; |
| 459 | |
| 460 | // Search new layers |
| 461 | paths[LAYERS_PATHS_IMPLICIT_SYSTEM] = GetImplicitLayerPaths(); |
| 462 | |
| 463 | // LAYERS_PATHS_IMPLICIT_ENV_SET: VK_IMPLICIT_LAYER_PATH env variables |
| 464 | paths[LAYERS_PATHS_IMPLICIT_ENV_SET] = GetEnvVariablePaths("VK_IMPLICIT_LAYER_PATH", LAYER_TYPE_IMPLICIT); |
| 465 | |
| 466 | // LAYERS_PATHS_IMPLICIT_ENV_ADD: VK_ADD_IMPLICIT_LAYER_PATH env variables |
| 467 | paths[LAYERS_PATHS_IMPLICIT_ENV_ADD] = GetEnvVariablePaths("VK_ADD_IMPLICIT_LAYER_PATH", LAYER_TYPE_IMPLICIT); |
| 468 | |
| 469 | // LAYERS_PATHS_EXPLICIT_SYSTEM |
| 470 | paths[LAYERS_PATHS_EXPLICIT_SYSTEM] = GetExplicitLayerPaths(); |
| 471 | |
| 472 | // LAYERS_PATHS_EXPLICIT_ENV_SET: VK_LAYER_PATH env variables |
| 473 | paths[LAYERS_PATHS_EXPLICIT_ENV_SET] = GetEnvVariablePaths("VK_LAYER_PATH", LAYER_TYPE_EXPLICIT); |
| 474 | |
| 475 | // LAYERS_PATHS_EXPLICIT_ENV_ADD: VK_ADD_LAYER_PATH env variables |
| 476 | paths[LAYERS_PATHS_EXPLICIT_ENV_ADD] = GetEnvVariablePaths("VK_ADD_LAYER_PATH", LAYER_TYPE_EXPLICIT); |
| 477 | |
| 478 | // LAYERS_PATHS_SDK |
| 479 | paths[LAYERS_PATHS_SDK].push_back(Path(Path::SDK_EXPLICIT_LAYERS)); |
| 480 | |
| 481 | // LAYERS_PATHS_GUI |
| 482 | std::vector<Path> added_paths = this->BuildLayerPaths(); |
| 483 | paths[LAYERS_PATHS_GUI].insert(paths[LAYERS_PATHS_GUI].begin(), added_paths.begin(), added_paths.end()); |
| 484 | |
| 485 | for (std::size_t group_index = 0, group_count = paths.size(); group_index < group_count; ++group_index) { |
| 486 | const LayersPaths layers_path = static_cast<LayersPaths>(group_index); |
| 487 | |
| 488 | const std::vector<Path> &paths_group = paths[group_index]; |
| 489 | for (std::size_t i = 0, n = paths_group.size(); i < n; ++i) { |
| 490 | const std::vector<Path> &layers_paths = ::CollectLayersPaths(paths_group[i]); |
| 491 | |
| 492 | for (std::size_t p = 0, o = layers_paths.size(); p < o; ++p) { |
| 493 | this->LoadLayers(layers_paths[p], ::GetLayerType(layers_path), configurator_mode); |
| 494 | } |
| 495 | } |
| 496 | } |
| 497 | |
| 498 | // this->ApplyLayerDescriptor(); |
| 499 | } |
| 500 | |
| 501 | LayerValidated LayerManager::Validate(const Path &layer_path, QString json_text, ConfiguratorMode configurator_mode) const { |
| 502 | JsonValidator validator; |
no test coverage detected