From 8a2b4685fde869c46ad4ebb19cbfefc4adc2a654 Mon Sep 17 00:00:00 2001 From: Finn Williams Date: Wed, 26 Feb 2020 10:25:26 +0000 Subject: IVGCVSW-4160 Make the ARM Developer Studio code a self contained build entity !armnn:2773 Signed-off-by: Finn Williams Change-Id: I246cf0de04a1d29dd135cb0fc7e55bc5f0d4b854 --- include/armnn/profiling/ITimelineDecoder.hpp | 68 ++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 include/armnn/profiling/ITimelineDecoder.hpp (limited to 'include/armnn') diff --git a/include/armnn/profiling/ITimelineDecoder.hpp b/include/armnn/profiling/ITimelineDecoder.hpp new file mode 100644 index 0000000000..7199b38d24 --- /dev/null +++ b/include/armnn/profiling/ITimelineDecoder.hpp @@ -0,0 +1,68 @@ +// +// Copyright © 2020 Arm Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// + +#pragma once + +#include +#include + +class ITimelineDecoder +{ + +public: + + enum class ErrorCode + { + ErrorCode_Success, + ErrorCode_Fail + }; + + enum class RelationshipType + { + RetentionLink, /// Head retains(parents) Tail + ExecutionLink, /// Head execution start depends on Tail execution completion + DataLink, /// Head uses data of Tail + LabelLink /// Head uses label Tail (Tail MUST be a guid of a label). + }; + + struct Entity + { + uint64_t m_Guid; + }; + + struct EventClass + { + uint64_t m_Guid; + }; + + struct Event + { + uint64_t m_Guid; + uint64_t m_TimeStamp; + uint64_t m_ThreadId; + }; + + struct Label + { + uint64_t m_Guid; + std::string m_Name; + }; + + struct Relationship + { + RelationshipType m_RelationshipType; + uint64_t m_Guid; + uint64_t m_HeadGuid; + uint64_t m_TailGuid; + }; + + virtual ~ITimelineDecoder() = default; + + virtual ErrorCode CreateEntity(const Entity&) = 0; + virtual ErrorCode CreateEventClass(const EventClass&) = 0; + virtual ErrorCode CreateEvent(const Event&) = 0; + virtual ErrorCode CreateLabel(const Label&) = 0; + virtual ErrorCode CreateRelationship(const Relationship&) = 0; +}; \ No newline at end of file -- cgit v1.2.1