Add support for batched dispatch to userspace AUBs

This commit as aimed to add support for batched dispatch,
but doesn't make it the default mode for AubCSR yet.

Change-Id: I4dc366ec5f01adf2c4793009da2100ba0230c60a
This commit is contained in:
Milczarek, Slawomir
2018-01-10 22:03:23 +01:00
committed by sys_ocldev
parent 920d952a4a
commit 7c42353c4c
14 changed files with 166 additions and 71 deletions

View File

@@ -336,7 +336,7 @@ CompletionStamp CommandStreamReceiverHw<GfxFamily>::flushTask(
if (this->dispatchMode == DispatchMode::ImmediateDispatch) {
flushStamp->setStamp(this->flush(batchBuffer, EngineType::ENGINE_RCS, nullptr));
this->latestFlushedTaskCount = this->taskCount + 1;
this->makeSurfacePackNonResident();
this->makeSurfacePackNonResident(nullptr);
} else {
auto commandBuffer = new CommandBuffer;
commandBuffer->batchBuffer = batchBuffer;
@@ -348,7 +348,7 @@ CompletionStamp CommandStreamReceiverHw<GfxFamily>::flushTask(
this->submissionAggregator->recordCommandBuffer(commandBuffer);
}
} else {
this->makeSurfacePackNonResident();
this->makeSurfacePackNonResident(nullptr);
}
//check if we are not over the budget, if we are do implicit flush
@@ -436,13 +436,8 @@ inline void CommandStreamReceiverHw<GfxFamily>::flushBatchedSubmissions() {
this->latestFlushedTaskCount = lastTaskCount;
this->flushStamp->setStamp(flushStamp);
for (auto &graphicsAllocation : surfacesForSubmit) {
this->makeNonResident(*graphicsAllocation);
}
surfacesForSubmit.clear();
this->makeSurfacePackNonResident(&surfacesForSubmit);
resourcePackage.clear();
this->processEviction();
}
this->totalMemoryUsed = 0;
}