/* * Copyright (C) 2021 Intel Corporation * * SPDX-License-Identifier: MIT * */ #pragma once #include "shared/source/helpers/non_copyable_or_moveable.h" #include "shared/source/utilities/logger.h" #include #include #include namespace NEO { struct MultiDispatchInfo; template class ClFileLogger : public NonCopyableOrMovableClass { public: ClFileLogger(FileLogger &baseLoggerInm, const DebugVariables &flags); void dumpKernelArgs(const MultiDispatchInfo *multiDispatchInfo); const std::string getEvents(const uintptr_t *input, uint32_t numOfEvents); const std::string getMemObjects(const uintptr_t *input, uint32_t numOfObjects); protected: bool dumpKernelArgsEnabled = false; FileLogger &baseLogger; }; ClFileLogger &getClFileLogger(); }; // namespace NEO