mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-08 14:02:58 +08:00
Move appendDrmContextFlags to drm_neo.cpp
Use flag for direct submission when prelim kernel is used. Signed-off-by: Szymon Morek <szymon.morek@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
cc9ae34a6d
commit
7a730200ee
@@ -257,3 +257,36 @@ TEST(IoctlHelperTestsPrelim, givenDrmAllocationWhenSetMemAdviseWithDevicePreferr
|
||||
}
|
||||
EXPECT_EQ(2u, drm.ioctlCallsCount);
|
||||
}
|
||||
|
||||
TEST(IoctlHelperTestsPrelim, givenPrelimsWhenGetDirectSubmissionFlagThenCorrectValueReturned) {
|
||||
auto executionEnvironment = std::make_unique<ExecutionEnvironment>();
|
||||
executionEnvironment->prepareRootDeviceEnvironments(1);
|
||||
auto drm = std::make_unique<DrmPrelimMock>(*executionEnvironment->rootDeviceEnvironments[0]);
|
||||
|
||||
uint32_t ioctlVal = (1u << 31);
|
||||
EXPECT_EQ(ioctlVal, IoctlHelper::get(drm.get())->getDirectSubmissionFlag());
|
||||
}
|
||||
|
||||
TEST(IoctlHelperTestsPrelim, givenPrelimsWhenAppendDrmContextFlagsThenCorrectFlagsSet) {
|
||||
DebugManagerStateRestore stateRestore;
|
||||
DebugManager.flags.DirectSubmissionDrmContext.set(-1);
|
||||
|
||||
auto executionEnvironment = std::make_unique<ExecutionEnvironment>();
|
||||
executionEnvironment->prepareRootDeviceEnvironments(1);
|
||||
auto drm = std::make_unique<DrmPrelimMock>(*executionEnvironment->rootDeviceEnvironments[0]);
|
||||
uint32_t ioctlVal = (1u << 31);
|
||||
|
||||
drm_i915_gem_context_create_ext ctx{};
|
||||
drm->appendDrmContextFlags(ctx, true);
|
||||
EXPECT_EQ(ioctlVal, ctx.flags);
|
||||
|
||||
ctx.flags = 0u;
|
||||
DebugManager.flags.DirectSubmissionDrmContext.set(0);
|
||||
|
||||
drm->appendDrmContextFlags(ctx, true);
|
||||
EXPECT_EQ(0u, ctx.flags);
|
||||
|
||||
DebugManager.flags.DirectSubmissionDrmContext.set(1);
|
||||
drm->appendDrmContextFlags(ctx, false);
|
||||
EXPECT_EQ(ioctlVal, ctx.flags);
|
||||
}
|
||||
|
||||
@@ -111,3 +111,16 @@ TEST(IoctlHelperTestsUpstream, givenUpstreamWhenSetVmBoAdviseThenReturnTrue) {
|
||||
auto ioctlHelper = IoctlHelper::get(drm.get());
|
||||
EXPECT_TRUE(ioctlHelper->setVmBoAdvise(drm.get(), 0, 0, nullptr));
|
||||
}
|
||||
|
||||
TEST(IoctlHelperTestsUpstream, givenUpstreamWhenDirectSubmissionEnabledThenNoFlagsAdded) {
|
||||
DebugManagerStateRestore stateRestore;
|
||||
DebugManager.flags.DirectSubmissionDrmContext.set(1);
|
||||
|
||||
auto executionEnvironment = std::make_unique<ExecutionEnvironment>();
|
||||
executionEnvironment->prepareRootDeviceEnvironments(1);
|
||||
auto drm = std::make_unique<DrmTipMock>(*executionEnvironment->rootDeviceEnvironments[0]);
|
||||
|
||||
drm_i915_gem_context_create_ext ctx{};
|
||||
drm->appendDrmContextFlags(ctx, false);
|
||||
EXPECT_EQ(0u, ctx.flags);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user