Reorganize sync commands in static partitioning

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
This commit is contained in:
Zbigniew Zdanowicz
2021-07-01 09:41:08 +00:00
committed by Compute-Runtime-Automation
parent b04118128a
commit 95966711fe

View File

@ -667,7 +667,6 @@ void constructStaticallyPartitionedCommandBuffer(void *cpuPointer,
// Load partition ID to wparid register and execute walker
programMiLoadRegisterMem<GfxFamily>(currentBatchBufferPointer, totalBytesProgrammed, workPartitionAllocationGpuVa, wparidCCSOffset);
programPartitionedWalker<GfxFamily>(currentBatchBufferPointer, totalBytesProgrammed, inputWalker, partitionCount);
programPipeControlCommand<GfxFamily>(currentBatchBufferPointer, totalBytesProgrammed, true); // flush L3 cache
// Prepare for cleanup section
if (nativeCrossTileAtomicSync) {
@ -675,6 +674,8 @@ void constructStaticallyPartitionedCommandBuffer(void *cpuPointer,
programNativeCrossTileSyncControl<GfxFamily>(currentBatchBufferPointer, totalBytesProgrammed, finalSyncTileCountField);
}
programPipeControlCommand<GfxFamily>(currentBatchBufferPointer, totalBytesProgrammed, true); // flush L3 cache
// Synchronize tiles after walker
if (isSemaphoreProgrammingRequired()) {
programTilesSynchronizationWithPostSyncs<GfxFamily>(currentBatchBufferPointer, totalBytesProgrammed, inputWalker, partitionCount);