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