Update isLinuxCompletionFenceSupported value for XE HPG CORE

Related-To: NEO-6575

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
This commit is contained in:
Filip Hazubski
2022-01-21 13:52:04 +00:00
committed by Compute-Runtime-Automation
parent 1634ac9ec3
commit 2dc54f6fd9
6 changed files with 9 additions and 8 deletions

View File

@@ -941,6 +941,7 @@ TEST(DrmQueryTest, givenUapiPrelimVersionWithInvalidPathThenReturnEmptyString) {
TEST(DrmTest, GivenCompletionFenceDebugFlagWhenCreatingDrmObjectThenExpectCorrectSetting) {
DebugManagerStateRestore restore;
DebugManager.flags.UseVmBind.set(1);
auto executionEnvironment = std::make_unique<ExecutionEnvironment>();
executionEnvironment->prepareRootDeviceEnvironments(1);
@@ -950,7 +951,7 @@ TEST(DrmTest, GivenCompletionFenceDebugFlagWhenCreatingDrmObjectThenExpectCorrec
auto &hwHelper = HwHelper::get(hwInfo->platform.eRenderCoreFamily);
DrmMock drmDefault{*executionEnvironment->rootDeviceEnvironments[0]};
if (hwHelper.isLinuxCompletionFenceSupported()) {
if (hwHelper.isLinuxCompletionFenceSupported() && drmDefault.isVmBindAvailable()) {
EXPECT_TRUE(drmDefault.completionFenceSupport());
} else {
EXPECT_FALSE(drmDefault.completionFenceSupport());

View File

@@ -1033,7 +1033,7 @@ bool Drm::queryEngineInfo(bool isSysmanEnabled) {
bool Drm::completionFenceSupport() {
std::call_once(checkCompletionFenceOnce, [this]() {
bool support = IoctlHelper::get(this)->completionFenceExtensionSupported(*getRootDeviceEnvironment().getHardwareInfo());
bool support = IoctlHelper::get(this)->completionFenceExtensionSupported(*this, *getRootDeviceEnvironment().getHardwareInfo());
int32_t overrideCompletionFence = DebugManager.flags.EnableDrmCompletionFence.get();
if (overrideCompletionFence != -1) {
support = !!overrideCompletionFence;

View File

@@ -75,7 +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;
virtual bool completionFenceExtensionSupported(Drm &drm, const HardwareInfo &hwInfo) = 0;
};
class IoctlHelperUpstream : public IoctlHelper {
@@ -98,7 +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;
bool completionFenceExtensionSupported(Drm &drm, const HardwareInfo &hwInfo) override;
};
template <PRODUCT_FAMILY gfxProduct>
@@ -132,7 +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;
bool completionFenceExtensionSupported(Drm &drm, const HardwareInfo &hwInfo) override;
};
} // namespace NEO

View File

@@ -15,7 +15,7 @@ int IoctlHelperPrelim20::execBuffer(Drm *drm, drm_i915_gem_execbuffer2 *execBuff
return ioctl(drm, DRM_IOCTL_I915_GEM_EXECBUFFER2, execBuffer);
}
bool IoctlHelperPrelim20::completionFenceExtensionSupported(const HardwareInfo &hwInfo) {
bool IoctlHelperPrelim20::completionFenceExtensionSupported(Drm &drm, const HardwareInfo &hwInfo) {
return false;
}

View File

@@ -134,7 +134,7 @@ int IoctlHelperUpstream::execBuffer(Drm *drm, drm_i915_gem_execbuffer2 *execBuff
return ioctl(drm, DRM_IOCTL_I915_GEM_EXECBUFFER2, execBuffer);
}
bool IoctlHelperUpstream::completionFenceExtensionSupported(const HardwareInfo &hwInfo) {
bool IoctlHelperUpstream::completionFenceExtensionSupported(Drm &drm, const HardwareInfo &hwInfo) {
return false;
}

View File

@@ -111,7 +111,7 @@ bool HwHelperHw<Family>::disableL3CacheForDebug(const HardwareInfo &hwInfo) cons
template <>
inline bool HwHelperHw<Family>::isLinuxCompletionFenceSupported() const {
return false;
return true;
}
template class HwHelperHw<Family>;