mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-08 14:02:58 +08:00
Program PIPE CONTROL before SBA
Related-To: NEO-6056 Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
27bf56ee5a
commit
8482eb6a5f
@@ -61,6 +61,19 @@ inline void CommandStreamReceiverHw<Family>::addPipeControlBeforeStateBaseAddres
|
||||
PipeControlArgs args(true);
|
||||
args.textureCacheInvalidationEnable = true;
|
||||
args.hdcPipelineFlush = true;
|
||||
|
||||
auto hwInfo = peekHwInfo();
|
||||
auto hwInfoConfig = HwInfoConfig::get(hwInfo.platform.eProductFamily);
|
||||
|
||||
if (hwInfoConfig->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo)) {
|
||||
args.hdcPipelineFlush = true;
|
||||
args.amfsFlushEnable = true;
|
||||
args.instructionCacheInvalidateEnable = true;
|
||||
args.dcFlushEnable = true;
|
||||
args.constantCacheInvalidationEnable = true;
|
||||
args.stateCacheInvalidationEnable = true;
|
||||
}
|
||||
|
||||
addPipeControlCmd(commandStream, args);
|
||||
}
|
||||
} // namespace NEO
|
||||
|
||||
@@ -22,6 +22,7 @@ struct PipeControlArgsBase {
|
||||
bool compressionControlSurfaceCcsFlush = false;
|
||||
bool notifyEnable = false;
|
||||
bool workloadPartitionOffset = false;
|
||||
bool amfsFlushEnable = false;
|
||||
|
||||
protected:
|
||||
PipeControlArgsBase() = default;
|
||||
|
||||
@@ -143,6 +143,7 @@ void MemorySynchronizationCommands<Family>::setPipeControlExtraProperties(PIPE_C
|
||||
pipeControl.setHdcPipelineFlush(args.hdcPipelineFlush);
|
||||
pipeControl.setCompressionControlSurfaceCcsFlush(args.compressionControlSurfaceCcsFlush);
|
||||
pipeControl.setWorkloadPartitionIdOffsetEnable(args.workloadPartitionOffset);
|
||||
pipeControl.setAmfsFlushEnable(args.amfsFlushEnable);
|
||||
|
||||
if (DebugManager.flags.FlushAllCaches.get()) {
|
||||
pipeControl.setHdcPipelineFlush(true);
|
||||
|
||||
Reference in New Issue
Block a user