mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-03 14:55:24 +08:00
performance(ocl): program barrier pc in taskStream
Program barrier to task stream, before next enqueue kernel. This will reduce the number of batch buffer starts for sequences of enqueue, barrier, enqueue, ... . Related-To: NEO-8147 Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
e08d46085b
commit
1b7e178b25
@@ -22,8 +22,8 @@ struct EnqueueProperties {
|
||||
};
|
||||
|
||||
EnqueueProperties() = delete;
|
||||
EnqueueProperties(bool blitEnqueue, bool hasKernels, bool isCacheFlushCmd, bool flushDependenciesOnly, bool isMarkerWithEvent,
|
||||
const BlitPropertiesContainer *blitPropertiesContainer) {
|
||||
EnqueueProperties(bool blitEnqueue, bool hasKernels, bool isCacheFlushCmd, bool flushDependenciesOnly, bool isMarkerWithEvent, bool hasStallingCmds,
|
||||
const BlitPropertiesContainer *blitPropertiesContainer) : hasStallingCmds(hasStallingCmds) {
|
||||
if (blitEnqueue) {
|
||||
operation = Operation::Blit;
|
||||
this->blitPropertiesContainer = blitPropertiesContainer;
|
||||
@@ -61,5 +61,6 @@ struct EnqueueProperties {
|
||||
|
||||
const BlitPropertiesContainer *blitPropertiesContainer = nullptr;
|
||||
Operation operation = Operation::EnqueueWithoutSubmission;
|
||||
const bool hasStallingCmds;
|
||||
};
|
||||
} // namespace NEO
|
||||
|
||||
@@ -269,7 +269,6 @@ CompletionStamp &CommandComputeKernel::submit(TaskCountType taskLevel, bool term
|
||||
if (isHandlingBarrier) {
|
||||
commandQueue.clearLastBcsPackets();
|
||||
commandQueue.setStallingCommandsOnNextFlush(false);
|
||||
commandQueue.setDcFlushRequiredOnStallingCommandsOnNextFlush(false);
|
||||
}
|
||||
|
||||
if (kernelOperation->blitPropertiesContainer.size() > 0) {
|
||||
@@ -429,7 +428,6 @@ CompletionStamp &CommandWithoutKernel::submit(TaskCountType taskLevel, bool term
|
||||
if (isHandlingBarrier) {
|
||||
commandQueue.clearLastBcsPackets();
|
||||
commandQueue.setStallingCommandsOnNextFlush(false);
|
||||
commandQueue.setDcFlushRequiredOnStallingCommandsOnNextFlush(false);
|
||||
}
|
||||
|
||||
if (kernelOperation->blitEnqueue) {
|
||||
|
||||
Reference in New Issue
Block a user