mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-07 21:27:04 +08:00
fix: initialize context with first submission in heapless execution
- early return from initializeDeviceWithFirstSubmission if flush was already called Related-To: NEO-11219 Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
0a74d718f2
commit
a2a154ba4a
@@ -11,6 +11,9 @@ namespace NEO {
|
||||
|
||||
template <typename GfxFamily>
|
||||
SubmissionStatus CommandStreamReceiverHw<GfxFamily>::initializeDeviceWithFirstSubmission(Device &device) {
|
||||
if (this->latestFlushedTaskCount > 0) {
|
||||
return SubmissionStatus::success;
|
||||
}
|
||||
return flushTagUpdate();
|
||||
}
|
||||
|
||||
|
||||
@@ -5236,6 +5236,21 @@ HWTEST_F(CommandStreamReceiverTest, givenBcsCsrWhenInitializeDeviceWithFirstSubm
|
||||
EXPECT_EQ(SubmissionStatus::success, commandStreamReceiver.initializeDeviceWithFirstSubmission(*pDevice));
|
||||
}
|
||||
|
||||
HWTEST_F(CommandStreamReceiverTest, givenCsrWhenInitializeDeviceWithFirstSubmissionIsCalledThenFlushOnlyForTheFirstTime) {
|
||||
MockOsContext mockOsContext(0, EngineDescriptorHelper::getDefaultDescriptor({defaultHwInfo->capabilityTable.defaultEngineType, EngineUsage::regular}));
|
||||
pDevice->setPreemptionMode(PreemptionMode::Disabled);
|
||||
|
||||
MockCsrHw<FamilyType> commandStreamReceiver(*pDevice->executionEnvironment, pDevice->getRootDeviceIndex(), pDevice->getDeviceBitfield());
|
||||
commandStreamReceiver.setupContext(mockOsContext);
|
||||
commandStreamReceiver.initializeTagAllocation();
|
||||
EXPECT_EQ(0u, commandStreamReceiver.taskCount);
|
||||
EXPECT_EQ(SubmissionStatus::success, commandStreamReceiver.initializeDeviceWithFirstSubmission(*pDevice));
|
||||
EXPECT_EQ(1u, commandStreamReceiver.taskCount);
|
||||
|
||||
EXPECT_EQ(SubmissionStatus::success, commandStreamReceiver.initializeDeviceWithFirstSubmission(*pDevice));
|
||||
EXPECT_EQ(1u, commandStreamReceiver.taskCount);
|
||||
}
|
||||
|
||||
using CommandStreamReceiverHwHeaplessTest = Test<DeviceFixture>;
|
||||
|
||||
HWTEST_F(CommandStreamReceiverHwHeaplessTest, whenHeaplessCommandStreamReceiverFunctionsAreCalledThenExceptionIsThrown) {
|
||||
|
||||
Reference in New Issue
Block a user