refactor: add functions to store extra engines

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
This commit is contained in:
Bartosz Dunajski
2024-05-20 09:56:10 +00:00
committed by Compute-Runtime-Automation
parent b0a3f16fc3
commit 986ec4f7cc
3 changed files with 9 additions and 6 deletions

View File

@@ -240,12 +240,14 @@ std::unique_ptr<EngineInfo> IoctlHelperXe::createEngineInfo(bool isSysmanEnabled
engineClassInstance.engineInstance = engine.engine_instance;
xeLog("\t%s:%d:%d\n", xeGetClassName(engineClassInstance.engineClass), engineClassInstance.engineInstance, engine.gt_id);
if (engineClassInstance.engineClass == getDrmParamValue(DrmParam::engineClassCompute) ||
engineClassInstance.engineClass == getDrmParamValue(DrmParam::engineClassRender) ||
engineClassInstance.engineClass == getDrmParamValue(DrmParam::engineClassCopy) ||
(isSysmanEnabled && (engineClassInstance.engineClass == getDrmParamValue(DrmParam::engineClassVideo) ||
engineClassInstance.engineClass == getDrmParamValue(DrmParam::engineClassVideoEnhance)))) {
const bool isBaseEngineClass = engineClassInstance.engineClass == getDrmParamValue(DrmParam::engineClassCompute) ||
engineClassInstance.engineClass == getDrmParamValue(DrmParam::engineClassRender) ||
engineClassInstance.engineClass == getDrmParamValue(DrmParam::engineClassCopy);
const bool isSysmanEngineClass = isSysmanEnabled && (engineClassInstance.engineClass == getDrmParamValue(DrmParam::engineClassVideo) ||
engineClassInstance.engineClass == getDrmParamValue(DrmParam::engineClassVideoEnhance));
if (isBaseEngineClass || isSysmanEngineClass || isExtraEngineClassAllowed(engineClassInstance.engineClass)) {
if (enginesPerTile.size() <= tile) {
enginesPerTile.resize(tile + 1);
}

View File

@@ -151,6 +151,7 @@ class IoctlHelperXe : public IoctlHelper {
int debuggerMetadataDestroyIoctl(DrmIoctl request, void *arg);
void *freeDebugMetadata(void *metadata);
int getRunaloneExtProperty();
virtual bool isExtraEngineClassAllowed(uint16_t engineClass) const { return false; }
struct UserFenceExtension {
static constexpr uint32_t tagValue = 0x123987;

View File

@@ -338,7 +338,7 @@ class DrmMockXe : public DrmMockCustom {
static constexpr int32_t mockMaxExecQueuePriority = 3;
static constexpr uint32_t mockTimestampFrequency = 12500000;
static_assert(sizeof(drm_xe_engine) == 4 * sizeof(uint64_t), "");
uint64_t queryEngines[45]{}; // 1 qword for num engines and 4 qwords per engine
uint64_t queryEngines[52]{}; // 1 qword for num engines and 4 qwords per engine
static_assert(sizeof(drm_xe_mem_region) == 11 * sizeof(uint64_t), "");
uint64_t queryMemUsage[34]{}; // 1 qword for num regions and 11 qwords per region
static_assert(sizeof(drm_xe_gt) == 12 * sizeof(uint64_t), "");