mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-15 13:01:45 +08:00
Set VM id correctly
Change-Id: I5e4396995dd2f68b9a1fa4646061d54c4a85d3fe Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
This commit is contained in:

committed by
sys_ocldev

parent
1924ef271f
commit
56a0eb7d0f
@ -95,6 +95,9 @@ int DrmMock::ioctl(unsigned long request, void *arg) {
|
||||
if (receivedContextParamRequest.param == I915_CONTEXT_PARAM_PERSISTENCE) {
|
||||
return this->StoredRetValForPersistant;
|
||||
}
|
||||
if (receivedContextParamRequest.param == I915_CONTEXT_PARAM_VM) {
|
||||
return this->StoredRetVal;
|
||||
}
|
||||
}
|
||||
|
||||
if ((request == DRM_IOCTL_I915_GEM_CONTEXT_GETPARAM) && (arg != nullptr)) {
|
||||
|
@ -126,21 +126,25 @@ TEST(DrmTest, givenDrmWhenOsContextIsCreatedThenCreateAndDestroyNewDrmOsContext)
|
||||
|
||||
EXPECT_EQ(1u, osContext1.getDrmContextIds().size());
|
||||
EXPECT_EQ(drmMock.receivedCreateContextId, osContext1.getDrmContextIds()[0]);
|
||||
EXPECT_EQ(drmMock.receivedCreateContextId, drmMock.getVirtualMemoryAddressSpace(0));
|
||||
EXPECT_EQ(0u, drmMock.receivedDestroyContextId);
|
||||
|
||||
{
|
||||
OsContextLinux osContext2(drmMock, 0u, 1, aub_stream::ENGINE_RCS, PreemptionMode::Disabled, false, false, false);
|
||||
EXPECT_EQ(1u, osContext2.getDrmContextIds().size());
|
||||
EXPECT_EQ(drmMock.receivedCreateContextId, osContext2.getDrmContextIds()[0]);
|
||||
EXPECT_EQ(drmMock.receivedCreateContextId, drmMock.getVirtualMemoryAddressSpace(0));
|
||||
EXPECT_EQ(0u, drmMock.receivedDestroyContextId);
|
||||
}
|
||||
EXPECT_EQ(drmMock.getVirtualMemoryAddressSpace(0), drmMock.receivedDestroyContextId);
|
||||
}
|
||||
|
||||
EXPECT_EQ(drmMock.getVirtualMemoryAddressSpace(0), drmMock.receivedDestroyContextId);
|
||||
EXPECT_EQ(0u, drmMock.receivedContextParamRequestCount);
|
||||
EXPECT_EQ(2u, drmMock.receivedContextParamRequestCount);
|
||||
}
|
||||
|
||||
TEST(DrmTest, whenCreatingDrmContextThenProperVmIdIsSet) {
|
||||
DrmMock drmMock;
|
||||
|
||||
OsContextLinux osContext1(drmMock, 0u, 1, aub_stream::ENGINE_RCS, PreemptionMode::Disabled, false, false, false);
|
||||
|
||||
EXPECT_EQ(drmMock.receivedContextParamRequest.value, drmMock.getVirtualMemoryAddressSpace(0u));
|
||||
}
|
||||
|
||||
TEST(DrmTest, givenDrmAndNegativeCheckNonPersistentContextsSupportWhenOsContextIsCreatedThenReceivedContextParamRequestCountReturnsCorrectValue) {
|
||||
@ -151,7 +155,7 @@ TEST(DrmTest, givenDrmAndNegativeCheckNonPersistentContextsSupportWhenOsContextI
|
||||
{
|
||||
drmMock.StoredRetValForPersistant = -1;
|
||||
drmMock.checkNonPersistentContextsSupport();
|
||||
++expectedCount;
|
||||
expectedCount += 2;
|
||||
OsContextLinux osContext(drmMock, 0u, 1, aub_stream::ENGINE_RCS, PreemptionMode::Disabled, false, false, false);
|
||||
EXPECT_EQ(expectedCount, drmMock.receivedContextParamRequestCount);
|
||||
}
|
||||
@ -160,7 +164,7 @@ TEST(DrmTest, givenDrmAndNegativeCheckNonPersistentContextsSupportWhenOsContextI
|
||||
drmMock.checkNonPersistentContextsSupport();
|
||||
++expectedCount;
|
||||
OsContextLinux osContext(drmMock, 0u, 1, aub_stream::ENGINE_RCS, PreemptionMode::Disabled, false, false, false);
|
||||
++expectedCount;
|
||||
expectedCount += 2;
|
||||
EXPECT_EQ(expectedCount, drmMock.receivedContextParamRequestCount);
|
||||
}
|
||||
}
|
||||
@ -172,15 +176,15 @@ TEST(DrmTest, givenDrmPreemptionEnabledAndLowPriorityEngineWhenCreatingOsContext
|
||||
OsContextLinux osContext1(drmMock, 0u, 1, aub_stream::ENGINE_RCS, PreemptionMode::Disabled, false, false, false);
|
||||
OsContextLinux osContext2(drmMock, 0u, 1, aub_stream::ENGINE_RCS, PreemptionMode::Disabled, true, false, false);
|
||||
|
||||
EXPECT_EQ(0u, drmMock.receivedContextParamRequestCount);
|
||||
EXPECT_EQ(2u, drmMock.receivedContextParamRequestCount);
|
||||
|
||||
drmMock.preemptionSupported = true;
|
||||
|
||||
OsContextLinux osContext3(drmMock, 0u, 1, aub_stream::ENGINE_RCS, PreemptionMode::Disabled, false, false, false);
|
||||
EXPECT_EQ(0u, drmMock.receivedContextParamRequestCount);
|
||||
EXPECT_EQ(3u, drmMock.receivedContextParamRequestCount);
|
||||
|
||||
OsContextLinux osContext4(drmMock, 0u, 1, aub_stream::ENGINE_RCS, PreemptionMode::Disabled, true, false, false);
|
||||
EXPECT_EQ(1u, drmMock.receivedContextParamRequestCount);
|
||||
EXPECT_EQ(5u, drmMock.receivedContextParamRequestCount);
|
||||
EXPECT_EQ(drmMock.receivedCreateContextId, drmMock.receivedContextParamRequest.ctx_id);
|
||||
EXPECT_EQ(static_cast<uint64_t>(I915_CONTEXT_PARAM_PRIORITY), drmMock.receivedContextParamRequest.param);
|
||||
EXPECT_EQ(static_cast<uint64_t>(-1023), drmMock.receivedContextParamRequest.value);
|
||||
@ -357,7 +361,6 @@ TEST(DrmTest, givenDrmWhenCreatingOsContextThenCreateDrmContextWithVmId) {
|
||||
|
||||
auto &contextIds = osContext.getDrmContextIds();
|
||||
EXPECT_EQ(1u, contextIds.size());
|
||||
EXPECT_EQ(SysCalls::vmId, contextIds[0]);
|
||||
}
|
||||
|
||||
TEST(DrmTest, givenDrmWithPerContextVMRequiredWhenCreatingOsContextsThenImplicitVmIdPerContextIsUsed) {
|
||||
|
Reference in New Issue
Block a user