From 44647af1c9c60b9f83cbdac6efb07b562cbe8e06 Mon Sep 17 00:00:00 2001 From: gfxVPLsdm Date: Tue, 8 Aug 2023 09:47:50 +0800 Subject: [PATCH] [Upstream]ARL S upstream (#5587) Co-authored-by: huangli --- _studio/mfx_lib/encode_hw/av1/av1ehw_disp.cpp | 2 ++ _studio/mfx_lib/shared/include/mfx_platform_caps.h | 2 +- _studio/mfx_lib/shared/src/mfx_common_int.cpp | 2 ++ _studio/shared/include/mfxstructures-int.h | 4 ++++ 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/_studio/mfx_lib/encode_hw/av1/av1ehw_disp.cpp b/_studio/mfx_lib/encode_hw/av1/av1ehw_disp.cpp index ce53b2f593..bd13989065 100644 --- a/_studio/mfx_lib/encode_hw/av1/av1ehw_disp.cpp +++ b/_studio/mfx_lib/encode_hw/av1/av1ehw_disp.cpp @@ -55,6 +55,8 @@ static ImplBase* CreateSpecific( impl = new AV1EHWDisp::Xe_HPM::MFXVideoENCODEAV1_HW(core, status, mode); else if (hw == MFX_HW_MTL) impl = new AV1EHWDisp::Xe_LPM_Plus::MFXVideoENCODEAV1_HW(core, status, mode); + else if (hw == MFX_HW_ARL) + impl = new AV1EHWDisp::Xe_LPM_Plus::MFXVideoENCODEAV1_HW(core, status, mode); if (impl == nullptr) diff --git a/_studio/mfx_lib/shared/include/mfx_platform_caps.h b/_studio/mfx_lib/shared/include/mfx_platform_caps.h index fb6bbbecaf..3c2d138543 100644 --- a/_studio/mfx_lib/shared/include/mfx_platform_caps.h +++ b/_studio/mfx_lib/shared/include/mfx_platform_caps.h @@ -27,7 +27,7 @@ namespace CommonCaps { inline bool IsPreSiPlatform(eMFXHWType platform, mfxU16 /*deviceId*/) { - return platform >= MFX_HW_MTL; + return platform >= MFX_HW_ARL; } inline bool IsVppSkipQuerySupported(eMFXHWType platform, mfxU16 deviceId) diff --git a/_studio/mfx_lib/shared/src/mfx_common_int.cpp b/_studio/mfx_lib/shared/src/mfx_common_int.cpp index b8cb198d7e..df356d2bf3 100644 --- a/_studio/mfx_lib/shared/src/mfx_common_int.cpp +++ b/_studio/mfx_lib/shared/src/mfx_common_int.cpp @@ -31,6 +31,7 @@ #define MFX_RT_PLATFORM_METEORLAKE 51 +#define MFX_RT_PLATFORM_ARROWLAKE 54 mfxExtBuffer* GetExtendedBuffer(mfxExtBuffer** extBuf, mfxU32 numExtBuf, mfxU32 id) { @@ -1257,6 +1258,7 @@ mfxPlatform MakePlatform(eMFXHWType type, mfxU16 device_id) platform.CodeName = MFX_PLATFORM_DG2; break; // MFX_PLATFORM_METEORLAKE is not ready in spec, use MFX_RT_PLATFORM_METEORLAKE until spec updated case MFX_HW_MTL : platform.CodeName = MFX_RT_PLATFORM_METEORLAKE; break; + case MFX_HW_ARL : platform.CodeName = MFX_RT_PLATFORM_ARROWLAKE; break; default: platform.MediaAdapterType = MFX_MEDIA_UNKNOWN; platform.CodeName = MFX_PLATFORM_UNKNOWN; break; diff --git a/_studio/shared/include/mfxstructures-int.h b/_studio/shared/include/mfxstructures-int.h index cde5c7078b..2c0b0fd10a 100644 --- a/_studio/shared/include/mfxstructures-int.h +++ b/_studio/shared/include/mfxstructures-int.h @@ -85,6 +85,7 @@ enum eMFXHWType MFX_HW_PVC = MFX_HW_XE_HP_SDV + 2, MFX_HW_MTL = 0x1700000, + MFX_HW_ARL = MFX_HW_MTL + 1, }; @@ -555,6 +556,9 @@ typedef struct { { 0x7D45, MFX_HW_MTL, MFX_GT2 }, { 0x7DE0, MFX_HW_MTL, MFX_GT2 }, + /* ARL S */ + { 0x7D67, MFX_HW_ARL, MFX_GT2 }, + }; /*