refactor: modernizing NEO::Range->std::span

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
This commit is contained in:
Chodor, Jaroslaw
2025-07-16 17:35:14 +00:00
committed by Compute-Runtime-Automation
parent e92ac1c8ab
commit fcc2038def
28 changed files with 71 additions and 200 deletions

View File

@@ -462,7 +462,7 @@ volatile TagAddressType *CommandQueue::getHwTagAddress() const {
return getGpgpuCommandStreamReceiver().getTagAddress();
}
bool CommandQueue::isCompleted(TaskCountType gpgpuTaskCount, const Range<CopyEngineState> &bcsStates) {
bool CommandQueue::isCompleted(TaskCountType gpgpuTaskCount, const std::span<CopyEngineState> &bcsStates) {
DEBUG_BREAK_IF(getHwTag() == CompletionStamp::notReady);
if (getGpgpuCommandStreamReceiver().testTaskCountReady(getHwTagAddress(), gpgpuTaskCount)) {
@@ -481,7 +481,7 @@ bool CommandQueue::isCompleted(TaskCountType gpgpuTaskCount, const Range<CopyEng
return false;
}
WaitStatus CommandQueue::waitUntilComplete(TaskCountType gpgpuTaskCountToWait, Range<CopyEngineState> copyEnginesToWait, FlushStamp flushStampToWait, bool useQuickKmdSleep, bool cleanTemporaryAllocationList, bool skipWait) {
WaitStatus CommandQueue::waitUntilComplete(TaskCountType gpgpuTaskCountToWait, std::span<CopyEngineState> copyEnginesToWait, FlushStamp flushStampToWait, bool useQuickKmdSleep, bool cleanTemporaryAllocationList, bool skipWait) {
WAIT_ENTER()
WaitStatus waitStatus{WaitStatus::ready};

View File

@@ -15,7 +15,6 @@
#include "shared/source/memory_manager/graphics_allocation.h"
#include "shared/source/sku_info/sku_info_base.h"
#include "shared/source/unified_memory/unified_memory.h"
#include "shared/source/utilities/range.h"
#include "opencl/source/api/cl_types.h"
#include "opencl/source/command_queue/copy_engine_state.h"
@@ -25,6 +24,7 @@
#include <cstdint>
#include <optional>
#include <span>
namespace NEO {
class BarrierCommand;
@@ -226,15 +226,15 @@ class CommandQueue : public BaseObject<_cl_command_queue> {
volatile TagAddressType *getHwTagAddress() const;
MOCKABLE_VIRTUAL bool isCompleted(TaskCountType gpgpuTaskCount, const Range<CopyEngineState> &bcsStates);
MOCKABLE_VIRTUAL bool isCompleted(TaskCountType gpgpuTaskCount, const std::span<CopyEngineState> &bcsStates);
bool isWaitForTimestampsEnabled() const;
virtual bool waitForTimestamps(Range<CopyEngineState> copyEnginesToWait, WaitStatus &status, TimestampPacketContainer *mainContainer, TimestampPacketContainer *deferredContainer) = 0;
virtual bool waitForTimestamps(std::span<CopyEngineState> copyEnginesToWait, WaitStatus &status, TimestampPacketContainer *mainContainer, TimestampPacketContainer *deferredContainer) = 0;
MOCKABLE_VIRTUAL bool isQueueBlocked();
MOCKABLE_VIRTUAL WaitStatus waitUntilComplete(TaskCountType gpgpuTaskCountToWait, Range<CopyEngineState> copyEnginesToWait, FlushStamp flushStampToWait, bool useQuickKmdSleep, bool cleanTemporaryAllocationList, bool skipWait);
MOCKABLE_VIRTUAL WaitStatus waitUntilComplete(TaskCountType gpgpuTaskCountToWait, Range<CopyEngineState> copyEnginesToWait, FlushStamp flushStampToWait, bool useQuickKmdSleep) {
MOCKABLE_VIRTUAL WaitStatus waitUntilComplete(TaskCountType gpgpuTaskCountToWait, std::span<CopyEngineState> copyEnginesToWait, FlushStamp flushStampToWait, bool useQuickKmdSleep, bool cleanTemporaryAllocationList, bool skipWait);
MOCKABLE_VIRTUAL WaitStatus waitUntilComplete(TaskCountType gpgpuTaskCountToWait, std::span<CopyEngineState> copyEnginesToWait, FlushStamp flushStampToWait, bool useQuickKmdSleep) {
return this->waitUntilComplete(gpgpuTaskCountToWait, copyEnginesToWait, flushStampToWait, useQuickKmdSleep, true, false);
}
MOCKABLE_VIRTUAL WaitStatus waitForAllEngines(bool blockedQueue, PrintfHandler *printfHandler, bool cleanTemporaryAllocationsList, bool waitForTaskCountRequired);

View File

@@ -480,7 +480,7 @@ class CommandQueueHw : public CommandQueue {
bool isCacheFlushCommand(uint32_t commandType) const override;
bool waitForTimestamps(Range<CopyEngineState> copyEnginesToWait, WaitStatus &status, TimestampPacketContainer *mainContainer, TimestampPacketContainer *deferredContainer) override;
bool waitForTimestamps(std::span<CopyEngineState> copyEnginesToWait, WaitStatus &status, TimestampPacketContainer *mainContainer, TimestampPacketContainer *deferredContainer) override;
MOCKABLE_VIRTUAL bool isCacheFlushForBcsRequired() const;
MOCKABLE_VIRTUAL void processSignalMultiRootDeviceNode(LinearStream *commandStream,

View File

@@ -183,7 +183,7 @@ inline bool waitForTimestampsWithinContainer(TimestampPacketContainer *container
}
template <typename Family>
bool CommandQueueHw<Family>::waitForTimestamps(Range<CopyEngineState> copyEnginesToWait, WaitStatus &status, TimestampPacketContainer *mainContainer, TimestampPacketContainer *deferredContainer) {
bool CommandQueueHw<Family>::waitForTimestamps(std::span<CopyEngineState> copyEnginesToWait, WaitStatus &status, TimestampPacketContainer *mainContainer, TimestampPacketContainer *deferredContainer) {
using TSPacketType = typename Family::TimestampPacketType;
bool waited = false;

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2021-2023 Intel Corporation
* Copyright (C) 2021-2025 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
@@ -21,7 +21,7 @@ void CommandQueueHw<Family>::submitCacheFlush(Surface **surfaces,
uint64_t postSyncAddress) {
if constexpr (Family::isUsingL3Control) {
StackVec<L3Range, 128> subranges;
for (auto surface : createRange(surfaces, numSurfaces)) {
for (auto surface : std::span(surfaces, numSurfaces)) {
auto resource = reinterpret_cast<ResourceSurface *>(surface);
auto alloc = resource->getGraphicsAllocation();
coverRangeExact(alloc->getGpuAddress(), alloc->getUnderlyingBufferSize(), subranges, resource->resourceType);
@@ -29,7 +29,7 @@ void CommandQueueHw<Family>::submitCacheFlush(Surface **surfaces,
for (size_t subrangeNumber = 0; subrangeNumber < subranges.size(); subrangeNumber += maxFlushSubrangeCount) {
size_t rangeCount = subranges.size() <= subrangeNumber + maxFlushSubrangeCount ? subranges.size() - subrangeNumber : maxFlushSubrangeCount;
Range<L3Range> range = createRange(subranges.begin() + subrangeNumber, rangeCount);
std::span<L3Range> range = {subranges.begin() + subrangeNumber, rangeCount};
uint64_t postSyncAddressToFlush = 0;
if (rangeCount < maxFlushSubrangeCount || subranges.size() - subrangeNumber - maxFlushSubrangeCount == 0) {
postSyncAddressToFlush = postSyncAddress;
@@ -56,7 +56,7 @@ LinearStream &getCommandStream<Family, CL_COMMAND_RESOURCE_BARRIER>(CommandQueue
if constexpr (Family::isUsingL3Control) {
StackVec<L3Range, 128> subranges;
for (auto surface : createRange(surfaces, numSurfaces)) {
for (auto surface : std::span(surfaces, numSurfaces)) {
ResourceSurface *resource = reinterpret_cast<ResourceSurface *>(surface);
auto alloc = resource->getGraphicsAllocation();
coverRangeExact(alloc->getGpuAddress(), alloc->getUnderlyingBufferSize(), subranges, resource->resourceType);

View File

@@ -21,7 +21,6 @@
#include "shared/source/memory_manager/unified_memory_manager.h"
#include "shared/source/os_interface/os_context.h"
#include "shared/source/program/sync_buffer_handler.h"
#include "shared/source/utilities/range.h"
#include "shared/source/utilities/tag_allocator.h"
#include "opencl/source/built_ins/builtins_dispatch_builder.h"
@@ -43,6 +42,7 @@
#include "opencl/source/utilities/cl_logger.h"
#include <algorithm>
#include <span>
namespace NEO {
struct RootDeviceEnvironment;
@@ -821,7 +821,7 @@ CompletionStamp CommandQueueHw<GfxFamily>::enqueueNonBlocked(
}
bool anyUncacheableArgs = false;
for (auto surface : createRange(surfaces, surfaceCount)) {
for (auto surface : std::span(surfaces, surfaceCount)) {
surface->makeResident(csr);
if (!surface->allowsL3Caching()) {
anyUncacheableArgs = true;
@@ -1059,7 +1059,7 @@ void CommandQueueHw<GfxFamily>::enqueueBlocked(
}
allSurfaces.reserve(allSurfaces.size() + surfaceCount);
for (auto &surface : createRange(surfaces, surfaceCount)) {
for (auto &surface : std::span(surfaces, surfaceCount)) {
allSurfaces.push_back(surface->duplicate());
}
@@ -1137,7 +1137,7 @@ CompletionStamp CommandQueueHw<GfxFamily>::enqueueCommandWithoutKernel(
timestampPacketDependencies.cacheFlushNodes.makeResident(getGpgpuCommandStreamReceiver());
}
for (auto surface : createRange(surfaces, surfaceCount)) {
for (auto surface : std::span(surfaces, surfaceCount)) {
surface->makeResident(getGpgpuCommandStreamReceiver());
}
bool stateCacheInvalidationNeeded = false;

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2021-2023 Intel Corporation
* Copyright (C) 2021-2025 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
@@ -9,16 +9,17 @@
#include "shared/source/device/device.h"
#include "shared/source/memory_manager/unified_memory_manager.h"
#include "shared/source/utilities/range.h"
#include "opencl/source/command_queue/command_queue.h"
#include "opencl/source/context/context.h"
#include "opencl/source/helpers/cl_validators.h"
#include "opencl/source/mem_obj/mem_obj.h"
#include <span>
namespace NEO {
BarrierCommand::BarrierCommand(CommandQueue *commandQueue, const cl_resource_barrier_descriptor_intel *descriptors, uint32_t numDescriptors) : numSurfaces(numDescriptors) {
for (auto &description : createRange(descriptors, numDescriptors)) {
for (auto &description : std::span(descriptors, numDescriptors)) {
GraphicsAllocation *allocation;
if (description.memObject) {
MemObj *memObj = nullptr;

View File

@@ -20,7 +20,6 @@
#include "shared/source/helpers/timestamp_packet.h"
#include "shared/source/memory_manager/internal_allocation_storage.h"
#include "shared/source/utilities/perf_counter.h"
#include "shared/source/utilities/range.h"
#include "shared/source/utilities/staging_buffer_manager.h"
#include "shared/source/utilities/tag_allocator.h"
@@ -35,6 +34,7 @@
#include <algorithm>
#include <iostream>
#include <span>
namespace NEO {
Event::Event(
@@ -483,7 +483,7 @@ inline WaitStatus Event::wait(bool blocking, bool useQuickKmdSleep) {
}
}
Range<CopyEngineState> states{&bcsState, bcsState.isValid() ? 1u : 0u};
std::span<CopyEngineState> states{&bcsState, bcsState.isValid() ? 1u : 0u};
auto waitStatus = WaitStatus::notReady;
auto waitedOnTimestamps = cmdQueue->waitForTimestamps(states, waitStatus, this->timestampPacketContainer.get(), nullptr);
waitStatus = cmdQueue->waitUntilComplete(taskCount.load(), states, flushStamp->peekStamp(), useQuickKmdSleep, true, waitedOnTimestamps);
@@ -773,7 +773,7 @@ bool Event::isCompleted() {
return true;
}
Range<CopyEngineState> states{&bcsState, bcsState.isValid() ? 1u : 0u};
std::span<CopyEngineState> states{&bcsState, bcsState.isValid() ? 1u : 0u};
if (cmdQueue->isCompleted(getCompletionStamp(), states)) {
gpuStateWaited = true;

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2018-2023 Intel Corporation
* Copyright (C) 2018-2025 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
@@ -265,7 +265,7 @@ HWTEST_F(ClEnqueueWaitForEventsTests, givenAlreadyCompletedEventWhenWaitForCompl
struct GTPinMockCommandQueue : MockCommandQueue {
GTPinMockCommandQueue(Context *context, MockClDevice *device) : MockCommandQueue(context, device, nullptr, false) {}
WaitStatus waitUntilComplete(TaskCountType gpgpuTaskCountToWait, Range<CopyEngineState> copyEnginesToWait, FlushStamp flushStampToWait, bool useQuickKmdSleep) override {
WaitStatus waitUntilComplete(TaskCountType gpgpuTaskCountToWait, std::span<CopyEngineState> copyEnginesToWait, FlushStamp flushStampToWait, bool useQuickKmdSleep) override {
return MockCommandQueue::waitUntilComplete(gpgpuTaskCountToWait, copyEnginesToWait, flushStampToWait, useQuickKmdSleep, true, true);
}

View File

@@ -1237,7 +1237,7 @@ HWTEST_TEMPLATED_F(BlitEnqueueTaskCountTests, whenWaitUntilCompletionCalledThenW
uint32_t bcsTaskCount = 123;
CopyEngineState bcsState{bcsCsr->getOsContext().getEngineType(), bcsTaskCount};
commandQueue->waitUntilComplete(gpgpuTaskCount, Range{&bcsState}, 0, false);
commandQueue->waitUntilComplete(gpgpuTaskCount, std::span{&bcsState, 1}, 0, false);
EXPECT_EQ(gpgpuTaskCount, static_cast<UltCommandStreamReceiver<FamilyType> *>(gpgpuCsr)->latestWaitForCompletionWithTimeoutTaskCount.load());
EXPECT_EQ(bcsTaskCount, static_cast<UltCommandStreamReceiver<FamilyType> *>(bcsCsr)->latestWaitForCompletionWithTimeoutTaskCount.load());

View File

@@ -67,7 +67,7 @@ HWTEST_F(CommandQueueHwTest, whenCallingIsCompletedThenTestTaskCountValue) {
cmdQ.bcsEngines[0] = &control;
cmdQ.bcsStates[0] = state;
Range<CopyEngineState> states{&state};
std::span<CopyEngineState> states{&state, 1};
EXPECT_EQ(0u, ultCsr.downloadAllocationsCalledCount);
EXPECT_EQ(0u, bcsCsr->downloadAllocationsCalledCount);

View File

@@ -1042,7 +1042,7 @@ struct WaitForQueueCompletionTests : public ::testing::Test {
template <typename Family>
struct MyCmdQueue : public CommandQueueHw<Family> {
MyCmdQueue(Context *context, ClDevice *device) : CommandQueueHw<Family>(context, device, nullptr, false){};
WaitStatus waitUntilComplete(TaskCountType gpgpuTaskCountToWait, Range<CopyEngineState> copyEnginesToWait, FlushStamp flushStampToWait, bool useQuickKmdSleep, bool cleanTemporaryAllocationList, bool skipWait) override {
WaitStatus waitUntilComplete(TaskCountType gpgpuTaskCountToWait, std::span<CopyEngineState> copyEnginesToWait, FlushStamp flushStampToWait, bool useQuickKmdSleep, bool cleanTemporaryAllocationList, bool skipWait) override {
requestedUseQuickKmdSleep = useQuickKmdSleep;
waitUntilCompleteCounter++;

View File

@@ -112,7 +112,7 @@ struct EnqueueHandlerWithAubSubCaptureTests : public EnqueueHandlerTest {
public:
MockCmdQWithAubSubCapture(Context *context, ClDevice *device) : CommandQueueHw<FamilyType>(context, device, nullptr, false) {}
WaitStatus waitUntilComplete(TaskCountType gpgpuTaskCountToWait, Range<CopyEngineState> copyEnginesToWait, FlushStamp flushStampToWait, bool useQuickKmdSleep, bool cleanTemporaryAllocationList, bool skipWait) override {
WaitStatus waitUntilComplete(TaskCountType gpgpuTaskCountToWait, std::span<CopyEngineState> copyEnginesToWait, FlushStamp flushStampToWait, bool useQuickKmdSleep, bool cleanTemporaryAllocationList, bool skipWait) override {
waitUntilCompleteCalled = true;
return CommandQueueHw<FamilyType>::waitUntilComplete(gpgpuTaskCountToWait, copyEnginesToWait, flushStampToWait, useQuickKmdSleep, cleanTemporaryAllocationList, skipWait);

View File

@@ -912,7 +912,7 @@ class MyCmdQ : public MockCommandQueueHw<FamilyType> {
auxTranslationDirection);
}
WaitStatus waitUntilComplete(TaskCountType gpgpuTaskCountToWait, Range<CopyEngineState> copyEnginesToWait, FlushStamp flushStampToWait, bool useQuickKmdSleep, bool cleanTemporaryAllocationList, bool skipWait) override {
WaitStatus waitUntilComplete(TaskCountType gpgpuTaskCountToWait, std::span<CopyEngineState> copyEnginesToWait, FlushStamp flushStampToWait, bool useQuickKmdSleep, bool cleanTemporaryAllocationList, bool skipWait) override {
waitCalled++;
return MockCommandQueueHw<FamilyType>::waitUntilComplete(gpgpuTaskCountToWait, copyEnginesToWait, flushStampToWait, useQuickKmdSleep, cleanTemporaryAllocationList, skipWait);
}

View File

@@ -1004,7 +1004,7 @@ HWTEST_F(TimestampPacketTests, givenNewSubmissionWhileWaitingThenDontReleaseDefe
public:
using MockCommandQueueHw<FamilyType>::MockCommandQueueHw;
WaitStatus waitUntilComplete(TaskCountType gpgpuTaskCountToWait, Range<CopyEngineState> copyEnginesToWait, FlushStamp flushStampToWait, bool useQuickKmdSleep, bool cleanTemporaryAllocationList, bool skipWait) override {
WaitStatus waitUntilComplete(TaskCountType gpgpuTaskCountToWait, std::span<CopyEngineState> copyEnginesToWait, FlushStamp flushStampToWait, bool useQuickKmdSleep, bool cleanTemporaryAllocationList, bool skipWait) override {
this->taskCount++;
return this->MockCommandQueueHw<FamilyType>::waitUntilComplete(gpgpuTaskCountToWait, copyEnginesToWait, flushStampToWait, useQuickKmdSleep, cleanTemporaryAllocationList, skipWait);
@@ -1050,7 +1050,7 @@ HWTEST_F(TimestampPacketTests, givenNewBcsSubmissionWhileWaitingThenDontReleaseD
public:
using MockCommandQueueHw<FamilyType>::MockCommandQueueHw;
WaitStatus waitUntilComplete(TaskCountType gpgpuTaskCountToWait, Range<CopyEngineState> copyEnginesToWait, FlushStamp flushStampToWait, bool useQuickKmdSleep, bool cleanTemporaryAllocationList, bool skipWait) override {
WaitStatus waitUntilComplete(TaskCountType gpgpuTaskCountToWait, std::span<CopyEngineState> copyEnginesToWait, FlushStamp flushStampToWait, bool useQuickKmdSleep, bool cleanTemporaryAllocationList, bool skipWait) override {
this->bcsStates[0].taskCount++;
return this->MockCommandQueueHw<FamilyType>::waitUntilComplete(gpgpuTaskCountToWait, copyEnginesToWait, flushStampToWait, useQuickKmdSleep, cleanTemporaryAllocationList, skipWait);

View File

@@ -42,7 +42,7 @@ cl_int MockCommandQueue::enqueueMarkerWithWaitList(cl_uint numEventsInWaitList,
return CL_SUCCESS;
}
bool MockCommandQueue::isCompleted(TaskCountType gpgpuTaskCount, const Range<CopyEngineState> &bcsStates) {
bool MockCommandQueue::isCompleted(TaskCountType gpgpuTaskCount, const std::span<CopyEngineState> &bcsStates) {
isCompletedCalled++;
if (!device || !getGpgpuCommandStreamReceiver().getTagAddress()) {

View File

@@ -97,7 +97,7 @@ class MockCommandQueue : public CommandQueue {
return CL_SUCCESS;
}
WaitStatus waitUntilComplete(TaskCountType gpgpuTaskCountToWait, Range<CopyEngineState> copyEnginesToWait, FlushStamp flushStampToWait, bool useQuickKmdSleep, bool cleanTemporaryAllocationList, bool skipWait) override {
WaitStatus waitUntilComplete(TaskCountType gpgpuTaskCountToWait, std::span<CopyEngineState> copyEnginesToWait, FlushStamp flushStampToWait, bool useQuickKmdSleep, bool cleanTemporaryAllocationList, bool skipWait) override {
latestTaskCountWaited = gpgpuTaskCountToWait;
waitUntilCompleteCalledCount++;
@@ -108,7 +108,7 @@ class MockCommandQueue : public CommandQueue {
return CommandQueue::waitUntilComplete(gpgpuTaskCountToWait, copyEnginesToWait, flushStampToWait, useQuickKmdSleep, cleanTemporaryAllocationList, skipWait);
}
WaitStatus waitUntilComplete(TaskCountType gpgpuTaskCountToWait, Range<CopyEngineState> copyEnginesToWait, FlushStamp flushStampToWait, bool useQuickKmdSleep) override {
WaitStatus waitUntilComplete(TaskCountType gpgpuTaskCountToWait, std::span<CopyEngineState> copyEnginesToWait, FlushStamp flushStampToWait, bool useQuickKmdSleep) override {
latestTaskCountWaited = gpgpuTaskCountToWait;
return CommandQueue::waitUntilComplete(gpgpuTaskCountToWait, copyEnginesToWait, flushStampToWait, useQuickKmdSleep);
}
@@ -233,12 +233,12 @@ class MockCommandQueue : public CommandQueue {
cl_int flush() override { return CL_SUCCESS; }
bool waitForTimestamps(Range<CopyEngineState> copyEnginesToWait, WaitStatus &status, TimestampPacketContainer *mainContainer, TimestampPacketContainer *deferredContainer) override {
bool waitForTimestamps(std::span<CopyEngineState> copyEnginesToWait, WaitStatus &status, TimestampPacketContainer *mainContainer, TimestampPacketContainer *deferredContainer) override {
waitForTimestampsCalled = true;
return false;
};
bool isCompleted(TaskCountType gpgpuTaskCount, const Range<CopyEngineState> &bcsStates) override;
bool isCompleted(TaskCountType gpgpuTaskCount, const std::span<CopyEngineState> &bcsStates) override;
bool enqueueMarkerWithWaitListCalled = false;
bool releaseIndirectHeapCalled = false;
@@ -452,7 +452,7 @@ class MockCommandQueueHw : public CommandQueueHw<GfxFamily> {
useBcsCsrOnNotifyEnabled = notifyBcsCsr;
}
WaitStatus waitUntilComplete(TaskCountType gpgpuTaskCountToWait, Range<CopyEngineState> copyEnginesToWait, FlushStamp flushStampToWait, bool useQuickKmdSleep, bool cleanTemporaryAllocationList, bool skipWait) override {
WaitStatus waitUntilComplete(TaskCountType gpgpuTaskCountToWait, std::span<CopyEngineState> copyEnginesToWait, FlushStamp flushStampToWait, bool useQuickKmdSleep, bool cleanTemporaryAllocationList, bool skipWait) override {
this->recordedSkipWait = skipWait;
latestTaskCountWaited = gpgpuTaskCountToWait;
if (waitUntilCompleteReturnValue.has_value()) {
@@ -496,7 +496,7 @@ class MockCommandQueueHw : public CommandQueueHw<GfxFamily> {
return BaseClass::isGpgpuSubmissionForBcsRequired(queueBlocked, timestampPacketDependencies, containsCrossEngineDependency, textureCacheFlushRequired);
}
bool waitForTimestamps(Range<CopyEngineState> copyEnginesToWait, WaitStatus &status, TimestampPacketContainer *mainContainer, TimestampPacketContainer *deferredContainer) override {
bool waitForTimestamps(std::span<CopyEngineState> copyEnginesToWait, WaitStatus &status, TimestampPacketContainer *mainContainer, TimestampPacketContainer *deferredContainer) override {
waitForTimestampsCalled = true;
latestWaitForTimestampsStatus = BaseClass::waitForTimestamps(copyEnginesToWait, status, mainContainer, deferredContainer);
@@ -504,7 +504,7 @@ class MockCommandQueueHw : public CommandQueueHw<GfxFamily> {
return latestWaitForTimestampsStatus;
}
bool isCompleted(TaskCountType gpgpuTaskCount, const Range<CopyEngineState> &bcsStates) override {
bool isCompleted(TaskCountType gpgpuTaskCount, const std::span<CopyEngineState> &bcsStates) override {
isCompletedCalled++;
return CommandQueue::isCompleted(gpgpuTaskCount, bcsStates);

View File

@@ -628,7 +628,7 @@ HWTEST_F(ProfilingTests, givenDebugFlagSetWhenWaitingForTimestampThenPrint) {
StreamCapture capture;
capture.captureStdout();
Range<CopyEngineState> copyEngineStates;
std::span<CopyEngineState> copyEngineStates;
WaitStatus status;
container->add(node.get());