refactor: add command list state base address hook method

Related-To: NEO-10492

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
This commit is contained in:
Zbigniew Zdanowicz
2025-05-30 15:49:45 +00:00
committed by Compute-Runtime-Automation
parent 6d8188bc56
commit 2efa5cb907
2 changed files with 6 additions and 2 deletions

View File

@@ -334,7 +334,9 @@ struct CommandListCoreFamily : public CommandListImp {
void appendEventForProfiling(Event *event, CommandToPatchContainer *outTimeStampSyncCmds, bool beforeWalker, bool skipBarrierForEndProfiling, bool skipAddingEventToResidency, bool copyOperation); void appendEventForProfiling(Event *event, CommandToPatchContainer *outTimeStampSyncCmds, bool beforeWalker, bool skipBarrierForEndProfiling, bool skipAddingEventToResidency, bool copyOperation);
void appendEventForProfilingCopyCommand(Event *event, bool beforeWalker); void appendEventForProfilingCopyCommand(Event *event, bool beforeWalker);
void appendSignalEventPostWalker(Event *event, void **syncCmdBuffer, CommandToPatchContainer *outTimeStampSyncCmds, bool skipBarrierForEndProfiling, bool skipAddingEventToResidency, bool copyOperation); void appendSignalEventPostWalker(Event *event, void **syncCmdBuffer, CommandToPatchContainer *outTimeStampSyncCmds, bool skipBarrierForEndProfiling, bool skipAddingEventToResidency, bool copyOperation);
virtual void programStateBaseAddress(NEO::CommandContainer &container, bool useSbaProperties); void programStateBaseAddress(NEO::CommandContainer &container, bool useSbaProperties);
virtual void programStateBaseAddressHook(size_t cmdBufferOffset, bool surfaceBaseAddressModify) {
}
void appendComputeBarrierCommand(); void appendComputeBarrierCommand();
NEO::PipeControlArgs createBarrierFlags(); NEO::PipeControlArgs createBarrierFlags();
void appendMultiTileBarrier(NEO::Device &neoDevice); void appendMultiTileBarrier(NEO::Device &neoDevice);

View File

@@ -3870,7 +3870,7 @@ void CommandListCoreFamily<gfxCoreFamily>::programStateBaseAddress(NEO::CommandC
this->doubleSbaWa, // doubleSbaWa this->doubleSbaWa, // doubleSbaWa
this->heaplessModeEnabled // heaplessModeEnabled this->heaplessModeEnabled // heaplessModeEnabled
}; };
auto offsetSbaCmd = container.getCommandStream()->getUsed();
NEO::EncodeStateBaseAddress<GfxFamily>::encode(encodeStateBaseAddressArgs); NEO::EncodeStateBaseAddress<GfxFamily>::encode(encodeStateBaseAddressArgs);
bool sbaTrackingEnabled = NEO::Debugger::isDebugEnabled(this->internalUsage) && this->device->getL0Debugger(); bool sbaTrackingEnabled = NEO::Debugger::isDebugEnabled(this->internalUsage) && this->device->getL0Debugger();
@@ -3878,6 +3878,8 @@ void CommandListCoreFamily<gfxCoreFamily>::programStateBaseAddress(NEO::CommandC
*this->device->getNEODevice(), *this->device->getNEODevice(),
*container.getCommandStream(), *container.getCommandStream(),
sba, (this->isFlushTaskSubmissionEnabled || this->dispatchCmdListBatchBufferAsPrimary)); sba, (this->isFlushTaskSubmissionEnabled || this->dispatchCmdListBatchBufferAsPrimary));
programStateBaseAddressHook(offsetSbaCmd, sba.getSurfaceStateBaseAddressModifyEnable());
} }
template <GFXCORE_FAMILY gfxCoreFamily> template <GFXCORE_FAMILY gfxCoreFamily>