mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-15 13:01:45 +08:00
Aub test for multiple TimestampPackets scenario
Change-Id: I2edb289324370d81fc3b250fdccf3ed1bfdb2437 Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
This commit is contained in:

committed by
sys_ocldev

parent
a6d9e74851
commit
88bd89cb58
@ -63,3 +63,29 @@ HWTEST_F(TimestampPacketAubTests, givenTwoBatchedEnqueuesWhenDependencyIsResolve
|
||||
clReleaseEvent(outEvent1);
|
||||
clReleaseEvent(outEvent2);
|
||||
}
|
||||
|
||||
HWTEST_F(TimestampPacketAubTests, givenMultipleWalkersWhenEnqueueingThenWriteAllTimestamps) {
|
||||
MockContext context(&pCmdQ->getDevice());
|
||||
const size_t bufferSize = 70;
|
||||
const size_t writeSize = bufferSize - 2;
|
||||
uint8_t writeData[writeSize] = {};
|
||||
cl_int retVal = CL_SUCCESS;
|
||||
cl_event outEvent;
|
||||
|
||||
auto buffer = std::unique_ptr<Buffer>(Buffer::create(&context, CL_MEM_READ_WRITE, bufferSize, nullptr, retVal));
|
||||
buffer->forceDisallowCPUCopy = true;
|
||||
|
||||
pCmdQ->enqueueWriteBuffer(buffer.get(), CL_TRUE, 1, writeSize, writeData, 0, nullptr, &outEvent);
|
||||
|
||||
auto ×tmapNodes = castToObject<Event>(outEvent)->getTimestampPacketNodes()->peekNodes();
|
||||
|
||||
EXPECT_EQ(2u, timestmapNodes.size());
|
||||
|
||||
uint32_t expectedEndTimestamp[2] = {0, 0};
|
||||
auto endTimestampAddress1 = reinterpret_cast<void *>(timestmapNodes.at(0)->tag->pickAddressForDataWrite(TimestampPacket::DataIndex::ContextEnd));
|
||||
auto endTimestampAddress2 = reinterpret_cast<void *>(timestmapNodes.at(1)->tag->pickAddressForDataWrite(TimestampPacket::DataIndex::ContextEnd));
|
||||
expectMemory<FamilyType>(endTimestampAddress1, expectedEndTimestamp, 2 * sizeof(uint32_t));
|
||||
expectMemory<FamilyType>(endTimestampAddress2, expectedEndTimestamp, 2 * sizeof(uint32_t));
|
||||
|
||||
clReleaseEvent(outEvent);
|
||||
}
|
||||
|
Reference in New Issue
Block a user