@@ -106,7 +106,7 @@ size_t BlitCommandsHelper<GfxFamily>::estimateBlitCommandsSize(const Vec3<size_t
106106 if (updateTimestampPacket) {
107107 timestampCmdSize += EncodeMiFlushDW<GfxFamily>::getMiFlushDwCmdSizeForDataWrite ();
108108 if (profilingEnabled) {
109- timestampCmdSize += 4 * sizeof ( typename GfxFamily::MI_STORE_REGISTER_MEM );
109+ timestampCmdSize += getProfilingMmioCmdsSize ( );
110110 }
111111 }
112112
@@ -460,4 +460,26 @@ void BlitCommandsHelper<GfxFamily>::appendExtraMemoryProperties(typename GfxFami
460460template <typename GfxFamily>
461461void BlitCommandsHelper<GfxFamily>::appendExtraMemoryProperties(typename GfxFamily::XY_COLOR_BLT &blitCmd, const RootDeviceEnvironment &rootDeviceEnvironment) {}
462462
463+ template <typename GfxFamily>
464+ void BlitCommandsHelper<GfxFamily>::encodeProfilingStartMmios(LinearStream &cmdStream, const TagNodeBase ×tampPacketNode) {
465+ auto timestampContextStartGpuAddress = TimestampPacketHelper::getContextStartGpuAddress (timestampPacketNode);
466+ auto timestampGlobalStartAddress = TimestampPacketHelper::getGlobalStartGpuAddress (timestampPacketNode);
467+
468+ EncodeStoreMMIO<GfxFamily>::encode (cmdStream, GP_THREAD_TIME_REG_ADDRESS_OFFSET_LOW, timestampContextStartGpuAddress);
469+ EncodeStoreMMIO<GfxFamily>::encode (cmdStream, REG_GLOBAL_TIMESTAMP_LDW, timestampGlobalStartAddress);
470+ }
471+
472+ template <typename GfxFamily>
473+ void BlitCommandsHelper<GfxFamily>::encodeProfilingEndMmios(LinearStream &cmdStream, const TagNodeBase ×tampPacketNode) {
474+ auto timestampContextEndGpuAddress = TimestampPacketHelper::getContextEndGpuAddress (timestampPacketNode);
475+ auto timestampGlobalEndAddress = TimestampPacketHelper::getGlobalEndGpuAddress (timestampPacketNode);
476+
477+ EncodeStoreMMIO<GfxFamily>::encode (cmdStream, GP_THREAD_TIME_REG_ADDRESS_OFFSET_LOW, timestampContextEndGpuAddress);
478+ EncodeStoreMMIO<GfxFamily>::encode (cmdStream, REG_GLOBAL_TIMESTAMP_LDW, timestampGlobalEndAddress);
479+ }
480+
481+ template <typename GfxFamily>
482+ size_t BlitCommandsHelper<GfxFamily>::getProfilingMmioCmdsSize() {
483+ return 4 * sizeof (typename GfxFamily::MI_STORE_REGISTER_MEM);
484+ }
463485} // namespace NEO
0 commit comments