mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-20 08:53:55 +08:00
refactor: move builtinOpsBuilders from ClExecutionEnvironment to ClDevice
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
48c11c24ff
commit
5abdcc045e
@@ -1090,8 +1090,7 @@ class BuiltInOp<EBuiltInOps::fillImage1dBufferHeapless> : public BuiltInOp<EBuil
|
||||
BuiltinDispatchInfoBuilder &BuiltInDispatchBuilderOp::getBuiltinDispatchInfoBuilder(EBuiltInOps::Type operation, ClDevice &device) {
|
||||
uint32_t operationId = static_cast<uint32_t>(operation);
|
||||
auto &builtins = *device.getDevice().getBuiltIns();
|
||||
auto clExecutionEnvironment = static_cast<ClExecutionEnvironment *>(device.getExecutionEnvironment());
|
||||
auto &operationBuilder = clExecutionEnvironment->peekBuilders(device.getRootDeviceIndex())[operationId];
|
||||
auto &operationBuilder = device.peekBuilders()[operationId];
|
||||
switch (operation) {
|
||||
case EBuiltInOps::copyBufferToBuffer:
|
||||
std::call_once(operationBuilder.second, [&] { operationBuilder.first = std::make_unique<BuiltInOp<EBuiltInOps::copyBufferToBuffer>>(builtins, device); });
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
#include "shared/source/os_interface/driver_info.h"
|
||||
#include "shared/source/os_interface/os_interface.h"
|
||||
|
||||
#include "opencl/source/built_ins/builtins_dispatch_builder.h"
|
||||
#include "opencl/source/gtpin/gtpin_gfx_core_helper.h"
|
||||
#include "opencl/source/helpers/cl_gfx_core_helper.h"
|
||||
#include "opencl/source/platform/platform.h"
|
||||
@@ -61,12 +62,17 @@ ClDevice::ClDevice(Device &device, ClDevice &rootClDevice, Platform *platform) :
|
||||
|
||||
subDevices.push_back(std::move(pClSubDevice));
|
||||
}
|
||||
|
||||
if (!device.isSubDevice()) {
|
||||
builtinOpsBuilders = std::make_unique<BuilderT[]>(EBuiltInOps::count);
|
||||
}
|
||||
}
|
||||
|
||||
ClDevice::ClDevice(Device &device, Platform *platformId) : ClDevice(device, *this, platformId) {
|
||||
}
|
||||
|
||||
ClDevice::~ClDevice() {
|
||||
builtinOpsBuilders.reset();
|
||||
for (auto &subDevice : subDevices) {
|
||||
subDevice.reset();
|
||||
}
|
||||
|
||||
@@ -44,6 +44,8 @@ class GfxCoreHelper;
|
||||
class ProductHelper;
|
||||
class GTPinGfxCoreHelper;
|
||||
class CompilerProductHelper;
|
||||
class BuiltinDispatchInfoBuilder;
|
||||
|
||||
enum class EngineGroupType : uint32_t;
|
||||
|
||||
template <>
|
||||
@@ -137,6 +139,9 @@ class ClDevice : public BaseObject<_cl_device_id> {
|
||||
std::unique_ptr<GTPinGfxCoreHelper> gtpinGfxCoreHelper;
|
||||
cl_version getExtensionVersion(std::string name);
|
||||
|
||||
using BuilderT = std::pair<std::unique_ptr<BuiltinDispatchInfoBuilder>, std::once_flag>;
|
||||
BuilderT *peekBuilders() { return rootClDevice.builtinOpsBuilders.get(); }
|
||||
|
||||
protected:
|
||||
void initializeCaps();
|
||||
void initializeExtensionsWithVersion();
|
||||
@@ -158,6 +163,7 @@ class ClDevice : public BaseObject<_cl_device_id> {
|
||||
std::unique_ptr<DriverInfo> driverInfo;
|
||||
std::string deviceExtensions;
|
||||
std::string exposedBuiltinKernels = "";
|
||||
std::unique_ptr<BuilderT[]> builtinOpsBuilders;
|
||||
|
||||
ClDeviceInfo deviceInfo = {};
|
||||
std::once_flag initializeExtensionsWithVersionOnce;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2020-2023 Intel Corporation
|
||||
* Copyright (C) 2020-2025 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -7,7 +7,6 @@
|
||||
|
||||
#include "opencl/source/execution_environment/cl_execution_environment.h"
|
||||
|
||||
#include "opencl/source/built_ins/builtins_dispatch_builder.h"
|
||||
#include "opencl/source/event/async_events_handler.h"
|
||||
|
||||
namespace NEO {
|
||||
@@ -25,9 +24,5 @@ ClExecutionEnvironment::~ClExecutionEnvironment() {
|
||||
};
|
||||
void ClExecutionEnvironment::prepareRootDeviceEnvironments(uint32_t numRootDevices) {
|
||||
ExecutionEnvironment::prepareRootDeviceEnvironments(numRootDevices);
|
||||
builtinOpsBuilders.resize(numRootDevices);
|
||||
for (auto i = 0u; i < numRootDevices; i++) {
|
||||
builtinOpsBuilders[i] = std::make_unique<BuilderT[]>(EBuiltInOps::count);
|
||||
}
|
||||
}
|
||||
} // namespace NEO
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2020-2023 Intel Corporation
|
||||
* Copyright (C) 2020-2025 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -23,11 +23,8 @@ class ClExecutionEnvironment : public ExecutionEnvironment {
|
||||
AsyncEventsHandler *getAsyncEventsHandler() const;
|
||||
~ClExecutionEnvironment() override;
|
||||
void prepareRootDeviceEnvironments(uint32_t numRootDevices) override;
|
||||
using BuilderT = std::pair<std::unique_ptr<BuiltinDispatchInfoBuilder>, std::once_flag>;
|
||||
BuilderT *peekBuilders(uint32_t rootDeviceIndex) { return builtinOpsBuilders[rootDeviceIndex].get(); }
|
||||
|
||||
protected:
|
||||
std::vector<std::unique_ptr<BuilderT[]>> builtinOpsBuilders;
|
||||
std::unique_ptr<AsyncEventsHandler> asyncEventsHandler;
|
||||
};
|
||||
} // namespace NEO
|
||||
|
||||
@@ -82,7 +82,7 @@ class BuiltInTests
|
||||
|
||||
void TearDown() override {
|
||||
allBuiltIns.clear();
|
||||
auto builders = pClExecutionEnvironment->peekBuilders(pClDevice->getRootDeviceIndex());
|
||||
auto builders = pClDevice->peekBuilders();
|
||||
if (builders) {
|
||||
for (uint32_t i = 0; i < static_cast<uint32_t>(EBuiltInOps::count); ++i) {
|
||||
builders[i].first.reset();
|
||||
@@ -612,7 +612,7 @@ HWTEST2_F(BuiltInTests, givenAuxBuiltInWhenResizeIsCalledThenCloneAllNewInstance
|
||||
HWTEST2_P(AuxBuiltInTests, givenKernelWithAuxTranslationRequiredWhenEnqueueCalledThenLockOnBuiltin, AuxBuiltinsMatcher) {
|
||||
BuiltInDispatchBuilderOp::getBuiltinDispatchInfoBuilder(EBuiltInOps::auxTranslation, *pClDevice);
|
||||
auto mockAuxBuiltInOp = new MockAuxBuilInOp(*pBuiltIns, *pClDevice);
|
||||
pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(rootDeviceIndex, EBuiltInOps::auxTranslation, std::unique_ptr<MockAuxBuilInOp>(mockAuxBuiltInOp));
|
||||
pClDevice->setBuiltinDispatchInfoBuilder(EBuiltInOps::auxTranslation, std::unique_ptr<MockAuxBuilInOp>(mockAuxBuiltInOp));
|
||||
|
||||
auto mockProgram = clUniquePtr(new MockProgram(toClDeviceVector(*pClDevice)));
|
||||
auto mockBuiltinKernel = MockKernel::create(*pDevice, mockProgram.get());
|
||||
@@ -1435,13 +1435,12 @@ TEST_F(BuiltInTests, WhenGettingBuilderInfoTwiceThenPointerIsSame) {
|
||||
|
||||
HWTEST_F(BuiltInTests, GivenBuiltInOperationWhenGettingBuilderThenCorrectBuiltInBuilderIsReturned) {
|
||||
|
||||
auto clExecutionEnvironment = static_cast<ClExecutionEnvironment *>(pClDevice->getExecutionEnvironment());
|
||||
bool heaplessAllowed = UnitTestHelper<FamilyType>::isHeaplessAllowed();
|
||||
bool isForceStateless = pClDevice->getCompilerProductHelper().isForceToStatelessRequired();
|
||||
|
||||
auto verifyBuilder = [&](auto operation) {
|
||||
auto &builder = BuiltInDispatchBuilderOp::getBuiltinDispatchInfoBuilder(operation, *pClDevice);
|
||||
auto *expectedBuilder = clExecutionEnvironment->peekBuilders(pClDevice->getRootDeviceIndex())[static_cast<uint32_t>(operation)].first.get();
|
||||
auto *expectedBuilder = pClDevice->peekBuilders()[static_cast<uint32_t>(operation)].first.get();
|
||||
|
||||
EXPECT_EQ(expectedBuilder, &builder);
|
||||
};
|
||||
|
||||
@@ -122,8 +122,7 @@ struct BuiltinParamsCommandQueueHwTests : public CommandQueueHwTest {
|
||||
auto builtIns = new MockBuiltins();
|
||||
MockRootDeviceEnvironment::resetBuiltins(pCmdQ->getDevice().getExecutionEnvironment()->rootDeviceEnvironments[pCmdQ->getDevice().getRootDeviceIndex()].get(), builtIns);
|
||||
|
||||
auto swapBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto swapBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
operation,
|
||||
std::unique_ptr<NEO::BuiltinDispatchInfoBuilder>(new MockBuilder(*builtIns, pCmdQ->getClDevice())));
|
||||
|
||||
|
||||
@@ -229,8 +229,7 @@ HWTEST_P(MipMapCopyBufferToImageTest, GivenImageWithMipLevelNonZeroWhenCopyBuffe
|
||||
pCmdQ->getClDevice());
|
||||
|
||||
// substitute original builder with mock builder
|
||||
auto oldBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto oldBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
adjustBuiltInType(pCmdQ->getHeaplessModeEnabled(), builtInType),
|
||||
std::unique_ptr<NEO::BuiltinDispatchInfoBuilder>(new MockBuiltinDispatchInfoBuilder(*builtIns, pCmdQ->getClDevice(), &origBuilder)));
|
||||
|
||||
@@ -290,8 +289,7 @@ HWTEST_P(MipMapCopyBufferToImageTest, GivenImageWithMipLevelNonZeroWhenCopyBuffe
|
||||
EXPECT_EQ(expectedMipLevel, params->dstMipLevel);
|
||||
|
||||
// restore original builder and retrieve mock builder
|
||||
auto newBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto newBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
adjustBuiltInType(pCmdQ->getHeaplessModeEnabled(), builtInType),
|
||||
std::move(oldBuilder));
|
||||
EXPECT_NE(nullptr, newBuilder);
|
||||
@@ -426,8 +424,7 @@ HWTEST_F(EnqueueCopyBufferToImageTest, given4gbBufferAndIsForceStatelessIsFalseW
|
||||
MockRootDeviceEnvironment::resetBuiltins(pCmdQ->getDevice().getExecutionEnvironment()->rootDeviceEnvironments[pCmdQ->getDevice().getRootDeviceIndex()].get(), builtIns);
|
||||
|
||||
// substitute original builder with mock builder
|
||||
auto oldBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto oldBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
copyBuiltIn,
|
||||
std::unique_ptr<NEO::BuiltinDispatchInfoBuilder>(new MockBuilder(*builtIns, pCmdQ->getClDevice())));
|
||||
|
||||
@@ -444,8 +441,7 @@ HWTEST_F(EnqueueCopyBufferToImageTest, given4gbBufferAndIsForceStatelessIsFalseW
|
||||
EXPECT_TRUE(mockBuilder->wasBuildDispatchInfosWithBuiltinOpParamsCalled);
|
||||
|
||||
// restore original builder and retrieve mock builder
|
||||
auto newBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto newBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
copyBuiltIn,
|
||||
std::move(oldBuilder));
|
||||
EXPECT_EQ(mockBuilder, newBuilder.get());
|
||||
|
||||
@@ -238,8 +238,7 @@ HWTEST_P(MipMapCopyImageTest, GivenImagesWithNonZeroMipLevelsWhenCopyImageIsCall
|
||||
builtInType,
|
||||
pCmdQ->getClDevice());
|
||||
// substitute original builder with mock builder
|
||||
auto oldBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto oldBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
builtInType,
|
||||
std::unique_ptr<NEO::BuiltinDispatchInfoBuilder>(new MockBuiltinDispatchInfoBuilder(*builtIns, pCmdQ->getClDevice(), &origBuilder)));
|
||||
|
||||
@@ -334,8 +333,7 @@ HWTEST_P(MipMapCopyImageTest, GivenImagesWithNonZeroMipLevelsWhenCopyImageIsCall
|
||||
EXPECT_EQ(expectedDstMipLevel, params->dstMipLevel);
|
||||
|
||||
// restore original builder and retrieve mock builder
|
||||
auto newBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto newBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
builtInType,
|
||||
std::move(oldBuilder));
|
||||
EXPECT_NE(nullptr, newBuilder);
|
||||
|
||||
@@ -231,8 +231,7 @@ HWTEST_P(MipMapCopyImageToBufferTest, GivenImageWithMipLevelNonZeroWhenCopyImage
|
||||
pCmdQ->getClDevice());
|
||||
|
||||
// substitute original builder with mock builder
|
||||
auto oldBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto oldBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
builtInType,
|
||||
std::unique_ptr<NEO::BuiltinDispatchInfoBuilder>(new MockBuiltinDispatchInfoBuilder(*builtIns, pCmdQ->getClDevice(), &origBuilder)));
|
||||
|
||||
@@ -291,8 +290,7 @@ HWTEST_P(MipMapCopyImageToBufferTest, GivenImageWithMipLevelNonZeroWhenCopyImage
|
||||
EXPECT_EQ(expectedMipLevel, params->srcMipLevel);
|
||||
|
||||
// restore original builder and retrieve mock builder
|
||||
auto newBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto newBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
builtInType,
|
||||
std::move(oldBuilder));
|
||||
EXPECT_NE(nullptr, newBuilder);
|
||||
|
||||
@@ -719,8 +719,7 @@ HWTEST_F(EnqueueFillBufferCmdTests, given4gbBufferAndIsForceStatelessIsFalseWhen
|
||||
MockRootDeviceEnvironment::resetBuiltins(pCmdQ->getDevice().getExecutionEnvironment()->rootDeviceEnvironments[pCmdQ->getDevice().getRootDeviceIndex()].get(), builtIns);
|
||||
|
||||
// substitute original builder with mock builder
|
||||
auto oldBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto oldBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
copyBuiltIn,
|
||||
std::unique_ptr<NEO::BuiltinDispatchInfoBuilder>(new MockBuilder(*builtIns, pCmdQ->getClDevice())));
|
||||
|
||||
@@ -737,8 +736,7 @@ HWTEST_F(EnqueueFillBufferCmdTests, given4gbBufferAndIsForceStatelessIsFalseWhen
|
||||
EXPECT_TRUE(mockBuilder->wasBuildDispatchInfosWithBuiltinOpParamsCalled);
|
||||
|
||||
// restore original builder and retrieve mock builder
|
||||
auto newBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto newBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
copyBuiltIn,
|
||||
std::move(oldBuilder));
|
||||
EXPECT_EQ(mockBuilder, newBuilder.get());
|
||||
|
||||
@@ -1041,8 +1041,7 @@ HWTEST_F(EnqueueReadBufferTypeTest, given4gbBufferAndIsForceStatelessIsFalseWhen
|
||||
MockRootDeviceEnvironment::resetBuiltins(pCmdQ->getDevice().getExecutionEnvironment()->rootDeviceEnvironments[pCmdQ->getDevice().getRootDeviceIndex()].get(), builtIns);
|
||||
|
||||
// substitute original builder with mock builder
|
||||
auto oldBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto oldBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
copyBuiltIn,
|
||||
std::unique_ptr<NEO::BuiltinDispatchInfoBuilder>(new MockBuilder(*builtIns, pCmdQ->getClDevice())));
|
||||
|
||||
@@ -1059,8 +1058,7 @@ HWTEST_F(EnqueueReadBufferTypeTest, given4gbBufferAndIsForceStatelessIsFalseWhen
|
||||
EXPECT_TRUE(mockBuilder->wasBuildDispatchInfosWithBuiltinOpParamsCalled);
|
||||
|
||||
// restore original builder and retrieve mock builder
|
||||
auto newBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto newBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
copyBuiltIn,
|
||||
std::move(oldBuilder));
|
||||
EXPECT_EQ(mockBuilder, newBuilder.get());
|
||||
|
||||
@@ -735,8 +735,7 @@ HWTEST_F(EnqueueReadImageTest, GivenImage1DarrayWhenReadImageIsCalledThenRowPitc
|
||||
pCmdQ->getClDevice());
|
||||
|
||||
// substitute original builder with mock builder
|
||||
auto oldBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto oldBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
copyBuiltIn,
|
||||
std::unique_ptr<NEO::BuiltinDispatchInfoBuilder>(new MockBuiltinDispatchInfoBuilder(*builtIns, pCmdQ->getClDevice(), &origBuilder)));
|
||||
|
||||
@@ -755,8 +754,7 @@ HWTEST_F(EnqueueReadImageTest, GivenImage1DarrayWhenReadImageIsCalledThenRowPitc
|
||||
EXPECT_EQ(params->dstRowPitch, slicePitch);
|
||||
|
||||
// restore original builder and retrieve mock builder
|
||||
auto newBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto newBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
copyBuiltIn,
|
||||
std::move(oldBuilder));
|
||||
EXPECT_NE(nullptr, newBuilder);
|
||||
@@ -953,8 +951,7 @@ HWTEST_P(MipMapReadImageTest, GivenImageWithMipLevelNonZeroWhenReadImageIsCalled
|
||||
pCmdQ->getClDevice());
|
||||
|
||||
// substitute original builder with mock builder
|
||||
auto oldBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto oldBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
eBuiltInOp,
|
||||
std::unique_ptr<NEO::BuiltinDispatchInfoBuilder>(new MockBuiltinDispatchInfoBuilder(*builtIns, pCmdQ->getClDevice(), &origBuilder)));
|
||||
|
||||
@@ -1017,8 +1014,7 @@ HWTEST_P(MipMapReadImageTest, GivenImageWithMipLevelNonZeroWhenReadImageIsCalled
|
||||
EXPECT_EQ(expectedMipLevel, params->srcMipLevel);
|
||||
|
||||
// restore original builder and retrieve mock builder
|
||||
auto newBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto newBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
eBuiltInOp,
|
||||
std::move(oldBuilder));
|
||||
EXPECT_NE(nullptr, newBuilder);
|
||||
@@ -1270,8 +1266,7 @@ HWTEST_F(EnqueueReadImageTest, given4gbImageAndIsForceStatelessIsFalseWhenEnqueu
|
||||
MockRootDeviceEnvironment::resetBuiltins(pCmdQ->getDevice().getExecutionEnvironment()->rootDeviceEnvironments[pCmdQ->getDevice().getRootDeviceIndex()].get(), builtIns);
|
||||
|
||||
// substitute original builder with mock builder
|
||||
auto oldBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto oldBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
copyBuiltIn,
|
||||
std::unique_ptr<NEO::BuiltinDispatchInfoBuilder>(new MockBuilder(*builtIns, pCmdQ->getClDevice())));
|
||||
|
||||
@@ -1302,8 +1297,7 @@ HWTEST_F(EnqueueReadImageTest, given4gbImageAndIsForceStatelessIsFalseWhenEnqueu
|
||||
EXPECT_TRUE(mockBuilder->wasBuildDispatchInfosWithBuiltinOpParamsCalled);
|
||||
|
||||
// restore original builder and retrieve mock builder
|
||||
auto newBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto newBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
copyBuiltIn,
|
||||
std::move(oldBuilder));
|
||||
EXPECT_EQ(mockBuilder, newBuilder.get());
|
||||
|
||||
@@ -104,8 +104,7 @@ HWTEST_F(EnqueueSvmMemCopyTest, givenEnqueueSVMMemcpyWhenUsingCopyBufferToBuffer
|
||||
ASSERT_NE(nullptr, &origBuilder);
|
||||
|
||||
// substitute original builder with mock builder
|
||||
auto oldBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto oldBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
builtIn,
|
||||
std::unique_ptr<NEO::BuiltinDispatchInfoBuilder>(new MockBuiltinDispatchInfoBuilder(*builtIns, pCmdQ->getClDevice(), &origBuilder)));
|
||||
EXPECT_EQ(&origBuilder, oldBuilder.get());
|
||||
@@ -124,8 +123,7 @@ HWTEST_F(EnqueueSvmMemCopyTest, givenEnqueueSVMMemcpyWhenUsingCopyBufferToBuffer
|
||||
EXPECT_EQ(CL_SUCCESS, retVal);
|
||||
|
||||
// restore original builder and retrieve mock builder
|
||||
auto newBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto newBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
builtIn,
|
||||
std::move(oldBuilder));
|
||||
EXPECT_NE(nullptr, newBuilder);
|
||||
@@ -182,8 +180,7 @@ HWTEST_F(EnqueueSvmMemCopyTest, givenEnqueueSVMMemcpyWhenUsingCopyBufferToBuffer
|
||||
ASSERT_NE(nullptr, &origBuilder);
|
||||
|
||||
// substitute original builder with mock builder
|
||||
auto oldBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto oldBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
builtIn,
|
||||
std::unique_ptr<NEO::BuiltinDispatchInfoBuilder>(new MockBuiltinDispatchInfoBuilder(*builtIns, pCmdQ->getClDevice(), &origBuilder)));
|
||||
EXPECT_EQ(&origBuilder, oldBuilder.get());
|
||||
@@ -202,8 +199,7 @@ HWTEST_F(EnqueueSvmMemCopyTest, givenEnqueueSVMMemcpyWhenUsingCopyBufferToBuffer
|
||||
EXPECT_EQ(CL_SUCCESS, retVal);
|
||||
|
||||
// restore original builder and retrieve mock builder
|
||||
auto newBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto newBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
builtIn,
|
||||
std::move(oldBuilder));
|
||||
EXPECT_NE(nullptr, newBuilder);
|
||||
@@ -265,8 +261,7 @@ HWTEST_F(EnqueueSvmMemCopyTest, givenEnqueueSVMMemcpyWhenUsingCopyBufferToBuffer
|
||||
ASSERT_NE(nullptr, &origBuilder);
|
||||
|
||||
// substitute original builder with mock builder
|
||||
auto oldBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto oldBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
builtIn,
|
||||
std::unique_ptr<NEO::BuiltinDispatchInfoBuilder>(new MockBuiltinDispatchInfoBuilder(*builtIns, pCmdQ->getClDevice(), &origBuilder)));
|
||||
EXPECT_EQ(&origBuilder, oldBuilder.get());
|
||||
@@ -285,8 +280,7 @@ HWTEST_F(EnqueueSvmMemCopyTest, givenEnqueueSVMMemcpyWhenUsingCopyBufferToBuffer
|
||||
EXPECT_EQ(CL_SUCCESS, retVal);
|
||||
|
||||
// restore original builder and retrieve mock builder
|
||||
auto newBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto newBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
builtIn,
|
||||
std::move(oldBuilder));
|
||||
EXPECT_NE(nullptr, newBuilder);
|
||||
@@ -527,8 +521,7 @@ HWTEST_F(EnqueueSvmMemCopyTest, givenEnqueueSvmMemcpyWhenSvmZeroCopyThenBuiltinK
|
||||
ASSERT_NE(nullptr, &origBuilder);
|
||||
|
||||
// substitute original builder with mock builder
|
||||
auto oldBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto oldBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
builtIn,
|
||||
std::unique_ptr<NEO::BuiltinDispatchInfoBuilder>(new MockBuiltinDispatchInfoBuilder(*builtIns, pCmdQ->getClDevice(), &origBuilder)));
|
||||
EXPECT_EQ(&origBuilder, oldBuilder.get());
|
||||
@@ -550,8 +543,7 @@ HWTEST_F(EnqueueSvmMemCopyTest, givenEnqueueSvmMemcpyWhenSvmZeroCopyThenBuiltinK
|
||||
EXPECT_EQ(CL_SUCCESS, retVal);
|
||||
|
||||
// restore original builder and retrieve mock builder
|
||||
auto newBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto newBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
builtIn,
|
||||
std::move(oldBuilder));
|
||||
EXPECT_NE(nullptr, newBuilder);
|
||||
@@ -605,8 +597,7 @@ HWTEST_F(EnqueueSvmMemCopyTest, givenEnqueueSvmMemcpyWhenSvmGpuThenBuiltinKernel
|
||||
ASSERT_NE(nullptr, &origBuilder);
|
||||
|
||||
// substitute original builder with mock builder
|
||||
auto oldBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto oldBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
builtIn,
|
||||
std::unique_ptr<NEO::BuiltinDispatchInfoBuilder>(new MockBuiltinDispatchInfoBuilder(*builtIns, pCmdQ->getClDevice(), &origBuilder)));
|
||||
EXPECT_EQ(&origBuilder, oldBuilder.get());
|
||||
@@ -628,8 +619,7 @@ HWTEST_F(EnqueueSvmMemCopyTest, givenEnqueueSvmMemcpyWhenSvmGpuThenBuiltinKernel
|
||||
EXPECT_EQ(CL_SUCCESS, retVal);
|
||||
|
||||
// restore original builder and retrieve mock builder
|
||||
auto newBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto newBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
builtIn,
|
||||
std::move(oldBuilder));
|
||||
EXPECT_NE(nullptr, newBuilder);
|
||||
@@ -718,8 +708,7 @@ HWTEST_F(StatelessMockAlignedMallocMemoryManagerEnqueueSvmMemCopyTest, given4gbB
|
||||
MockRootDeviceEnvironment::resetBuiltins(pCmdQ->getDevice().getExecutionEnvironment()->rootDeviceEnvironments[pCmdQ->getDevice().getRootDeviceIndex()].get(), builtIns);
|
||||
|
||||
// substitute original builder with mock builder
|
||||
auto oldBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto oldBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
copyBuiltIn,
|
||||
std::unique_ptr<NEO::BuiltinDispatchInfoBuilder>(new MockBuilder(*builtIns, pCmdQ->getClDevice())));
|
||||
|
||||
@@ -742,8 +731,7 @@ HWTEST_F(StatelessMockAlignedMallocMemoryManagerEnqueueSvmMemCopyTest, given4gbB
|
||||
EXPECT_TRUE(mockBuilder->wasBuildDispatchInfosWithBuiltinOpParamsCalled);
|
||||
|
||||
// restore original builder and retrieve mock builder
|
||||
auto newBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto newBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
copyBuiltIn,
|
||||
std::move(oldBuilder));
|
||||
EXPECT_NE(nullptr, newBuilder);
|
||||
@@ -758,8 +746,7 @@ HWTEST_F(StatelessMockAlignedMallocMemoryManagerEnqueueSvmMemCopyTest, givenDst4
|
||||
MockRootDeviceEnvironment::resetBuiltins(pCmdQ->getDevice().getExecutionEnvironment()->rootDeviceEnvironments[pCmdQ->getDevice().getRootDeviceIndex()].get(), builtIns);
|
||||
|
||||
// substitute original builder with mock builder
|
||||
auto oldBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto oldBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
copyBuiltIn,
|
||||
std::unique_ptr<NEO::BuiltinDispatchInfoBuilder>(new MockBuilder(*builtIns, pCmdQ->getClDevice())));
|
||||
|
||||
@@ -782,8 +769,7 @@ HWTEST_F(StatelessMockAlignedMallocMemoryManagerEnqueueSvmMemCopyTest, givenDst4
|
||||
EXPECT_TRUE(mockBuilder->wasBuildDispatchInfosWithBuiltinOpParamsCalled);
|
||||
|
||||
// restore original builder and retrieve mock builder
|
||||
auto newBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto newBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
copyBuiltIn,
|
||||
std::move(oldBuilder));
|
||||
EXPECT_NE(nullptr, newBuilder);
|
||||
|
||||
@@ -93,8 +93,7 @@ HWTEST_F(BaseEnqueueSvmMemFillTest, givenEnqueueSVMMemFillWhenUsingFillBufferBui
|
||||
ASSERT_NE(nullptr, &origBuilder);
|
||||
|
||||
// note that we need to store the returned value, as it is an unique pointer storing original builder, which will be later invoked
|
||||
auto oldBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto oldBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
builtIn,
|
||||
std::unique_ptr<NEO::BuiltinDispatchInfoBuilder>(new MockFillBufferBuilder(*builtIns, pCmdQ->getClDevice(), &origBuilder, pattern, patternSize)));
|
||||
|
||||
@@ -177,8 +176,7 @@ HWTEST_P(EnqueueSvmMemFillTest, givenEnqueueSVMMemFillWhenUsingFillBufferBuilder
|
||||
ASSERT_NE(nullptr, &origBuilder);
|
||||
|
||||
// substitute original builder with mock builder
|
||||
auto oldBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto oldBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
builtIn,
|
||||
std::unique_ptr<NEO::BuiltinDispatchInfoBuilder>(new MockFillBufferBuilder(*builtIns, pCmdQ->getClDevice(), &origBuilder, pattern, patternSize)));
|
||||
EXPECT_EQ(&origBuilder, oldBuilder.get());
|
||||
@@ -196,8 +194,7 @@ HWTEST_P(EnqueueSvmMemFillTest, givenEnqueueSVMMemFillWhenUsingFillBufferBuilder
|
||||
EXPECT_EQ(CL_SUCCESS, retVal);
|
||||
|
||||
// restore original builder and retrieve mock builder
|
||||
auto newBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto newBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
builtIn,
|
||||
std::move(oldBuilder));
|
||||
EXPECT_NE(nullptr, newBuilder);
|
||||
|
||||
@@ -1707,8 +1707,7 @@ HWTEST_F(StatelessMockAlignedMallocMemoryManagerEnqueueSvmTestLocalMemory, given
|
||||
MockRootDeviceEnvironment::resetBuiltins(queue.getDevice().getExecutionEnvironment()->rootDeviceEnvironments[queue.getDevice().getRootDeviceIndex()].get(), builtIns);
|
||||
|
||||
// substitute original builder with mock builder
|
||||
auto oldBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto oldBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
copyBuiltIn,
|
||||
std::unique_ptr<NEO::BuiltinDispatchInfoBuilder>(new MockBuilder(*builtIns, queue.getClDevice())));
|
||||
|
||||
@@ -1728,8 +1727,7 @@ HWTEST_F(StatelessMockAlignedMallocMemoryManagerEnqueueSvmTestLocalMemory, given
|
||||
EXPECT_EQ(CL_SUCCESS, retVal);
|
||||
|
||||
// restore original builder and retrieve mock builder
|
||||
auto newBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto newBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
copyBuiltIn,
|
||||
std::move(oldBuilder));
|
||||
EXPECT_EQ(mockBuilder, newBuilder.get());
|
||||
@@ -1752,8 +1750,7 @@ HWTEST_F(StatelessMockAlignedMallocMemoryManagerEnqueueSvmTestLocalMemory, given
|
||||
EXPECT_EQ(CL_SUCCESS, retVal);
|
||||
|
||||
// substitute original builder with mock builder
|
||||
auto oldBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto oldBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
copyBuiltIn,
|
||||
std::unique_ptr<NEO::BuiltinDispatchInfoBuilder>(new MockBuilder(*builtIns, queue.getClDevice())));
|
||||
|
||||
@@ -1767,8 +1764,7 @@ HWTEST_F(StatelessMockAlignedMallocMemoryManagerEnqueueSvmTestLocalMemory, given
|
||||
EXPECT_TRUE(mockBuilder->wasBuildDispatchInfosWithBuiltinOpParamsCalled);
|
||||
|
||||
// restore original builder and retrieve mock builder
|
||||
auto newBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto newBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
copyBuiltIn,
|
||||
std::move(oldBuilder));
|
||||
EXPECT_EQ(mockBuilder, newBuilder.get());
|
||||
@@ -1791,8 +1787,7 @@ HWTEST_F(StatelessMockAlignedMallocMemoryManagerEnqueueSvmTestLocalMemory, given
|
||||
EXPECT_EQ(CL_SUCCESS, retVal);
|
||||
|
||||
// substitute original builder with mock builder
|
||||
auto oldBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto oldBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
copyBuiltIn,
|
||||
std::unique_ptr<NEO::BuiltinDispatchInfoBuilder>(new MockBuilder(*builtIns, queue.getClDevice())));
|
||||
|
||||
@@ -1808,8 +1803,7 @@ HWTEST_F(StatelessMockAlignedMallocMemoryManagerEnqueueSvmTestLocalMemory, given
|
||||
EXPECT_TRUE(mockBuilder->wasBuildDispatchInfosWithBuiltinOpParamsCalled);
|
||||
|
||||
// restore original builder and retrieve mock builder
|
||||
auto newBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto newBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
copyBuiltIn,
|
||||
std::move(oldBuilder));
|
||||
EXPECT_EQ(mockBuilder, newBuilder.get());
|
||||
|
||||
@@ -820,8 +820,7 @@ HWTEST_F(EnqueueWriteBufferTypeTest, given4gbBufferAndIsForceStatelessIsFalseWhe
|
||||
MockRootDeviceEnvironment::resetBuiltins(pCmdQ->getDevice().getExecutionEnvironment()->rootDeviceEnvironments[pCmdQ->getDevice().getRootDeviceIndex()].get(), builtIns);
|
||||
|
||||
// substitute original builder with mock builder
|
||||
auto oldBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto oldBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
copyBuiltIn,
|
||||
std::unique_ptr<NEO::BuiltinDispatchInfoBuilder>(new MockBuilder(*builtIns, pCmdQ->getClDevice())));
|
||||
|
||||
@@ -838,8 +837,7 @@ HWTEST_F(EnqueueWriteBufferTypeTest, given4gbBufferAndIsForceStatelessIsFalseWhe
|
||||
EXPECT_TRUE(mockBuilder->wasBuildDispatchInfosWithBuiltinOpParamsCalled);
|
||||
|
||||
// restore original builder and retrieve mock builder
|
||||
auto newBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto newBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
copyBuiltIn,
|
||||
std::move(oldBuilder));
|
||||
EXPECT_EQ(mockBuilder, newBuilder.get());
|
||||
|
||||
@@ -277,8 +277,7 @@ HWTEST_F(EnqueueWriteImageTest, GivenImage1DarrayWhenWriteImageIsCalledThenRowPi
|
||||
pCmdQ->getClDevice());
|
||||
|
||||
// substitute original builder with mock builder
|
||||
auto oldBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto oldBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
copyBuiltIn,
|
||||
std::unique_ptr<NEO::BuiltinDispatchInfoBuilder>(new MockBuiltinDispatchInfoBuilder(*builtIns, pCmdQ->getClDevice(), &origBuilder)));
|
||||
|
||||
@@ -298,8 +297,7 @@ HWTEST_F(EnqueueWriteImageTest, GivenImage1DarrayWhenWriteImageIsCalledThenRowPi
|
||||
EXPECT_EQ(params->srcRowPitch, slicePitch);
|
||||
|
||||
// restore original builder and retrieve mock builder
|
||||
auto newBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto newBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
copyBuiltIn,
|
||||
std::move(oldBuilder));
|
||||
EXPECT_NE(nullptr, newBuilder);
|
||||
@@ -430,8 +428,7 @@ HWTEST_P(MipMapWriteImageTest, GivenImageWithMipLevelNonZeroWhenReadImageIsCalle
|
||||
pCmdQ->getClDevice());
|
||||
|
||||
// substitute original builder with mock builder
|
||||
auto oldBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto oldBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
eBuiltInOp,
|
||||
std::unique_ptr<NEO::BuiltinDispatchInfoBuilder>(new MockBuiltinDispatchInfoBuilder(*builtIns, pCmdQ->getClDevice(), &origBuilder)));
|
||||
|
||||
@@ -497,8 +494,7 @@ HWTEST_P(MipMapWriteImageTest, GivenImageWithMipLevelNonZeroWhenReadImageIsCalle
|
||||
EXPECT_EQ(expectedMipLevel, params->dstMipLevel);
|
||||
|
||||
// restore original builder and retrieve mock builder
|
||||
auto newBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto newBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
eBuiltInOp,
|
||||
std::move(oldBuilder));
|
||||
EXPECT_NE(nullptr, newBuilder);
|
||||
@@ -1023,8 +1019,7 @@ HWTEST_F(EnqueueWriteImageTest, given4gbBufferAndIsForceStatelessIsFalseWhenEnqu
|
||||
MockRootDeviceEnvironment::resetBuiltins(pCmdQ->getDevice().getExecutionEnvironment()->rootDeviceEnvironments[pCmdQ->getDevice().getRootDeviceIndex()].get(), builtIns);
|
||||
|
||||
// substitute original builder with mock builder
|
||||
auto oldBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto oldBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
copyBuiltIn,
|
||||
std::unique_ptr<NEO::BuiltinDispatchInfoBuilder>(new MockBuilder(*builtIns, pCmdQ->getClDevice())));
|
||||
|
||||
@@ -1041,8 +1036,7 @@ HWTEST_F(EnqueueWriteImageTest, given4gbBufferAndIsForceStatelessIsFalseWhenEnqu
|
||||
EXPECT_TRUE(mockBuilder->wasBuildDispatchInfosWithBuiltinOpParamsCalled);
|
||||
|
||||
// restore original builder and retrieve mock builder
|
||||
auto newBuilder = pClExecutionEnvironment->setBuiltinDispatchInfoBuilder(
|
||||
rootDeviceIndex,
|
||||
auto newBuilder = pClDevice->setBuiltinDispatchInfoBuilder(
|
||||
copyBuiltIn,
|
||||
std::move(oldBuilder));
|
||||
EXPECT_EQ(mockBuilder, newBuilder.get());
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "shared/source/device/device.h"
|
||||
#include "shared/source/os_interface/device_factory.h"
|
||||
#include "shared/test/common/helpers/debug_manager_state_restore.h"
|
||||
#include "shared/test/common/test_macros/test.h"
|
||||
|
||||
@@ -42,6 +42,14 @@ std::unique_ptr<CommandStreamReceiver> MockClDevice::createCommandStreamReceiver
|
||||
return device.createCommandStreamReceiver();
|
||||
}
|
||||
|
||||
std::unique_ptr<BuiltinDispatchInfoBuilder> MockClDevice::setBuiltinDispatchInfoBuilder(EBuiltInOps::Type operation, std::unique_ptr<BuiltinDispatchInfoBuilder> builder) {
|
||||
uint32_t operationId = static_cast<uint32_t>(operation);
|
||||
auto &operationBuilder = peekBuilders()[operationId];
|
||||
std::call_once(operationBuilder.second, [] {});
|
||||
operationBuilder.first.swap(builder);
|
||||
return builder;
|
||||
}
|
||||
|
||||
void MockClDevice::setPciUuid(std::array<uint8_t, ProductHelper::uuidSize> &id) {
|
||||
memcpy_s(device.uuid.id.data(), ProductHelper::uuidSize, id.data(), ProductHelper::uuidSize);
|
||||
device.uuid.isValid = true;
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
#include "shared/test/common/mocks/mock_device.h"
|
||||
|
||||
#include "opencl/source/built_ins/builtins_dispatch_builder.h"
|
||||
#include "opencl/source/cl_device/cl_device.h"
|
||||
#include "opencl/test/unit_test/mocks/mock_cl_execution_environment.h"
|
||||
|
||||
@@ -78,6 +79,7 @@ class MockClDevice : public ClDevice {
|
||||
SubDevice *createSubDevice(uint32_t subDeviceIndex) { return device.createSubDevice(subDeviceIndex); }
|
||||
std::unique_ptr<CommandStreamReceiver> createCommandStreamReceiver() const;
|
||||
BuiltIns *getBuiltIns() const { return getDevice().getBuiltIns(); }
|
||||
std::unique_ptr<BuiltinDispatchInfoBuilder> setBuiltinDispatchInfoBuilder(EBuiltInOps::Type operation, std::unique_ptr<BuiltinDispatchInfoBuilder> builder);
|
||||
|
||||
MockDevice &device;
|
||||
DeviceInfo &sharedDeviceInfo;
|
||||
|
||||
@@ -1,26 +1,17 @@
|
||||
/*
|
||||
* Copyright (C) 2020-2023 Intel Corporation
|
||||
* Copyright (C) 2020-2025 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include "opencl/source/built_ins/builtins_dispatch_builder.h"
|
||||
#include "opencl/source/execution_environment/cl_execution_environment.h"
|
||||
|
||||
namespace NEO {
|
||||
class MockClExecutionEnvironment : public ClExecutionEnvironment {
|
||||
public:
|
||||
using ClExecutionEnvironment::asyncEventsHandler;
|
||||
using ClExecutionEnvironment::builtinOpsBuilders;
|
||||
using ClExecutionEnvironment::ClExecutionEnvironment;
|
||||
std::unique_ptr<BuiltinDispatchInfoBuilder> setBuiltinDispatchInfoBuilder(uint32_t rootDeviceIndex, EBuiltInOps::Type operation, std::unique_ptr<BuiltinDispatchInfoBuilder> builder) {
|
||||
uint32_t operationId = static_cast<uint32_t>(operation);
|
||||
auto &operationBuilder = peekBuilders(rootDeviceIndex)[operationId];
|
||||
std::call_once(operationBuilder.second, [] {});
|
||||
operationBuilder.first.swap(builder);
|
||||
return builder;
|
||||
}
|
||||
};
|
||||
} // namespace NEO
|
||||
|
||||
@@ -443,6 +443,8 @@ HWTEST2_TEMPLATED_F(ClDrmMemoryManagerTest, givenDrmMemoryManagerWhenTiledImageI
|
||||
|
||||
// builtins kernels
|
||||
mock->ioctlExpected.gemUserptr += 7;
|
||||
mock->ioctlExpected.gemClose += 7; // builtins cleaned up in ClDevice destructor
|
||||
mock->ioctlExpected.gemWait += 7;
|
||||
|
||||
// command buffers
|
||||
mock->ioctlExpected.gemUserptr += 2;
|
||||
|
||||
Reference in New Issue
Block a user