feature: Append recorded command list into immediate (3/N)

- Use correct stream for dispatch
- Add capability to append signal event
- Check available space globally in immediate append call

Related-To: NEO-10356

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
This commit is contained in:
Aravind Gopalakrishnan
2024-08-16 16:39:39 +00:00
committed by Compute-Runtime-Automation
parent a9e23130d1
commit cb8063f71d
17 changed files with 474 additions and 100 deletions

View File

@@ -2171,7 +2171,7 @@ template <typename GfxFamily>
void CommandStreamReceiverHw<GfxFamily>::dispatchImmediateFlushClientBufferCommands(ImmediateDispatchFlags &dispatchFlags,
LinearStream &immediateCommandStream,
ImmediateFlushData &flushData) {
if (dispatchFlags.blockingAppend) {
if (dispatchFlags.blockingAppend || dispatchFlags.requireTaskCountUpdate) {
auto address = getTagAllocation()->getGpuAddress();
PipeControlArgs args = {};
@@ -2228,7 +2228,7 @@ CompletionStamp CommandStreamReceiverHw<GfxFamily>::handleImmediateFlushSendBatc
CompletionStamp completionStamp = {CompletionStamp::getTaskCountFromSubmissionStatusError(submissionStatus)};
return completionStamp;
} else {
if (dispatchFlags.blockingAppend) {
if (dispatchFlags.blockingAppend || dispatchFlags.requireTaskCountUpdate) {
this->latestFlushedTaskCount = this->taskCount + 1;
}

View File

@@ -139,6 +139,7 @@ struct ImmediateDispatchFlags {
StreamProperties *requiredState = nullptr;
void *sshCpuBase = nullptr;
bool blockingAppend = false;
bool requireTaskCountUpdate = false;
bool hasRelaxedOrderingDependencies = false;
bool hasStallingCmds = false;
};