1 // 2 // Copyright 2020 The ANGLE Project Authors. All rights reserved. 3 // Use of this source code is governed by a BSD-style license that can be 4 // found in the LICENSE file. 5 // 6 7 #ifndef COMPILER_TRANSLATOR_MSL_DISCOVERDEPENDENTFUNCTIONS_H_ 8 #define COMPILER_TRANSLATOR_MSL_DISCOVERDEPENDENTFUNCTIONS_H_ 9 10 #include <functional> 11 #include <unordered_set> 12 13 #include "common/angleutils.h" 14 #include "compiler/translator/Compiler.h" 15 16 namespace sh 17 { 18 19 // Finds and returns all functions that contain the provided variables. 20 [[nodiscard]] std::unordered_set<const TFunction *> DiscoverDependentFunctions( 21 TIntermBlock &root, 22 const std::function<bool(const TVariable &)> &vars); 23 24 } // namespace sh 25 26 #endif // COMPILER_TRANSLATOR_MSL_DISCOVERDEPENDENTFUNCTIONS_H_ 27