fix make resident dependent multi root device tags

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
This commit is contained in:
Maciej Plewka
2023-02-13 15:24:53 +00:00
committed by Compute-Runtime-Automation
parent 1c63753ebe
commit b1e8ca5d59
3 changed files with 38 additions and 1 deletions

View File

@@ -15,6 +15,9 @@ void CsrDependencies::makeResident(CommandStreamReceiver &commandStreamReceiver)
for (auto &timestampPacketContainer : timestampPacketContainer) {
timestampPacketContainer->makeResident(commandStreamReceiver);
}
for (auto &timestampPacketContainer : multiRootTimeStampSyncContainer) {
timestampPacketContainer->makeResident(commandStreamReceiver);
}
}
void CsrDependencies::copyNodesToNewContainer(TimestampPacketContainer &newTimestampPacketContainer) {

View File

@@ -1,5 +1,5 @@
#
# Copyright (C) 2021-2022 Intel Corporation
# Copyright (C) 2021-2023 Intel Corporation
#
# SPDX-License-Identifier: MIT
#
@@ -16,6 +16,7 @@ target_sources(neo_shared_tests PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/command_stream_receiver_tests.cpp
${CMAKE_CURRENT_SOURCE_DIR}/command_stream_receiver_with_aub_dump_tests.cpp
${CMAKE_CURRENT_SOURCE_DIR}/compute_mode_tests.h
${CMAKE_CURRENT_SOURCE_DIR}/csr_deps_tests.cpp
${CMAKE_CURRENT_SOURCE_DIR}/get_devices_tests.cpp
${CMAKE_CURRENT_SOURCE_DIR}/linear_stream_tests.cpp
${CMAKE_CURRENT_SOURCE_DIR}/stream_properties_tests_common.cpp

View File

@@ -0,0 +1,33 @@
/*
* Copyright (C) 2023 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#include "shared/source/command_stream/csr_deps.h"
#include "shared/source/utilities/hw_timestamps.h"
#include "shared/test/common/mocks/mock_command_stream_receiver.h"
#include "shared/test/common/mocks/mock_execution_environment.h"
#include "shared/test/common/mocks/mock_memory_manager.h"
#include "shared/test/common/mocks/mock_timestamp_container.h"
#include "shared/test/common/test_macros/test.h"
using namespace NEO;
TEST(CsrDepsTests, givenCsrDepsWhenMakeResidentCalledThenMultiRootSyncNodeAreMadeResident) {
MockExecutionEnvironment executionEnvironment;
executionEnvironment.memoryManager = std::make_unique<MockMemoryManager>();
MockCommandStreamReceiver csr(executionEnvironment, 0, 0);
CsrDependencies csrDeps;
MockTagAllocator<HwTimeStamps> timeStampAllocator(0u, executionEnvironment.memoryManager.get(), 10,
MemoryConstants::cacheLineSize, sizeof(HwTimeStamps), false, 0);
auto timestampPacketContainer = std::make_unique<TimestampPacketContainer>();
auto node = timeStampAllocator.getTag();
timestampPacketContainer->add(node);
csrDeps.multiRootTimeStampSyncContainer.push_back(timestampPacketContainer.get());
csrDeps.makeResident(csr);
EXPECT_EQ(csr.makeResidentCalledTimes, 1u);
}