Add entry points for prologue.

Change-Id: Ic354df8356de9636bdc5f087d5a56f47c8c006f2
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
This commit is contained in:
Michal Mrozek
2020-01-31 08:50:12 +01:00
committed by sys_ocldev
parent 25f1847856
commit 4b9dc77db3
2 changed files with 14 additions and 0 deletions

View File

@@ -92,6 +92,9 @@ class CommandStreamReceiverHw : public CommandStreamReceiver {
void programEngineModeCommands(LinearStream &csr, const DispatchFlags &dispatchFlags);
void programEngineModeEpliogue(LinearStream &csr, const DispatchFlags &dispatchFlags);
void programEnginePrologue(LinearStream &csr, const DispatchFlags &dispatchFlags);
size_t getCmdSizeForPrologue(const DispatchFlags &dispatchFlags) const;
void addClearSLMWorkAround(typename GfxFamily::PIPE_CONTROL *pCmd);
PIPE_CONTROL *addPipeControlCmd(LinearStream &commandStream);
PIPE_CONTROL *addPipeControlBeforeStateBaseAddress(LinearStream &commandStream);

View File

@@ -262,6 +262,7 @@ CompletionStamp CommandStreamReceiverHw<GfxFamily>::flushTask(
if (executionEnvironment.rootDeviceEnvironments[device.getRootDeviceIndex()]->pageTableManager.get() && !pageTableManagerInitialized) {
pageTableManagerInitialized = executionEnvironment.rootDeviceEnvironments[device.getRootDeviceIndex()]->pageTableManager->initPageTableManagerRegisters(this);
}
programEnginePrologue(commandStreamCSR, dispatchFlags);
programComputeMode(commandStreamCSR, dispatchFlags);
programL3(commandStreamCSR, dispatchFlags, newL3Config);
programPipelineSelect(commandStreamCSR, dispatchFlags.pipelineSelectArgs);
@@ -642,6 +643,7 @@ size_t CommandStreamReceiverHw<GfxFamily>::getRequiredCmdStreamSize(const Dispat
size += getCmdSizeForPipelineSelect();
size += getCmdSizeForPreemption(dispatchFlags);
size += getCmdSizeForEpilogue(dispatchFlags);
size += getCmdSizeForPrologue(dispatchFlags);
if (executionEnvironment.getHardwareInfo()->workaroundTable.waSamplerCacheFlushBetweenRedescribedSurfaceReads) {
if (this->samplerCacheFlushRequired != SamplerCacheFlushState::samplerCacheFlushNotRequired) {
@@ -881,4 +883,13 @@ inline size_t CommandStreamReceiverHw<GfxFamily>::getCmdSizeForEpilogue(const Di
}
return 0u;
}
template <typename GfxFamily>
inline void CommandStreamReceiverHw<GfxFamily>::programEnginePrologue(LinearStream &csr, const DispatchFlags &dispatchFlags) {
}
template <typename GfxFamily>
inline size_t CommandStreamReceiverHw<GfxFamily>::getCmdSizeForPrologue(const DispatchFlags &dispatchFlags) const {
return 0u;
}
} // namespace NEO