Handle TimestampPackets for non-kernel enqueues

Change-Id: I52ec4f43b10bf6e2a10b2455d32a90a606645d29
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
This commit is contained in:
Dunajski, Bartosz
2018-10-05 12:51:57 -07:00
committed by sys_ocldev
parent 8ceba24296
commit 66427f60c6
33 changed files with 300 additions and 54 deletions

View File

@@ -254,6 +254,11 @@ CompletionStamp CommandStreamReceiverHw<GfxFamily>::flushTask(
if (dispatchFlags.outOfDeviceDependencies) {
handleEventsTimestampPacketTags(commandStreamCSR, dispatchFlags, device);
}
if (dispatchFlags.timestampPacketForPipeControlWrite) {
uint64_t address = dispatchFlags.timestampPacketForPipeControlWrite->tag->pickAddressForDataWrite(TimestampPacket::DataIndex::ContextEnd);
KernelCommandsHelper<GfxFamily>::programPipeControlDataWriteWithCsStall(commandStreamCSR, address, 0);
makeResident(*dispatchFlags.timestampPacketForPipeControlWrite->getGraphicsAllocation());
}
initPageTableManagerRegisters(commandStreamCSR);
programPreemption(commandStreamCSR, device, dispatchFlags);
programComputeMode(commandStreamCSR, dispatchFlags);