diff --git a/src/gallium/frontends/clover/util/functional.hpp b/src/gallium/frontends/clover/util/functional.hpp index bf374c6b199..a89c4fc2f4c 100644 --- a/src/gallium/frontends/clover/util/functional.hpp +++ b/src/gallium/frontends/clover/util/functional.hpp @@ -406,6 +406,30 @@ namespace clover { return { x }; } + template + class id_type_equals_t { + public: + id_type_equals_t(const uint32_t id, T t) : + id(id), type(t) { + } + + template + bool + operator()(const X &x) const { + return id == x.id && type(x); + } + + private: + const uint32_t id; + type_equals_t type; + }; + + template + id_type_equals_t + id_type_equals(const uint32_t id, T x) { + return { id, x }; + } + struct interval_overlaps { template bool