mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-15 13:01:45 +08:00
Use queryEngineInfo with prelim ioctls
If prelim kernel is being used, query engines with prelim ioctls. Signed-off-by: Szymon Morek <szymon.morek@intel.com>
This commit is contained in:

committed by
Compute-Runtime-Automation

parent
a18c706408
commit
6258575e5e
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2021 Intel Corporation
|
||||
* Copyright (C) 2021-2022 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@ -13,6 +13,7 @@
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
struct drm_i915_query_item;
|
||||
namespace NEO {
|
||||
class Drm;
|
||||
class IoctlHelper;
|
||||
@ -36,6 +37,11 @@ struct MemoryRegion {
|
||||
uint64_t unallocatedSize;
|
||||
};
|
||||
|
||||
struct EngineCapabilities {
|
||||
EngineClassInstance engine;
|
||||
uint64_t capabilities;
|
||||
};
|
||||
|
||||
struct DistanceInfo {
|
||||
MemoryClassInstance region;
|
||||
EngineClassInstance engine;
|
||||
@ -61,6 +67,9 @@ class IoctlHelper {
|
||||
virtual bool setVmBoAdvise(Drm *drm, int32_t handle, uint32_t attribute, void *region) = 0;
|
||||
virtual uint32_t getDirectSubmissionFlag() = 0;
|
||||
virtual int32_t getMemRegionsIoctlVal() = 0;
|
||||
virtual int32_t getEngineInfoIoctlVal() = 0;
|
||||
virtual std::vector<EngineCapabilities> translateToEngineCaps(const std::vector<uint8_t> &data) = 0;
|
||||
virtual uint32_t queryDistances(Drm *drm, std::vector<drm_i915_query_item> &queryItems, std::vector<DistanceInfo> &distanceInfos) = 0;
|
||||
};
|
||||
|
||||
class IoctlHelperUpstream : public IoctlHelper {
|
||||
@ -78,6 +87,9 @@ class IoctlHelperUpstream : public IoctlHelper {
|
||||
bool setVmBoAdvise(Drm *drm, int32_t handle, uint32_t attribute, void *region) override;
|
||||
uint32_t getDirectSubmissionFlag() override;
|
||||
int32_t getMemRegionsIoctlVal() override;
|
||||
int32_t getEngineInfoIoctlVal() override;
|
||||
std::vector<EngineCapabilities> translateToEngineCaps(const std::vector<uint8_t> &data) override;
|
||||
uint32_t queryDistances(Drm *drm, std::vector<drm_i915_query_item> &queryItems, std::vector<DistanceInfo> &distanceInfos) override;
|
||||
};
|
||||
|
||||
template <PRODUCT_FAMILY gfxProduct>
|
||||
@ -106,6 +118,9 @@ class IoctlHelperPrelim20 : public IoctlHelper {
|
||||
bool setVmBoAdvise(Drm *drm, int32_t handle, uint32_t attribute, void *region) override;
|
||||
uint32_t getDirectSubmissionFlag() override;
|
||||
int32_t getMemRegionsIoctlVal() override;
|
||||
int32_t getEngineInfoIoctlVal() override;
|
||||
std::vector<EngineCapabilities> translateToEngineCaps(const std::vector<uint8_t> &data) override;
|
||||
uint32_t queryDistances(Drm *drm, std::vector<drm_i915_query_item> &queryItems, std::vector<DistanceInfo> &distanceInfos) override;
|
||||
};
|
||||
|
||||
} // namespace NEO
|
||||
|
Reference in New Issue
Block a user