feature: Add programExceptions stub to CSR

Related-to: NEO-12967

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
This commit is contained in:
Brandon Yates
2025-04-01 16:52:57 +00:00
committed by Compute-Runtime-Automation
parent 94c6bd9382
commit a48d66ad75
4 changed files with 17 additions and 0 deletions

View File

@@ -673,6 +673,7 @@ class CommandStreamReceiver : NEO::NonCopyableAndNonMovableClass {
bool isPreambleSent = false;
bool isStateSipSent = false;
bool isEnginePrologueSent = false;
bool areExceptionsSent = false;
bool isPerDssBackedBufferSent = false;
bool gsbaFor32BitProgrammed = false;
bool gsbaStateDirty = true;

View File

@@ -224,6 +224,8 @@ class CommandStreamReceiverHw : public CommandStreamReceiver {
void programEnginePrologue(LinearStream &csr);
size_t getCmdSizeForPrologue() const;
void programExceptions(LinearStream &csr, Device &device);
size_t getCmdSizeForExceptions() const;
size_t getCmdSizeForHeaplessPrologue(Device &device) const;
void handleAllocationsResidencyForHeaplessProlog(LinearStream &linearStream, Device &device);

View File

@@ -1382,6 +1382,15 @@ inline size_t CommandStreamReceiverHw<GfxFamily>::getCmdSizeForPrologue() const
return 0u;
}
template <typename GfxFamily>
void CommandStreamReceiverHw<GfxFamily>::programExceptions(LinearStream &csr, Device &device) {
}
template <typename GfxFamily>
size_t CommandStreamReceiverHw<GfxFamily>::getCmdSizeForExceptions() const {
return 0u;
}
template <typename GfxFamily>
inline void CommandStreamReceiverHw<GfxFamily>::stopDirectSubmission(bool blocking, bool needsLock) {
if (this->isAnyDirectSubmissionEnabled()) {
@@ -2105,6 +2114,7 @@ void CommandStreamReceiverHw<GfxFamily>::handleImmediateFlushOneTimeContextInitS
flushData.contextOneTimeInit = true;
flushData.estimatedSize += PreemptionHelper::getRequiredPreambleSize<GfxFamily>(device);
}
flushData.estimatedSize += this->getCmdSizeForExceptions();
} else if (this->getPreemptionMode() == PreemptionMode::Initial) {
flushData.contextOneTimeInit = true;
flushData.estimatedSize += PreemptionHelper::getRequiredCmdStreamSize<GfxFamily>(device.getPreemptionMode(), this->getPreemptionMode());
@@ -2137,6 +2147,7 @@ void CommandStreamReceiverHw<GfxFamily>::dispatchImmediateFlushOneTimeContextIni
device,
device.getDebugSurface());
this->setCsrSurfaceProgrammed(true);
this->programExceptions(csrStream, device);
} else if (this->getPreemptionMode() == PreemptionMode::Initial) {
PreemptionHelper::programCmdStream<GfxFamily>(csrStream, device.getPreemptionMode(), this->getPreemptionMode(), this->getPreemptionAllocation());
PreemptionHelper::programCsrBaseAddress<GfxFamily>(csrStream,

View File

@@ -61,6 +61,7 @@ class UltCommandStreamReceiver : public CommandStreamReceiverHw<GfxFamily> {
using BaseClass::dcFlushSupport;
using BaseClass::directSubmission;
using BaseClass::dshState;
using BaseClass::getCmdSizeForExceptions;
using BaseClass::getCmdSizeForHeaplessPrologue;
using BaseClass::getCmdSizeForPrologue;
using BaseClass::getScratchPatchAddress;
@@ -84,6 +85,7 @@ class UltCommandStreamReceiver : public CommandStreamReceiverHw<GfxFamily> {
using BaseClass::primaryCsr;
using BaseClass::programActivePartitionConfig;
using BaseClass::programEnginePrologue;
using BaseClass::programExceptions;
using BaseClass::programPerDssBackedBuffer;
using BaseClass::programPreamble;
using BaseClass::programStallingCommandsForBarrier;
@@ -99,6 +101,7 @@ class UltCommandStreamReceiver : public CommandStreamReceiverHw<GfxFamily> {
using BaseClass::wasSubmittedToSingleSubdevice;
using BaseClass::CommandStreamReceiver::activePartitions;
using BaseClass::CommandStreamReceiver::activePartitionsConfig;
using BaseClass::CommandStreamReceiver::areExceptionsSent;
using BaseClass::CommandStreamReceiver::baseWaitFunction;
using BaseClass::CommandStreamReceiver::bindingTableBaseAddressRequired;
using BaseClass::CommandStreamReceiver::checkForNewResources;