Refactor HelloWorldFixture in AUB tests

- use Buffers and cpuAddressForMapping instead of raw cpu pointers

Change-Id: Idfa80a7f70dc2478edd322ae090e6a0e22ab20e2
This commit is contained in:
Hoppe, Mateusz 2018-08-16 15:48:50 +02:00 committed by sys_ocldev
parent 01ec633182
commit 58b85e19af
2 changed files with 31 additions and 13 deletions

View File

@ -174,13 +174,17 @@ HWTEST_P(AUBHelloWorldIntegrateTest, simple) {
// Compute our memory expecations based on kernel execution
auto globalWorkItems = globalWorkSize[0] * globalWorkSize[1] * globalWorkSize[2];
auto sizeWritten = globalWorkItems * sizeof(float);
AUBCommandStreamFixture::expectMemory<FamilyType>(this->pDestMemory, this->pSrcMemory, sizeWritten);
auto pDestGpuAddress = reinterpret_cast<void *>((destBuffer->getGraphicsAllocation()->getGpuAddress()));
AUBCommandStreamFixture::expectMemory<FamilyType>(pDestGpuAddress, this->pSrcMemory, sizeWritten);
// If the copykernel wasn't max sized, ensure we didn't overwrite existing memory
if (sizeWritten < this->sizeUserMemory) {
auto sizeRemaining = this->sizeUserMemory - sizeWritten;
auto pDestUnwrittenMemory = ptrOffset(pDestGpuAddress, sizeWritten);
auto pUnwrittenMemory = ptrOffset(this->pDestMemory, sizeWritten);
AUBCommandStreamFixture::expectMemory<FamilyType>(pUnwrittenMemory, pUnwrittenMemory, sizeRemaining);
AUBCommandStreamFixture::expectMemory<FamilyType>(pDestUnwrittenMemory, pUnwrittenMemory, sizeRemaining);
}
}

View File

@ -83,22 +83,35 @@ struct HelloWorldFixture : public FixtureFactory::IndirectHeapFixture,
KernelFixture::SetUp(pDevice, kernelFilename, kernelName);
ASSERT_NE(nullptr, pKernel);
pDestMemory = alignedMalloc(sizeUserMemory, 4096);
ASSERT_NE(nullptr, pDestMemory);
pSrcMemory = alignedMalloc(sizeUserMemory, 4096);
ASSERT_NE(nullptr, pSrcMemory);
pKernel->setArgSvm(0, sizeUserMemory, pSrcMemory);
pKernel->setArgSvm(1, sizeUserMemory, pDestMemory);
auto retVal = CL_INVALID_VALUE;
BufferDefaults::context = new MockContext(pDevice);
destBuffer = Buffer::create(
BufferDefaults::context,
CL_MEM_READ_WRITE,
sizeUserMemory,
nullptr,
retVal);
srcBuffer = Buffer::create(
BufferDefaults::context,
CL_MEM_READ_WRITE,
sizeUserMemory,
nullptr,
retVal);
pDestMemory = destBuffer->getCpuAddressForMapping();
pSrcMemory = srcBuffer->getCpuAddressForMapping();
pKernel->setArg(0, srcBuffer);
pKernel->setArg(1, destBuffer);
}
virtual void TearDown() {
pCmdQ->flush();
alignedFree(pSrcMemory);
alignedFree(pDestMemory);
delete srcBuffer;
delete destBuffer;
KernelFixture::TearDown();
IndirectHeapFixture::TearDown();
@ -107,7 +120,8 @@ struct HelloWorldFixture : public FixtureFactory::IndirectHeapFixture,
delete BufferDefaults::context;
DeviceFixture::TearDown();
}
Buffer *srcBuffer;
Buffer *destBuffer;
void *pSrcMemory;
void *pDestMemory;
size_t sizeUserMemory;