// // Copyright © 2020 Arm Ltd. All rights reserved. // SPDX-License-Identifier: MIT // #pragma once #include "IBackendProfiling.hpp" #include namespace arm { namespace pipe { class IBackendProfilingContext { public: virtual ~IBackendProfilingContext() {} virtual uint16_t RegisterCounters(uint16_t currentMaxGlobalCounterID) = 0; virtual arm::pipe::Optional ActivateCounters( uint32_t capturePeriod, const std::vector& counterIds) = 0; virtual std::vector ReportCounterValues() = 0; virtual bool EnableProfiling(bool flag) = 0; virtual bool EnableTimelineReporting(bool flag) = 0; }; using IBackendProfilingContextUniquePtr = std::unique_ptr; } // namespace pipe } // namespace arm