Enable direct submission by default on XE HP

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
This commit is contained in:
Lukasz Jobczyk
2021-07-08 14:02:45 +00:00
committed by Compute-Runtime-Automation
parent bda6e3d5bf
commit 3c842575c1
6 changed files with 33 additions and 5 deletions

View File

@@ -137,7 +137,7 @@ class HwHelper {
virtual bool isCpuImageTransferPreferred(const HardwareInfo &hwInfo) const = 0;
virtual bool isKmdMigrationSupported(const HardwareInfo &hwInfo) const = 0;
virtual bool isNewResidencyModelSupported() const = 0;
virtual bool isDirectSubmissionSupported() const = 0;
virtual bool isDirectSubmissionSupported(const HardwareInfo &hwInfo) const = 0;
virtual aub_stream::MMIOList getExtraMmioList(const HardwareInfo &hwInfo, const GmmHelper &gmmHelper) const = 0;
virtual uint32_t getDefaultRevisionId(const HardwareInfo &hwInfo) const = 0;
virtual uint32_t getNumCacheRegions() const = 0;
@@ -348,7 +348,7 @@ class HwHelperHw : public HwHelper {
bool isNewResidencyModelSupported() const override;
bool isDirectSubmissionSupported() const override;
bool isDirectSubmissionSupported(const HardwareInfo &hwInfo) const override;
bool isCopyOnlyEngineType(EngineGroupType type) const override;

View File

@@ -604,7 +604,7 @@ bool HwHelperHw<GfxFamily>::isNewResidencyModelSupported() const {
}
template <typename GfxFamily>
bool HwHelperHw<GfxFamily>::isDirectSubmissionSupported() const {
bool HwHelperHw<GfxFamily>::isDirectSubmissionSupported(const HardwareInfo &hwInfo) const {
return false;
}

View File

@@ -80,7 +80,7 @@ void OsContextLinux::initializeContext() {
bool OsContextLinux::isDirectSubmissionSupported(const HardwareInfo &hwInfo) const {
auto &hwHelper = HwHelper::get(hwInfo.platform.eRenderCoreFamily);
return this->getDrm().isVmBindAvailable() && hwHelper.isDirectSubmissionSupported();
return this->getDrm().isVmBindAvailable() && hwHelper.isDirectSubmissionSupported(hwInfo);
}
Drm &OsContextLinux::getDrm() const {

View File

@@ -71,6 +71,14 @@ uint32_t HwHelperHw<Family>::getHwRevIdFromStepping(uint32_t stepping, const Har
return CommonConstants::invalidStepping;
}
template <>
bool HwHelperHw<Family>::isDirectSubmissionSupported(const HardwareInfo &hwInfo) const {
if (hwInfo.platform.usRevId < getHwRevIdFromStepping(REVISION_B, hwInfo)) {
return false;
}
return true;
}
template <>
uint32_t HwHelperHw<Family>::getSteppingFromHwRevId(const HardwareInfo &hwInfo) const {
if (hwInfo.platform.eProductFamily == PRODUCT_FAMILY::IGFX_XE_HP_SDV) {