mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-15 13:01:45 +08:00
Do not override immediate dispatch while direct submission enabled
Related-To: NEO-5007 Change-Id: I32330a275f78e825c847b0e380ce426f0c7412f5 Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
This commit is contained in:

committed by
sys_ocldev

parent
dbb7f40def
commit
9158dec82d
@ -64,7 +64,10 @@ class CommandQueueHw : public CommandQueue {
|
||||
}
|
||||
|
||||
if (getCmdQueueProperties<cl_queue_properties>(properties, CL_QUEUE_PROPERTIES) & static_cast<cl_queue_properties>(CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE)) {
|
||||
getGpgpuCommandStreamReceiver().overrideDispatchPolicy(DispatchMode::BatchedDispatch);
|
||||
auto &csr = getGpgpuCommandStreamReceiver();
|
||||
if (!csr.isDirectSubmissionEnabled()) {
|
||||
csr.overrideDispatchPolicy(DispatchMode::BatchedDispatch);
|
||||
}
|
||||
if (DebugManager.flags.CsrDispatchMode.get() != 0) {
|
||||
getGpgpuCommandStreamReceiver().overrideDispatchPolicy(static_cast<DispatchMode>(DebugManager.flags.CsrDispatchMode.get()));
|
||||
}
|
||||
|
@ -83,6 +83,23 @@ HWTEST_F(clCreateCommandQueueTest, GivenOoqParametersWhenQueueIsCreatedThenComma
|
||||
retVal = clReleaseCommandQueue(cmdq);
|
||||
}
|
||||
|
||||
HWTEST_F(clCreateCommandQueueTest, GivenOoqParametersAndDirectSubmissionEnabledWhenQueueIsCreatedThenCommandStreamReceiverDoesNotSwitchToBatchingMode) {
|
||||
DebugManagerStateRestore restorer;
|
||||
DebugManager.flags.EnableDirectSubmission.set(1);
|
||||
|
||||
cl_int retVal = CL_SUCCESS;
|
||||
cl_queue_properties ooq = CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE;
|
||||
auto clDevice = castToObject<ClDevice>(testedClDevice);
|
||||
auto mockDevice = reinterpret_cast<MockDevice *>(&clDevice->getDevice());
|
||||
auto &csr = mockDevice->getUltCommandStreamReceiver<FamilyType>();
|
||||
csr.directSubmissionAvailable = true;
|
||||
EXPECT_EQ(DispatchMode::ImmediateDispatch, csr.dispatchMode);
|
||||
|
||||
auto cmdq = clCreateCommandQueue(pContext, testedClDevice, ooq, &retVal);
|
||||
EXPECT_EQ(DispatchMode::ImmediateDispatch, csr.dispatchMode);
|
||||
retVal = clReleaseCommandQueue(cmdq);
|
||||
}
|
||||
|
||||
HWTEST_F(clCreateCommandQueueTest, GivenForcedDispatchModeAndOoqParametersWhenQueueIsCreatedThenCommandStreamReceiverDoesntSwitchToBatchingMode) {
|
||||
DebugManagerStateRestore restorer;
|
||||
DebugManager.flags.CsrDispatchMode.set(static_cast<int32_t>(DispatchMode::ImmediateDispatch));
|
||||
|
Reference in New Issue
Block a user