1 /*
2  * Copyright (C) 2018-2021 Intel Corporation
3  *
4  * SPDX-License-Identifier: MIT
5  *
6  */
7 
8 #pragma once
9 #include "shared/source/utilities/stackvec.h"
10 
11 #include <vector>
12 
13 namespace NEO {
14 
15 struct ResidencyData {
ResidencyDataResidencyData16     ResidencyData(size_t maxOsContextCount) : resident(maxOsContextCount, 0), lastFenceValues(static_cast<size_t>(maxOsContextCount)) {}
17     std::vector<bool> resident;
18 
19     void updateCompletionData(uint64_t newFenceValue, uint32_t contextId);
20     uint64_t getFenceValueForContextId(uint32_t contextId);
21 
22   protected:
23     StackVec<uint64_t, 32> lastFenceValues;
24 };
25 } // namespace NEO
26