compute-runtime/shared/source/command_stream/csr_deps.h

37 lines
925 B
C++

/*
* Copyright (C) 2020-2024 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#pragma once
#include "shared/source/utilities/stackvec.h"
#include <set>
namespace NEO {
class TimestampPacketContainer;
class CommandStreamReceiver;
class CsrDependencies {
public:
enum class DependenciesType {
onCsr,
outOfCsr,
all
};
StackVec<TimestampPacketContainer *, 32> multiRootTimeStampSyncContainer;
StackVec<TimestampPacketContainer *, 32> timestampPacketContainer;
void makeResident(CommandStreamReceiver &commandStreamReceiver) const;
void copyNodesToNewContainer(TimestampPacketContainer &newTimestampPacketContainer);
void copyRootDeviceSyncNodesToNewContainer(TimestampPacketContainer &newTimestampPacketContainer);
std::set<CommandStreamReceiver *> csrWithMultiEngineDependencies;
bool containsCrossEngineDependency = false;
};
} // namespace NEO