Lines Matching full:kernel
48 bool CompatibilityMatrix::addKernel(MatrixKernel&& kernel, std::string* error) { in addKernel() argument
51 *error = "Cannot add <kernel> to a " + to_string(mType) + " compatibility matrix."; in addKernel()
56 if (kernel.getSourceMatrixLevel() == Level::UNSPECIFIED) { in addKernel()
57 kernel.setSourceMatrixLevel(level()); in addKernel()
62 if (it->getSourceMatrixLevel() != kernel.getSourceMatrixLevel()) { in addKernel()
65 if (it->minLts() == kernel.minLts()) { in addKernel()
68 if (it->minLts().dropMinor() == kernel.minLts().dropMinor()) { in addKernel()
70 *error = "Kernel version mismatch; for level " + in addKernel()
71 to_string(kernel.getSourceMatrixLevel()) + ", cannot add " + in addKernel()
72 to_string(kernel.minLts()) + " because " + to_string(it->minLts()) + in addKernel()
83 // because O libvintf only checks the first <kernel> tag that version matches. in addKernel()
84 if (kernel.conditions().empty()) { in addKernel()
85 // Found first <kernel> with the same minLts. in addKernel()
88 const auto& configs = kernel.configs(); in addKernel()
93 "Base compatibility matrix has <condition> for the first <kernel> " in addKernel()
95 to_string(kernel.minLts()) + " for unknown reason."; in addKernel()
102 // First <kernel> of a minLts must not have <condition>'s for backwards compatibility in addKernel()
104 if (!kernel.conditions().empty()) { in addKernel()
105 framework.mKernels.push_back(MatrixKernel(KernelVersion{kernel.minLts()}, {})); in addKernel()
109 framework.mKernels.push_back(std::move(kernel)); in addKernel()
270 // Merge Kernel. See KernelInfo::getMatchedKernelRequirements for details on compatibility checks.
272 for (MatrixKernel& kernel : other->framework.mKernels) { in addAllKernels()
273 if (kernel.getSourceMatrixLevel() == Level::UNSPECIFIED) { in addAllKernels()
274 kernel.setSourceMatrixLevel(other->level()); in addAllKernels()
276 KernelVersion ver = kernel.minLts(); in addAllKernels()
277 if (!addKernel(std::move(kernel), error)) { in addAllKernels()
279 *error = "Cannot add kernel version " + to_string(ver) + ": " + *error; in addAllKernels()
356 // Add from low to high FCM version so that optional <kernel> requirements are added correctly. in combine()