mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-20 08:53:55 +08:00
Create a wrapper for drm_i915_gem_context_param
Related-To: NEO-6852, NEO-6999 Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
47d9d8f9e2
commit
2202d05ea1
@@ -4533,14 +4533,14 @@ TEST_F(DebugApiLinuxTest, GivenContextParamEventWhenTypeIsParamEngineThenEventIs
|
||||
|
||||
auto offset = offsetof(prelim_drm_i915_debug_event_context_param, param);
|
||||
|
||||
drm_i915_gem_context_param paramToCopy = {};
|
||||
paramToCopy.ctx_id = contextHandle;
|
||||
GemContextParam paramToCopy = {};
|
||||
paramToCopy.contextId = contextHandle;
|
||||
paramToCopy.size = sizeof(i915_context_param_engines) + sizeof(i915_engine_class_instance);
|
||||
paramToCopy.param = I915_CONTEXT_PARAM_ENGINES;
|
||||
paramToCopy.value = 0;
|
||||
memcpy(ptrOffset(memory, offset), ¶mToCopy, sizeof(drm_i915_gem_context_param));
|
||||
memcpy(ptrOffset(memory, offset), ¶mToCopy, sizeof(GemContextParam));
|
||||
|
||||
auto valueOffset = offsetof(drm_i915_gem_context_param, value);
|
||||
auto valueOffset = offsetof(GemContextParam, value);
|
||||
auto *engines = ptrOffset(memory, offset + valueOffset);
|
||||
i915_context_param_engines enginesParam;
|
||||
enginesParam.extensions = 0;
|
||||
|
||||
@@ -170,7 +170,7 @@ int drmGetParam(drm_i915_getparam_t *param) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
int drmSetContextParam(drm_i915_gem_context_param *param) {
|
||||
int drmSetContextParam(NEO::GemContextParam *param) {
|
||||
assert(param);
|
||||
int ret = 0;
|
||||
|
||||
@@ -186,7 +186,7 @@ int drmSetContextParam(drm_i915_gem_context_param *param) {
|
||||
break;
|
||||
#endif
|
||||
case I915_CONTEXT_PARAM_SSEU:
|
||||
if (param->size == sizeof(NEO::GemContextParamSseu) && param->value != 0 && param->ctx_id == 0) {
|
||||
if (param->size == sizeof(NEO::GemContextParamSseu) && param->value != 0 && param->contextId == 0) {
|
||||
ret = failOnSetParamSseu;
|
||||
} else {
|
||||
ret = -1;
|
||||
@@ -198,12 +198,12 @@ int drmSetContextParam(drm_i915_gem_context_param *param) {
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
int drmGetContextParam(drm_i915_gem_context_param *param) {
|
||||
int drmGetContextParam(NEO::GemContextParam *param) {
|
||||
int ret = 0;
|
||||
|
||||
switch (param->param) {
|
||||
case I915_CONTEXT_PARAM_SSEU:
|
||||
if (param->size == sizeof(NEO::GemContextParamSseu) && param->value != 0 && param->ctx_id == 0) {
|
||||
if (param->size == sizeof(NEO::GemContextParamSseu) && param->value != 0 && param->contextId == 0) {
|
||||
ret = failOnGetParamSseu;
|
||||
} else {
|
||||
ret = -1;
|
||||
@@ -296,10 +296,10 @@ int ioctl(int fd, unsigned long int request, ...) throw() {
|
||||
res = drmGetParam(va_arg(vl, drm_i915_getparam_t *));
|
||||
break;
|
||||
case DRM_IOCTL_I915_GEM_CONTEXT_SETPARAM:
|
||||
res = drmSetContextParam(va_arg(vl, drm_i915_gem_context_param *));
|
||||
res = drmSetContextParam(va_arg(vl, NEO::GemContextParam *));
|
||||
break;
|
||||
case DRM_IOCTL_I915_GEM_CONTEXT_GETPARAM:
|
||||
res = drmGetContextParam(va_arg(vl, drm_i915_gem_context_param *));
|
||||
res = drmGetContextParam(va_arg(vl, NEO::GemContextParam *));
|
||||
break;
|
||||
case DRM_IOCTL_I915_GEM_CONTEXT_CREATE_EXT:
|
||||
res = drmContextCreate(va_arg(vl, drm_i915_gem_context_create_ext *));
|
||||
|
||||
@@ -301,7 +301,7 @@ TEST(DrmTest, givenDrmPreemptionEnabledAndLowPriorityEngineWhenCreatingOsContext
|
||||
OsContextLinux osContext4(drmMock, 0u, EngineDescriptorHelper::getDefaultDescriptor({aub_stream::ENGINE_RCS, EngineUsage::LowPriority}));
|
||||
osContext4.ensureContextInitialized();
|
||||
EXPECT_EQ(5u, drmMock.receivedContextParamRequestCount);
|
||||
EXPECT_EQ(drmMock.storedDrmContextId, drmMock.receivedContextParamRequest.ctx_id);
|
||||
EXPECT_EQ(drmMock.storedDrmContextId, drmMock.receivedContextParamRequest.contextId);
|
||||
EXPECT_EQ(static_cast<uint64_t>(I915_CONTEXT_PARAM_PRIORITY), drmMock.receivedContextParamRequest.param);
|
||||
EXPECT_EQ(static_cast<uint64_t>(-1023), drmMock.receivedContextParamRequest.value);
|
||||
EXPECT_EQ(0u, drmMock.receivedContextParamRequest.size);
|
||||
|
||||
@@ -986,7 +986,7 @@ GraphicsAllocation *DrmMemoryManager::createGraphicsAllocationFromExistingStorag
|
||||
uint64_t DrmMemoryManager::getSystemSharedMemory(uint32_t rootDeviceIndex) {
|
||||
uint64_t hostMemorySize = MemoryConstants::pageSize * (uint64_t)(sysconf(_SC_PHYS_PAGES));
|
||||
|
||||
drm_i915_gem_context_param getContextParam = {};
|
||||
GemContextParam getContextParam = {};
|
||||
getContextParam.param = I915_CONTEXT_PARAM_GTT_SIZE;
|
||||
[[maybe_unused]] auto ret = getDrm(rootDeviceIndex).ioctl(DRM_IOCTL_I915_GEM_CONTEXT_GETPARAM, &getContextParam);
|
||||
DEBUG_BREAK_IF(ret != 0);
|
||||
|
||||
@@ -295,7 +295,7 @@ int Drm::getExecSoftPin(int &execSoftPin) {
|
||||
}
|
||||
|
||||
int Drm::enableTurboBoost() {
|
||||
drm_i915_gem_context_param contextParam = {};
|
||||
GemContextParam contextParam = {};
|
||||
|
||||
contextParam.param = I915_CONTEXT_PRIVATE_PARAM_BOOST;
|
||||
contextParam.value = 1;
|
||||
@@ -319,7 +319,7 @@ std::string Drm::getSysFsPciPath() {
|
||||
}
|
||||
|
||||
int Drm::queryGttSize(uint64_t >tSizeOutput) {
|
||||
drm_i915_gem_context_param contextParam = {0};
|
||||
GemContextParam contextParam = {0};
|
||||
contextParam.param = I915_CONTEXT_PARAM_GTT_SIZE;
|
||||
|
||||
int ret = ioctl(DRM_IOCTL_I915_GEM_CONTEXT_GETPARAM, &contextParam);
|
||||
@@ -361,8 +361,8 @@ void Drm::checkQueueSliceSupport() {
|
||||
}
|
||||
|
||||
void Drm::setLowPriorityContextParam(uint32_t drmContextId) {
|
||||
drm_i915_gem_context_param gcp = {};
|
||||
gcp.ctx_id = drmContextId;
|
||||
GemContextParam gcp = {};
|
||||
gcp.contextId = drmContextId;
|
||||
gcp.param = I915_CONTEXT_PARAM_PRIORITY;
|
||||
gcp.value = -1023;
|
||||
|
||||
@@ -371,7 +371,7 @@ void Drm::setLowPriorityContextParam(uint32_t drmContextId) {
|
||||
}
|
||||
|
||||
int Drm::getQueueSliceCount(GemContextParamSseu *sseu) {
|
||||
drm_i915_gem_context_param contextParam = {};
|
||||
GemContextParam contextParam = {};
|
||||
contextParam.param = I915_CONTEXT_PARAM_SSEU;
|
||||
sseu->engine.engineClass = I915_ENGINE_CLASS_RENDER;
|
||||
sseu->engine.engineInstance = I915_EXEC_DEFAULT;
|
||||
@@ -386,11 +386,11 @@ uint64_t Drm::getSliceMask(uint64_t sliceCount) {
|
||||
}
|
||||
bool Drm::setQueueSliceCount(uint64_t sliceCount) {
|
||||
if (sliceCountChangeSupported) {
|
||||
drm_i915_gem_context_param contextParam = {};
|
||||
GemContextParam contextParam = {};
|
||||
sseu.sliceMask = getSliceMask(sliceCount);
|
||||
|
||||
contextParam.param = I915_CONTEXT_PARAM_SSEU;
|
||||
contextParam.ctx_id = 0;
|
||||
contextParam.contextId = 0;
|
||||
contextParam.value = reinterpret_cast<uint64_t>(&sseu);
|
||||
contextParam.size = sizeof(struct GemContextParamSseu);
|
||||
int retVal = ioctl(DRM_IOCTL_I915_GEM_CONTEXT_SETPARAM, &contextParam);
|
||||
@@ -402,7 +402,7 @@ bool Drm::setQueueSliceCount(uint64_t sliceCount) {
|
||||
}
|
||||
|
||||
void Drm::checkNonPersistentContextsSupport() {
|
||||
drm_i915_gem_context_param contextParam = {};
|
||||
GemContextParam contextParam = {};
|
||||
contextParam.param = I915_CONTEXT_PARAM_PERSISTENCE;
|
||||
|
||||
auto retVal = ioctl(DRM_IOCTL_I915_GEM_CONTEXT_GETPARAM, &contextParam);
|
||||
@@ -414,16 +414,16 @@ void Drm::checkNonPersistentContextsSupport() {
|
||||
}
|
||||
|
||||
void Drm::setNonPersistentContext(uint32_t drmContextId) {
|
||||
drm_i915_gem_context_param contextParam = {};
|
||||
contextParam.ctx_id = drmContextId;
|
||||
GemContextParam contextParam = {};
|
||||
contextParam.contextId = drmContextId;
|
||||
contextParam.param = I915_CONTEXT_PARAM_PERSISTENCE;
|
||||
|
||||
ioctl(DRM_IOCTL_I915_GEM_CONTEXT_SETPARAM, &contextParam);
|
||||
}
|
||||
|
||||
void Drm::setUnrecoverableContext(uint32_t drmContextId) {
|
||||
drm_i915_gem_context_param contextParam = {};
|
||||
contextParam.ctx_id = drmContextId;
|
||||
GemContextParam contextParam = {};
|
||||
contextParam.contextId = drmContextId;
|
||||
contextParam.param = I915_CONTEXT_PARAM_RECOVERABLE;
|
||||
contextParam.value = 0;
|
||||
contextParam.size = 0;
|
||||
@@ -482,8 +482,8 @@ void Drm::destroyDrmVirtualMemory(uint32_t drmVmId) {
|
||||
}
|
||||
|
||||
int Drm::queryVmId(uint32_t drmContextId, uint32_t &vmId) {
|
||||
drm_i915_gem_context_param param{};
|
||||
param.ctx_id = drmContextId;
|
||||
GemContextParam param{};
|
||||
param.contextId = drmContextId;
|
||||
param.value = 0;
|
||||
param.param = I915_CONTEXT_PARAM_VM;
|
||||
auto retVal = this->ioctl(DRM_IOCTL_I915_GEM_CONTEXT_GETPARAM, ¶m);
|
||||
@@ -1315,8 +1315,8 @@ unsigned int Drm::bindDrmContext(uint32_t drmContextId, uint32_t deviceIndex, au
|
||||
}
|
||||
}
|
||||
|
||||
drm_i915_gem_context_param param{};
|
||||
param.ctx_id = drmContextId;
|
||||
GemContextParam param{};
|
||||
param.contextId = drmContextId;
|
||||
param.size = static_cast<uint32_t>(ptrDiff(contextEngines.engines + numEnginesInContext, &contextEngines));
|
||||
param.param = I915_CONTEXT_PARAM_ENGINES;
|
||||
param.value = castToUint64(&contextEngines);
|
||||
|
||||
@@ -98,4 +98,10 @@ static_assert(offsetof(GemSetDomain, handle) == offsetof(drm_i915_gem_set_domain
|
||||
static_assert(offsetof(GemSetDomain, readDomains) == offsetof(drm_i915_gem_set_domain, read_domains));
|
||||
static_assert(offsetof(GemSetDomain, writeDomain) == offsetof(drm_i915_gem_set_domain, write_domain));
|
||||
|
||||
static_assert(sizeof(GemContextParam) == sizeof(drm_i915_gem_context_param));
|
||||
static_assert(offsetof(GemContextParam, contextId) == offsetof(drm_i915_gem_context_param, ctx_id));
|
||||
static_assert(offsetof(GemContextParam, size) == offsetof(drm_i915_gem_context_param, size));
|
||||
static_assert(offsetof(GemContextParam, param) == offsetof(drm_i915_gem_context_param, param));
|
||||
static_assert(offsetof(GemContextParam, value) == offsetof(drm_i915_gem_context_param, value));
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -110,4 +110,12 @@ struct GemSetDomain {
|
||||
uint32_t readDomains;
|
||||
uint32_t writeDomain;
|
||||
};
|
||||
|
||||
struct GemContextParam {
|
||||
uint32_t contextId;
|
||||
uint32_t size;
|
||||
uint64_t param;
|
||||
uint64_t value;
|
||||
};
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -86,7 +86,7 @@ int DrmMock::ioctl(unsigned long request, void *arg) {
|
||||
receivedContextCreateSetParam = *reinterpret_cast<drm_i915_gem_context_create_ext_setparam *>(create->extensions);
|
||||
if (receivedContextCreateSetParam.base.name == I915_CONTEXT_CREATE_EXT_SETPARAM) {
|
||||
receivedContextParamRequestCount++;
|
||||
receivedContextParamRequest = receivedContextCreateSetParam.param;
|
||||
receivedContextParamRequest = *reinterpret_cast<GemContextParam *>(&receivedContextCreateSetParam.param);
|
||||
if (receivedContextCreateSetParam.param.param == I915_CONTEXT_PARAM_VM) {
|
||||
return this->storedRetVal;
|
||||
}
|
||||
@@ -103,7 +103,7 @@ int DrmMock::ioctl(unsigned long request, void *arg) {
|
||||
if ((request == DRM_IOCTL_I915_GEM_CONTEXT_SETPARAM) && (arg != nullptr)) {
|
||||
ioctlCount.contextSetParam++;
|
||||
receivedContextParamRequestCount++;
|
||||
receivedContextParamRequest = *static_cast<drm_i915_gem_context_param *>(arg);
|
||||
receivedContextParamRequest = *static_cast<GemContextParam *>(arg);
|
||||
if (receivedContextParamRequest.param == I915_CONTEXT_PARAM_PRIORITY) {
|
||||
return this->storedRetVal;
|
||||
}
|
||||
@@ -131,9 +131,9 @@ int DrmMock::ioctl(unsigned long request, void *arg) {
|
||||
if ((request == DRM_IOCTL_I915_GEM_CONTEXT_GETPARAM) && (arg != nullptr)) {
|
||||
ioctlCount.contextGetParam++;
|
||||
receivedContextParamRequestCount++;
|
||||
receivedContextParamRequest = *static_cast<drm_i915_gem_context_param *>(arg);
|
||||
receivedContextParamRequest = *static_cast<GemContextParam *>(arg);
|
||||
if (receivedContextParamRequest.param == I915_CONTEXT_PARAM_GTT_SIZE) {
|
||||
static_cast<drm_i915_gem_context_param *>(arg)->value = this->storedGTTSize;
|
||||
static_cast<GemContextParam *>(arg)->value = this->storedGTTSize;
|
||||
return this->storedRetValForGetGttSize;
|
||||
}
|
||||
if (receivedContextParamRequest.param == I915_CONTEXT_PARAM_SSEU) {
|
||||
@@ -143,12 +143,12 @@ int DrmMock::ioctl(unsigned long request, void *arg) {
|
||||
return this->storedRetValForGetSSEU;
|
||||
}
|
||||
if (receivedContextParamRequest.param == I915_CONTEXT_PARAM_PERSISTENCE) {
|
||||
static_cast<drm_i915_gem_context_param *>(arg)->value = this->storedPersistentContextsSupport;
|
||||
static_cast<GemContextParam *>(arg)->value = this->storedPersistentContextsSupport;
|
||||
return this->storedRetValForPersistant;
|
||||
}
|
||||
|
||||
if (receivedContextParamRequest.param == I915_CONTEXT_PARAM_VM) {
|
||||
static_cast<drm_i915_gem_context_param *>(arg)->value = this->storedRetValForVmId;
|
||||
static_cast<GemContextParam *>(arg)->value = this->storedRetValForVmId;
|
||||
return 0u;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -204,7 +204,7 @@ class DrmMock : public Drm {
|
||||
uint32_t ioctlCallsCount = 0;
|
||||
|
||||
uint32_t receivedContextParamRequestCount = 0;
|
||||
drm_i915_gem_context_param receivedContextParamRequest = {};
|
||||
GemContextParam receivedContextParamRequest = {};
|
||||
uint64_t receivedRecoverableContextValue = std::numeric_limits<uint64_t>::max();
|
||||
|
||||
bool queryPageFaultSupportCalled = false;
|
||||
|
||||
@@ -51,7 +51,7 @@ int DrmMockPrelimContext::handlePrelimRequest(unsigned long request, void *arg)
|
||||
}
|
||||
} break;
|
||||
case DRM_IOCTL_I915_GEM_CONTEXT_GETPARAM: {
|
||||
auto gp = static_cast<drm_i915_gem_context_param *>(arg);
|
||||
auto gp = static_cast<GemContextParam *>(arg);
|
||||
if (gp->param == PRELIM_I915_CONTEXT_PARAM_DEBUG_FLAGS) {
|
||||
gp->value = contextDebugSupported ? PRELIM_I915_CONTEXT_PARAM_DEBUG_FLAG_SIP << 32 : 0;
|
||||
return 0;
|
||||
@@ -194,10 +194,10 @@ int DrmMockPrelimContext::handlePrelimRequest(unsigned long request, void *arg)
|
||||
return 0;
|
||||
} break;
|
||||
case DRM_IOCTL_I915_GEM_CONTEXT_SETPARAM: {
|
||||
const auto req = reinterpret_cast<drm_i915_gem_context_param *>(arg);
|
||||
const auto req = reinterpret_cast<GemContextParam *>(arg);
|
||||
if (req->param == PRELIM_I915_CONTEXT_PARAM_DEBUG_FLAGS) {
|
||||
receivedSetContextParamValue = req->value;
|
||||
receivedSetContextParamCtxId = req->ctx_id;
|
||||
receivedSetContextParamCtxId = req->contextId;
|
||||
}
|
||||
|
||||
return !contextDebugSupported ? EINVAL : 0;
|
||||
|
||||
@@ -165,7 +165,7 @@ int DrmMockCustom::ioctl(unsigned long request, void *arg) {
|
||||
|
||||
case DRM_IOCTL_I915_GEM_CONTEXT_GETPARAM: {
|
||||
ioctl_cnt.contextGetParam++;
|
||||
auto getContextParam = (drm_i915_gem_context_param *)arg;
|
||||
auto getContextParam = static_cast<NEO::GemContextParam *>(arg);
|
||||
recordedGetContextParam = *getContextParam;
|
||||
getContextParam->value = getContextParamRetValue;
|
||||
} break;
|
||||
|
||||
@@ -201,7 +201,7 @@ class DrmMockCustom : public Drm {
|
||||
drm_i915_getparam_t recordedGetParam = {0};
|
||||
int getParamRetValue = 0;
|
||||
//DRM_IOCTL_I915_GEM_CONTEXT_GETPARAM
|
||||
drm_i915_gem_context_param recordedGetContextParam = {0};
|
||||
NEO::GemContextParam recordedGetContextParam = {0};
|
||||
__u64 getContextParamRetValue = 0;
|
||||
//DRM_IOCTL_I915_GEM_WAIT
|
||||
int64_t gemWaitTimeout = 0;
|
||||
|
||||
@@ -143,7 +143,7 @@ static void givenEngineTypeWhenBindingDrmContextThenContextParamEngineIsSet(std:
|
||||
EXPECT_EQ(static_cast<unsigned int>(I915_EXEC_DEFAULT), engineFlag);
|
||||
EXPECT_EQ(haveLocalMemory ? 4u : 3u, drm->ioctlCallsCount);
|
||||
EXPECT_EQ(1u, drm->receivedContextParamRequestCount);
|
||||
EXPECT_EQ(drmContextId, drm->receivedContextParamRequest.ctx_id);
|
||||
EXPECT_EQ(drmContextId, drm->receivedContextParamRequest.contextId);
|
||||
EXPECT_EQ(static_cast<uint64_t>(I915_CONTEXT_PARAM_ENGINES), drm->receivedContextParamRequest.param);
|
||||
EXPECT_EQ(ptrDiff(enginesStruct.engines + 1u, &enginesStruct), drm->receivedContextParamRequest.size);
|
||||
auto extensions = drm->receivedContextParamEngines.extensions;
|
||||
@@ -170,7 +170,7 @@ static void givenBcsEngineTypeWhenBindingDrmContextThenContextParamEngineIsSet(s
|
||||
auto engineFlag = drm->bindDrmContext(drmContextId, tileId, engineType, false);
|
||||
EXPECT_EQ(static_cast<unsigned int>(I915_EXEC_DEFAULT), engineFlag);
|
||||
EXPECT_EQ(1u, drm->receivedContextParamRequestCount);
|
||||
EXPECT_EQ(drmContextId, drm->receivedContextParamRequest.ctx_id);
|
||||
EXPECT_EQ(drmContextId, drm->receivedContextParamRequest.contextId);
|
||||
EXPECT_EQ(static_cast<uint64_t>(I915_CONTEXT_PARAM_ENGINES), drm->receivedContextParamRequest.param);
|
||||
auto extensions = drm->receivedContextParamEngines.extensions;
|
||||
EXPECT_NE(0ull, extensions);
|
||||
@@ -261,7 +261,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, DrmTestXeHPAndLater, givenLinkBcsEngineWithoutMainC
|
||||
} else {
|
||||
EXPECT_EQ(static_cast<unsigned int>(I915_EXEC_DEFAULT), engineFlag);
|
||||
EXPECT_EQ(1u, drm->receivedContextParamRequestCount);
|
||||
EXPECT_EQ(drmContextId, drm->receivedContextParamRequest.ctx_id);
|
||||
EXPECT_EQ(drmContextId, drm->receivedContextParamRequest.contextId);
|
||||
EXPECT_EQ(static_cast<uint64_t>(I915_CONTEXT_PARAM_ENGINES), drm->receivedContextParamRequest.param);
|
||||
auto extensions = drm->receivedContextParamEngines.extensions;
|
||||
EXPECT_NE(0ull, extensions);
|
||||
@@ -307,7 +307,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, DrmTestXeHPAndLater, giveNotAllLinkBcsEnginesWhenBi
|
||||
if (drm->supportedCopyEnginesMask.test(engineIndex)) {
|
||||
EXPECT_EQ(static_cast<unsigned int>(I915_EXEC_DEFAULT), engineFlag);
|
||||
EXPECT_EQ(1u, drm->receivedContextParamRequestCount);
|
||||
EXPECT_EQ(drmContextId, drm->receivedContextParamRequest.ctx_id);
|
||||
EXPECT_EQ(drmContextId, drm->receivedContextParamRequest.contextId);
|
||||
EXPECT_EQ(static_cast<uint64_t>(I915_CONTEXT_PARAM_ENGINES), drm->receivedContextParamRequest.param);
|
||||
auto extensions = drm->receivedContextParamEngines.extensions;
|
||||
EXPECT_NE(0ull, extensions);
|
||||
@@ -440,7 +440,7 @@ HWTEST2_F(DrmTestXeHPCAndLater, givenBcsVirtualEnginesDisabledWhenCreatingContex
|
||||
auto engineFlag = drm->bindDrmContext(drmContextId, 0u, engineType, false);
|
||||
EXPECT_EQ(static_cast<unsigned int>(I915_EXEC_DEFAULT), engineFlag);
|
||||
EXPECT_EQ(1u, drm->receivedContextParamRequestCount);
|
||||
EXPECT_EQ(drmContextId, drm->receivedContextParamRequest.ctx_id);
|
||||
EXPECT_EQ(drmContextId, drm->receivedContextParamRequest.contextId);
|
||||
EXPECT_EQ(static_cast<uint64_t>(I915_CONTEXT_PARAM_ENGINES), drm->receivedContextParamRequest.param);
|
||||
EXPECT_EQ(ptrDiff(drm->receivedContextParamEngines.engines + 1, &drm->receivedContextParamEngines), drm->receivedContextParamRequest.size);
|
||||
auto extensions = drm->receivedContextParamEngines.extensions;
|
||||
@@ -482,7 +482,7 @@ TEST(DrmTest, givenVirtualEnginesEnabledWhenCreatingContextThenEnableLoadBalanci
|
||||
auto engineFlag = drm->bindDrmContext(drmContextId, 0u, engineType, false);
|
||||
EXPECT_EQ(static_cast<unsigned int>(I915_EXEC_DEFAULT), engineFlag);
|
||||
EXPECT_EQ(1u, drm->receivedContextParamRequestCount);
|
||||
EXPECT_EQ(drmContextId, drm->receivedContextParamRequest.ctx_id);
|
||||
EXPECT_EQ(drmContextId, drm->receivedContextParamRequest.contextId);
|
||||
EXPECT_EQ(static_cast<uint64_t>(I915_CONTEXT_PARAM_ENGINES), drm->receivedContextParamRequest.param);
|
||||
EXPECT_EQ(ptrDiff(drm->receivedContextParamEngines.engines + 1 + numberOfCCS, &drm->receivedContextParamEngines), drm->receivedContextParamRequest.size);
|
||||
auto extensions = drm->receivedContextParamEngines.extensions;
|
||||
@@ -524,7 +524,7 @@ TEST(DrmTest, givenVirtualEnginesEnabledWhenCreatingContextThenEnableLoadBalanci
|
||||
auto engineFlag = drm->bindDrmContext(drmContextId, 0u, engineType, false);
|
||||
EXPECT_EQ(static_cast<unsigned int>(I915_EXEC_DEFAULT), engineFlag);
|
||||
EXPECT_EQ(1u, drm->receivedContextParamRequestCount);
|
||||
EXPECT_EQ(drmContextId, drm->receivedContextParamRequest.ctx_id);
|
||||
EXPECT_EQ(drmContextId, drm->receivedContextParamRequest.contextId);
|
||||
EXPECT_EQ(static_cast<uint64_t>(I915_CONTEXT_PARAM_ENGINES), drm->receivedContextParamRequest.param);
|
||||
EXPECT_EQ(ptrDiff(drm->receivedContextParamEngines.engines + 1 + numberOfCCS, &drm->receivedContextParamEngines), drm->receivedContextParamRequest.size);
|
||||
auto extensions = drm->receivedContextParamEngines.extensions;
|
||||
@@ -590,7 +590,7 @@ TEST(DrmTest, givenVirtualEnginesDisabledWhenCreatingContextThenDontEnableLoadBa
|
||||
auto engineFlag = drm->bindDrmContext(drmContextId, 0u, engineType, false);
|
||||
EXPECT_EQ(static_cast<unsigned int>(I915_EXEC_DEFAULT), engineFlag);
|
||||
EXPECT_EQ(1u, drm->receivedContextParamRequestCount);
|
||||
EXPECT_EQ(drmContextId, drm->receivedContextParamRequest.ctx_id);
|
||||
EXPECT_EQ(drmContextId, drm->receivedContextParamRequest.contextId);
|
||||
EXPECT_EQ(static_cast<uint64_t>(I915_CONTEXT_PARAM_ENGINES), drm->receivedContextParamRequest.param);
|
||||
EXPECT_EQ(ptrDiff(drm->receivedContextParamEngines.engines + 1, &drm->receivedContextParamEngines), drm->receivedContextParamRequest.size);
|
||||
auto extensions = drm->receivedContextParamEngines.extensions;
|
||||
@@ -621,7 +621,7 @@ TEST(DrmTest, givenEngineInstancedDeviceWhenCreatingContextThenDontUseVirtualEng
|
||||
auto engineFlag = drm->bindDrmContext(drmContextId, 0u, engineType, true);
|
||||
EXPECT_EQ(static_cast<unsigned int>(I915_EXEC_DEFAULT), engineFlag);
|
||||
EXPECT_EQ(1u, drm->receivedContextParamRequestCount);
|
||||
EXPECT_EQ(drmContextId, drm->receivedContextParamRequest.ctx_id);
|
||||
EXPECT_EQ(drmContextId, drm->receivedContextParamRequest.contextId);
|
||||
EXPECT_EQ(static_cast<uint64_t>(I915_CONTEXT_PARAM_ENGINES), drm->receivedContextParamRequest.param);
|
||||
EXPECT_EQ(ptrDiff(drm->receivedContextParamEngines.engines + 1, &drm->receivedContextParamEngines), drm->receivedContextParamRequest.size);
|
||||
auto extensions = drm->receivedContextParamEngines.extensions;
|
||||
@@ -649,7 +649,7 @@ TEST(DrmTest, givenVirtualEnginesEnabledAndNotEnoughCcsEnginesWhenCreatingContex
|
||||
|
||||
EXPECT_EQ(static_cast<unsigned int>(I915_EXEC_DEFAULT), engineFlag);
|
||||
EXPECT_EQ(1u, drm->receivedContextParamRequestCount);
|
||||
EXPECT_EQ(drmContextId, drm->receivedContextParamRequest.ctx_id);
|
||||
EXPECT_EQ(drmContextId, drm->receivedContextParamRequest.contextId);
|
||||
EXPECT_EQ(static_cast<uint64_t>(I915_CONTEXT_PARAM_ENGINES), drm->receivedContextParamRequest.param);
|
||||
EXPECT_EQ(ptrDiff(drm->receivedContextParamEngines.engines + 1, &drm->receivedContextParamEngines), drm->receivedContextParamRequest.size);
|
||||
auto extensions = drm->receivedContextParamEngines.extensions;
|
||||
@@ -675,7 +675,7 @@ TEST(DrmTest, givenVirtualEnginesEnabledAndNonCcsEnginesWhenCreatingContextThenD
|
||||
|
||||
EXPECT_EQ(static_cast<unsigned int>(I915_EXEC_DEFAULT), engineFlag);
|
||||
EXPECT_EQ(1u, drm->receivedContextParamRequestCount);
|
||||
EXPECT_EQ(drmContextId, drm->receivedContextParamRequest.ctx_id);
|
||||
EXPECT_EQ(drmContextId, drm->receivedContextParamRequest.contextId);
|
||||
EXPECT_EQ(static_cast<uint64_t>(I915_CONTEXT_PARAM_ENGINES), drm->receivedContextParamRequest.param);
|
||||
EXPECT_EQ(ptrDiff(drm->receivedContextParamEngines.engines + 1, &drm->receivedContextParamEngines), drm->receivedContextParamRequest.size);
|
||||
auto extensions = drm->receivedContextParamEngines.extensions;
|
||||
|
||||
Reference in New Issue
Block a user