mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-18 22:08:53 +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) {
|
||||
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());
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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>;
|
||||
|
||||
Reference in New Issue
Block a user