Refactor HelloWorldFixture in AUB tests
- use Buffers and cpuAddressForMapping instead of raw cpu pointers Change-Id: Idfa80a7f70dc2478edd322ae090e6a0e22ab20e2
This commit is contained in:
parent
01ec633182
commit
58b85e19af
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue