1 /*
2  * Copyright (C) 2019-2021 Intel Corporation
3  *
4  * SPDX-License-Identifier: MIT
5  *
6  */
7 
8 #pragma once
9 #include <bitset>
10 #include <memory>
11 #include <vector>
12 namespace NEO {
13 struct EngineControl;
14 using EngineControlContainer = std::vector<EngineControl>;
15 using DeviceBitfield = std::bitset<32>;
16 class Device;
17 using DeviceVector = std::vector<std::unique_ptr<Device>>;
18 
19 enum class DebugPauseState : uint32_t {
20     disabled,
21     waitingForFirstSemaphore,
22     waitingForUserStartConfirmation,
23     hasUserStartConfirmation,
24     waitingForUserEndConfirmation,
25     hasUserEndConfirmation,
26     terminate
27 };
28 
29 enum class ColouringPolicy : uint32_t {
30     DeviceCountBased,
31     ChunkSizeBased,
32     MappingBased
33 };
34 
35 class TagTypeBase {
36 };
37 
38 enum class TagNodeType {
39     TimestampPacket,
40     HwTimeStamps,
41     HwPerfCounter
42 };
43 } // namespace NEO
44