MCPcopy Create free account
hub / github.com/LunarG/VulkanTools / BuildLayerStoreList

Method BuildLayerStoreList

vkconfig_core/layer_manager.cpp:714–763  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

712}
713
714std::map<Path, std::map<std::string, LayerDisplay>> LayerManager::BuildLayerStoreList() const {
715 std::map<Path, std::map<std::string, LayerDisplay>> result;
716
717 for (std::size_t i = 0, n = this->available_layers.size(); i < n; ++i) {
718 const Layer *layer = &this->available_layers[i];
719 if (layer == nullptr) {
720 continue;
721 }
722 /*
723 if (layer->descriptor.removed) {
724 continue;
725 }
726 */
727 LayerDisplay layer_display;
728 layer_display.id.manifest_path = layer->manifest_path;
729 layer_display.id.key = layer->key;
730 layer_display.id.api_version = layer->api_version;
731 layer_display.descriptor = layer->descriptor;
732
733 auto it = result.find(layer->manifest_path);
734 if (it == result.end()) {
735 std::map<std::string, LayerDisplay> entry;
736 entry.insert(std::make_pair(layer->key, layer_display));
737 result.insert(std::make_pair(layer->manifest_path, entry));
738 } else {
739 auto jt = it->second.find(layer->key);
740 if (jt == it->second.end()) {
741 it->second.insert(std::make_pair(layer->key, layer_display));
742 } else {
743 assert(0);
744 }
745 }
746 }
747
748 for (auto it = this->layer_init.begin(), end = this->layer_init.end(); it != end; ++it) {
749 auto jt = result.find(it->first);
750 if (jt == result.end()) {
751 const std::vector<LayerDisplay> &display = it->second;
752 std::map<std::string, LayerDisplay> entry;
753
754 for (std::size_t i = 0, n = display.size(); i < n; ++i) {
755 entry.insert(std::make_pair(display[i].id.key, display[i]));
756 }
757
758 result.insert(std::make_pair(it->first, entry));
759 }
760 }
761
762 return result;
763}
764
765std::set<LayerDisplay> LayerManager::BuildLayerDisplayList() const {
766 std::set<LayerDisplay> result;

Callers 1

SaveMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected