Skip to content

Commit 9d3b759

Browse files
Do not call GEM_WAIT while direct submission active
Signed-off-by: Lukasz Jobczyk <[email protected]>
1 parent 0f78357 commit 9d3b759

File tree

3 files changed

+12
-1
lines changed

3 files changed

+12
-1
lines changed

opencl/test/unit_test/os_interface/linux/drm_buffer_object_tests.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,13 @@ TEST_F(DrmBufferObjectTest, GivenInvalidTilingWhenSettingTilingThenCallFails) {
111111
EXPECT_FALSE(ret);
112112
}
113113

114+
TEST_F(DrmBufferObjectTest, givenDirectSubmissionActiveWhenCallWaitThenNoIoctlIsCalled) {
115+
mock->setDirectSubmissionActive(true);
116+
mock->ioctl_expected.total = 0;
117+
auto ret = bo->wait(-1);
118+
EXPECT_FALSE(ret);
119+
}
120+
114121
TEST_F(DrmBufferObjectTest, givenAddressThatWhenSizeIsAddedCrosses32BitBoundaryWhenExecIsCalledThen48BitFlagIsSet) {
115122
drm_i915_gem_exec_object2 execObject;
116123

shared/source/os_interface/linux/drm_buffer_object.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,10 @@ bool BufferObject::close() {
7171
}
7272

7373
int BufferObject::wait(int64_t timeoutNs) {
74+
if (this->drm->isDirectSubmissionActive()) {
75+
return 0;
76+
}
77+
7478
drm_i915_gem_wait wait = {};
7579
wait.bo_handle = this->handle;
7680
wait.timeout_ns = -1;

shared/test/unit_test/direct_submission/linux/drm_direct_submission_tests.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,5 +92,5 @@ HWTEST_F(DrmDirectSubmissionTest, givenDrmDirectSubmissionWhenDestructObjectThen
9292
drm->ioctlCallsCount = 0u;
9393
drmDirectSubmission.reset();
9494

95-
EXPECT_EQ(drm->ioctlCallsCount, 7u);
95+
EXPECT_EQ(drm->ioctlCallsCount, 3u);
9696
}

0 commit comments

Comments
 (0)