mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-18 22:08:53 +08:00
feature: Add programExceptions stub to CSR
Related-to: NEO-12967 Signed-off-by: Brandon Yates <brandon.yates@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
94c6bd9382
commit
a48d66ad75
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user