mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-19 06:24:51 +08:00
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:
committed by
Compute-Runtime-Automation
parent
1634ac9ec3
commit
2dc54f6fd9
@@ -941,6 +941,7 @@ TEST(DrmQueryTest, givenUapiPrelimVersionWithInvalidPathThenReturnEmptyString) {
|
|||||||
|
|
||||||
TEST(DrmTest, GivenCompletionFenceDebugFlagWhenCreatingDrmObjectThenExpectCorrectSetting) {
|
TEST(DrmTest, GivenCompletionFenceDebugFlagWhenCreatingDrmObjectThenExpectCorrectSetting) {
|
||||||
DebugManagerStateRestore restore;
|
DebugManagerStateRestore restore;
|
||||||
|
DebugManager.flags.UseVmBind.set(1);
|
||||||
|
|
||||||
auto executionEnvironment = std::make_unique<ExecutionEnvironment>();
|
auto executionEnvironment = std::make_unique<ExecutionEnvironment>();
|
||||||
executionEnvironment->prepareRootDeviceEnvironments(1);
|
executionEnvironment->prepareRootDeviceEnvironments(1);
|
||||||
@@ -950,7 +951,7 @@ TEST(DrmTest, GivenCompletionFenceDebugFlagWhenCreatingDrmObjectThenExpectCorrec
|
|||||||
auto &hwHelper = HwHelper::get(hwInfo->platform.eRenderCoreFamily);
|
auto &hwHelper = HwHelper::get(hwInfo->platform.eRenderCoreFamily);
|
||||||
|
|
||||||
DrmMock drmDefault{*executionEnvironment->rootDeviceEnvironments[0]};
|
DrmMock drmDefault{*executionEnvironment->rootDeviceEnvironments[0]};
|
||||||
if (hwHelper.isLinuxCompletionFenceSupported()) {
|
if (hwHelper.isLinuxCompletionFenceSupported() && drmDefault.isVmBindAvailable()) {
|
||||||
EXPECT_TRUE(drmDefault.completionFenceSupport());
|
EXPECT_TRUE(drmDefault.completionFenceSupport());
|
||||||
} else {
|
} else {
|
||||||
EXPECT_FALSE(drmDefault.completionFenceSupport());
|
EXPECT_FALSE(drmDefault.completionFenceSupport());
|
||||||
|
|||||||
@@ -1033,7 +1033,7 @@ bool Drm::queryEngineInfo(bool isSysmanEnabled) {
|
|||||||
|
|
||||||
bool Drm::completionFenceSupport() {
|
bool Drm::completionFenceSupport() {
|
||||||
std::call_once(checkCompletionFenceOnce, [this]() {
|
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();
|
int32_t overrideCompletionFence = DebugManager.flags.EnableDrmCompletionFence.get();
|
||||||
if (overrideCompletionFence != -1) {
|
if (overrideCompletionFence != -1) {
|
||||||
support = !!overrideCompletionFence;
|
support = !!overrideCompletionFence;
|
||||||
|
|||||||
@@ -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 uint32_t queryDistances(Drm *drm, std::vector<drm_i915_query_item> &queryItems, std::vector<DistanceInfo> &distanceInfos) = 0;
|
||||||
virtual int32_t getComputeEngineClass() = 0;
|
virtual int32_t getComputeEngineClass() = 0;
|
||||||
virtual int execBuffer(Drm *drm, drm_i915_gem_execbuffer2 *execBuffer, uint64_t completionGpuAddress, uint32_t counterValue) = 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 {
|
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;
|
uint32_t queryDistances(Drm *drm, std::vector<drm_i915_query_item> &queryItems, std::vector<DistanceInfo> &distanceInfos) override;
|
||||||
int32_t getComputeEngineClass() override;
|
int32_t getComputeEngineClass() override;
|
||||||
int execBuffer(Drm *drm, drm_i915_gem_execbuffer2 *execBuffer, uint64_t completionGpuAddress, uint32_t counterValue) 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>
|
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;
|
uint32_t queryDistances(Drm *drm, std::vector<drm_i915_query_item> &queryItems, std::vector<DistanceInfo> &distanceInfos) override;
|
||||||
int32_t getComputeEngineClass() override;
|
int32_t getComputeEngineClass() override;
|
||||||
int execBuffer(Drm *drm, drm_i915_gem_execbuffer2 *execBuffer, uint64_t completionGpuAddress, uint32_t counterValue) 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
|
} // namespace NEO
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ int IoctlHelperPrelim20::execBuffer(Drm *drm, drm_i915_gem_execbuffer2 *execBuff
|
|||||||
return ioctl(drm, DRM_IOCTL_I915_GEM_EXECBUFFER2, execBuffer);
|
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;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ int IoctlHelperUpstream::execBuffer(Drm *drm, drm_i915_gem_execbuffer2 *execBuff
|
|||||||
return ioctl(drm, DRM_IOCTL_I915_GEM_EXECBUFFER2, execBuffer);
|
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;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ bool HwHelperHw<Family>::disableL3CacheForDebug(const HardwareInfo &hwInfo) cons
|
|||||||
|
|
||||||
template <>
|
template <>
|
||||||
inline bool HwHelperHw<Family>::isLinuxCompletionFenceSupported() const {
|
inline bool HwHelperHw<Family>::isLinuxCompletionFenceSupported() const {
|
||||||
return false;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
template class HwHelperHw<Family>;
|
template class HwHelperHw<Family>;
|
||||||
|
|||||||
Reference in New Issue
Block a user