mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-24 21:18:24 +08:00
Enable memory transfer for mem obj kernel args
correct building programs with multiple root devices Related-To: NEO-5001 Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
1ef9a1c35f
commit
c3c92416db
@@ -130,6 +130,30 @@ TEST_F(MultiDeviceKernelArgBufferTest, GivenValidBufferWhenSettingKernelArgThenB
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(MultiDeviceKernelArgBufferTest, WhenMakingKernelArgResidentThenMemoryIsTransferredToProperDevice) {
|
||||
|
||||
auto pKernel = std::unique_ptr<MockKernel>(Kernel::create<MockKernel>(pProgram.get(), kernelInfos, nullptr));
|
||||
|
||||
EXPECT_NE(nullptr, pKernel);
|
||||
cl_mem val = pBuffer.get();
|
||||
auto pVal = &val;
|
||||
|
||||
auto retVal = pKernel->setArg(0, sizeof(cl_mem *), pVal);
|
||||
EXPECT_EQ(CL_SUCCESS, retVal);
|
||||
|
||||
auto csr1 = deviceFactory.rootDevices[1]->getDefaultEngine().commandStreamReceiver;
|
||||
auto csr2 = deviceFactory.rootDevices[2]->getDefaultEngine().commandStreamReceiver;
|
||||
|
||||
pKernel->makeResident(*csr1);
|
||||
EXPECT_EQ(1u, pBuffer->getMultiGraphicsAllocation().getLastUsedRootDeviceIndex());
|
||||
|
||||
pKernel->makeResident(*csr2);
|
||||
EXPECT_EQ(2u, pBuffer->getMultiGraphicsAllocation().getLastUsedRootDeviceIndex());
|
||||
|
||||
pKernel->makeResident(*csr1);
|
||||
EXPECT_EQ(1u, pBuffer->getMultiGraphicsAllocation().getLastUsedRootDeviceIndex());
|
||||
}
|
||||
|
||||
TEST_F(KernelArgBufferTest, GivenSvmPtrStatelessWhenSettingKernelArgThenArgumentsAreSetCorrectly) {
|
||||
Buffer *buffer = new MockBuffer();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user