Files
compute-runtime/shared/test/common/mocks/mock_migration_sync_data.h
Milczarek, Slawomir 25a5ed0dca Allocate buffers in local memory for PVC multi root device platforms (1/n)
PVC platform with no support for atomic operations on system memory
must always allocate buffers in local memory to avoid atomic access violation.
Note: the feature is being implemented under the new registry key
AllocateBuffersInLocalMemoryForMultiRootDeviceContexts (disabled by default)

Related-To: NEO-7092

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2022-11-14 13:56:50 +01:00

38 lines
988 B
C++

/*
* Copyright (C) 2021-2022 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#pragma once
#include "shared/source/memory_manager/migration_sync_data.h"
namespace NEO {
struct MockMigrationSyncDataWithYield : public MigrationSyncData {
using MigrationSyncData::MigrationSyncData;
void yield() const override {
(*this->tagAddress)++;
MigrationSyncData::yield();
}
};
struct MockMigrationSyncData : public MigrationSyncData {
using MigrationSyncData::latestTaskCountUsed;
using MigrationSyncData::MigrationSyncData;
using MigrationSyncData::tagAddress;
void signalUsage(volatile uint32_t *tagAddress, uint32_t taskCount) override {
signalUsageCalled++;
MigrationSyncData::signalUsage(tagAddress, taskCount);
}
void waitOnCpu() override {
waitOnCpuCalled++;
MigrationSyncData::waitOnCpu();
}
uint32_t signalUsageCalled = 0u;
uint32_t waitOnCpuCalled = 0u;
};
} // namespace NEO