2021-07-02 00:00:22 +08:00
|
|
|
/*
|
2025-01-16 03:01:49 +08:00
|
|
|
* Copyright (C) 2021-2025 Intel Corporation
|
2021-07-02 00:00:22 +08:00
|
|
|
*
|
|
|
|
* 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 {
|
2025-01-16 03:01:49 +08:00
|
|
|
auto newTag = *this->tagAddress + 1;
|
|
|
|
*this->tagAddress = newTag;
|
2021-07-02 00:00:22 +08:00
|
|
|
MigrationSyncData::yield();
|
|
|
|
}
|
|
|
|
};
|
|
|
|
struct MockMigrationSyncData : public MigrationSyncData {
|
|
|
|
using MigrationSyncData::latestTaskCountUsed;
|
|
|
|
using MigrationSyncData::MigrationSyncData;
|
|
|
|
using MigrationSyncData::tagAddress;
|
2022-11-22 21:53:59 +08:00
|
|
|
void signalUsage(volatile TagAddressType *tagAddress, TaskCountType taskCount) override {
|
2022-10-25 07:25:04 +08:00
|
|
|
signalUsageCalled++;
|
|
|
|
MigrationSyncData::signalUsage(tagAddress, taskCount);
|
|
|
|
}
|
2021-07-02 00:00:22 +08:00
|
|
|
void waitOnCpu() override {
|
|
|
|
waitOnCpuCalled++;
|
|
|
|
MigrationSyncData::waitOnCpu();
|
|
|
|
}
|
|
|
|
|
2022-10-25 07:25:04 +08:00
|
|
|
uint32_t signalUsageCalled = 0u;
|
2021-07-02 00:00:22 +08:00
|
|
|
uint32_t waitOnCpuCalled = 0u;
|
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace NEO
|