mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-21 01:04:57 +08:00
Disable OCL RelaxedOrdering if tag update is required
Related-To: NEO-7458 Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
e62c5e25d5
commit
686790274d
@@ -1487,11 +1487,13 @@ bool CommandQueueHw<GfxFamily>::isBlitAuxTranslationRequired(const MultiDispatch
|
||||
|
||||
template <typename GfxFamily>
|
||||
bool CommandQueueHw<GfxFamily>::relaxedOrderingForGpgpuAllowed(uint32_t numWaitEvents) const {
|
||||
if (DebugManager.flags.DirectSubmissionRelaxedOrdering.get() != 1) {
|
||||
auto &gpgpuCsr = getGpgpuCommandStreamReceiver();
|
||||
|
||||
if ((DebugManager.flags.DirectSubmissionRelaxedOrdering.get() != 1) || gpgpuCsr.isRecyclingTagForHeapStorageRequired()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return RelaxedOrderingHelper::isRelaxedOrderingDispatchAllowed(getGpgpuCommandStreamReceiver(), numWaitEvents);
|
||||
return RelaxedOrderingHelper::isRelaxedOrderingDispatchAllowed(gpgpuCsr, numWaitEvents);
|
||||
}
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -1236,6 +1236,7 @@ HWTEST_F(CommandQueueHwTest, givenRelaxedOrderingEnabledWhenCheckingIfAllowedByC
|
||||
MockCommandQueueHw<FamilyType> mockCmdQueueHw{context, pClDevice, nullptr};
|
||||
|
||||
auto &ultCsr = mockCmdQueueHw.getUltCommandStreamReceiver();
|
||||
ultCsr.heapStorageRequiresRecyclingTag = false;
|
||||
|
||||
auto directSubmission = new MockDirectSubmissionHw<FamilyType, RenderDispatcher<FamilyType>>(ultCsr);
|
||||
directSubmission->relaxedOrderingEnabled = true;
|
||||
@@ -1256,4 +1257,8 @@ HWTEST_F(CommandQueueHwTest, givenRelaxedOrderingEnabledWhenCheckingIfAllowedByC
|
||||
|
||||
EXPECT_FALSE(mockCmdQueueHw.relaxedOrderingForGpgpuAllowed(0));
|
||||
EXPECT_TRUE(mockCmdQueueHw.relaxedOrderingForGpgpuAllowed(1));
|
||||
|
||||
ultCsr.heapStorageRequiresRecyclingTag = true;
|
||||
EXPECT_FALSE(mockCmdQueueHw.relaxedOrderingForGpgpuAllowed(0));
|
||||
EXPECT_FALSE(mockCmdQueueHw.relaxedOrderingForGpgpuAllowed(1));
|
||||
}
|
||||
|
||||
@@ -405,6 +405,8 @@ class CommandStreamReceiver {
|
||||
return globalStatelessHeap.get();
|
||||
}
|
||||
|
||||
bool isRecyclingTagForHeapStorageRequired() const { return heapStorageRequiresRecyclingTag; }
|
||||
|
||||
protected:
|
||||
void cleanupResources();
|
||||
void printDeviceIndex();
|
||||
|
||||
Reference in New Issue
Block a user