Add tweaks and control flags to linux completion fence

Related-To: NEO-6575

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
This commit is contained in:
Zbigniew Zdanowicz
2022-01-20 18:13:07 +00:00
committed by Compute-Runtime-Automation
parent fdef257b01
commit a7455b5767
26 changed files with 407 additions and 34 deletions

View File

@ -20,6 +20,7 @@ namespace NEO {
class Drm;
class IoctlHelper;
enum class CacheRegion : uint16_t;
struct HardwareInfo;
extern IoctlHelper *ioctlHelperFactory[IGFX_MAX_PRODUCT];
@ -74,6 +75,7 @@ class IoctlHelper {
virtual uint32_t queryDistances(Drm *drm, std::vector<drm_i915_query_item> &queryItems, std::vector<DistanceInfo> &distanceInfos) = 0;
virtual int32_t getComputeEngineClass() = 0;
virtual int execBuffer(Drm *drm, drm_i915_gem_execbuffer2 *execBuffer, uint64_t completionGpuAddress, uint32_t counterValue) = 0;
virtual bool completionFenceExtensionSupported(const HardwareInfo &hwInfo) = 0;
};
class IoctlHelperUpstream : public IoctlHelper {
@ -96,6 +98,7 @@ class IoctlHelperUpstream : public IoctlHelper {
uint32_t queryDistances(Drm *drm, std::vector<drm_i915_query_item> &queryItems, std::vector<DistanceInfo> &distanceInfos) override;
int32_t getComputeEngineClass() override;
int execBuffer(Drm *drm, drm_i915_gem_execbuffer2 *execBuffer, uint64_t completionGpuAddress, uint32_t counterValue) override;
bool completionFenceExtensionSupported(const HardwareInfo &hwInfo) override;
};
template <PRODUCT_FAMILY gfxProduct>
@ -129,6 +132,7 @@ class IoctlHelperPrelim20 : public IoctlHelper {
uint32_t queryDistances(Drm *drm, std::vector<drm_i915_query_item> &queryItems, std::vector<DistanceInfo> &distanceInfos) override;
int32_t getComputeEngineClass() override;
int execBuffer(Drm *drm, drm_i915_gem_execbuffer2 *execBuffer, uint64_t completionGpuAddress, uint32_t counterValue) override;
bool completionFenceExtensionSupported(const HardwareInfo &hwInfo) override;
};
} // namespace NEO