Add support for DG2 256

Add support for DG2 256
This commit is contained in:
mkarigan
2022-03-29 18:08:34 +00:00
committed by igcbot
parent c202abc7cb
commit 44fe17526d
9 changed files with 176 additions and 2 deletions

View File

@ -17,6 +17,7 @@ SPDX-License-Identifier: MIT
#include "../../../skuwa/iacm_g10_rev_id.h"
#include "../../../skuwa/iacm_g11_rev_id.h"
#include "../../../skuwa/iacm_g12_rev_id.h"
namespace IGC
{
@ -163,6 +164,7 @@ bool isProductChildOf(PRODUCT_FAMILY product) const
bool supports8DWLSCMessage() const {
return (SI_WA_FROM(m_platformInfo.usRevId, ACM_G10_GT_REV_ID_B0) && m_platformInfo.eProductFamily == IGFX_DG2)
|| GFX_IS_DG2_G11_CONFIG(m_platformInfo.usDeviceID)
|| GFX_IS_DG2_G12_CONFIG(m_platformInfo.usDeviceID)
|| m_platformInfo.eProductFamily == IGFX_PVC;
}
@ -662,6 +664,7 @@ bool hasHalfSIMDLSC() const
{
return (m_platformInfo.eProductFamily == IGFX_DG2 && SI_WA_FROM(m_platformInfo.usRevId, ACM_G10_GT_REV_ID_B0)) ||
GFX_IS_DG2_G11_CONFIG(m_platformInfo.usDeviceID) ||
GFX_IS_DG2_G12_CONFIG(m_platformInfo.usDeviceID) ||
// false for PVC XL A0 RevID==0x0, true from PVC XT A0 RevID==0x3==REVISION_B
(m_platformInfo.eProductFamily == IGFX_PVC && m_platformInfo.usRevId >= REVISION_B);
}
@ -777,9 +780,14 @@ bool LSCEnabled(SIMDMode m = SIMDMode::UNKNOWN) const
if (m == SIMDMode::UNKNOWN)
{
// Must generate LSC after A0 (not include A0)
return (SI_WA_FROM(m_platformInfo.usRevId, ACM_G10_GT_REV_ID_B0) || GFX_IS_DG2_G11_CONFIG(m_platformInfo.usDeviceID));
return (SI_WA_FROM(m_platformInfo.usRevId, ACM_G10_GT_REV_ID_B0) ||
GFX_IS_DG2_G11_CONFIG(m_platformInfo.usDeviceID) ||
GFX_IS_DG2_G12_CONFIG(m_platformInfo.usDeviceID)
);
}
return ((SI_WA_FROM(m_platformInfo.usRevId, ACM_G10_GT_REV_ID_B0) || GFX_IS_DG2_G11_CONFIG(m_platformInfo.usDeviceID))
return ((SI_WA_FROM(m_platformInfo.usRevId, ACM_G10_GT_REV_ID_B0) ||
GFX_IS_DG2_G11_CONFIG(m_platformInfo.usDeviceID) ||
GFX_IS_DG2_G12_CONFIG(m_platformInfo.usDeviceID))
&& m == SIMDMode::SIMD8) ||
m == SIMDMode::SIMD16;
default:
@ -895,9 +903,11 @@ bool typedReadSupportsAllRenderableFormats() const
bool isChildOfDG2B0 = SI_WA_FROM(m_platformInfo.usRevId, ACM_G10_GT_REV_ID_B0);
bool isChildOfDG2C0 = SI_WA_FROM(m_platformInfo.usRevId, ACM_G10_GT_REV_ID_C0);
bool isDG2G11Config = GFX_IS_DG2_G11_CONFIG(m_platformInfo.usDeviceID);
bool isDG2G12Config = GFX_IS_DG2_G12_CONFIG(m_platformInfo.usDeviceID);
if ((m_platformInfo.eProductFamily == IGFX_DG2 && isChildOfDG2C0) ||
(m_platformInfo.eProductFamily == IGFX_DG2 && isDG2G11Config && isChildOfDG2B0) ||
(m_platformInfo.eProductFamily == IGFX_DG2 && isDG2G12Config ) ||
(m_platformInfo.eProductFamily == IGFX_PVC))
{
return IGC_IS_FLAG_DISABLED(ForceFormatConversionDG2Plus);
@ -1018,6 +1028,7 @@ bool supportAIParameterCombiningWithLODBiasEnabled() const
{
return IGC_IS_FLAG_ENABLED(EnableAIParameterCombiningWithLODBias) &&
(m_platformInfo.eProductFamily == IGFX_DG2 && SI_WA_FROM(m_platformInfo.usRevId, ACM_G10_GT_REV_ID_B0)) ||
GFX_IS_DG2_G12_CONFIG(m_platformInfo.usDeviceID) ||
GFX_IS_DG2_G11_CONFIG(m_platformInfo.usDeviceID);
}

View File

@ -91,6 +91,8 @@ set(IGC_BUILD__SRC__Compiler
"${IGC_BUILD__GFX_DEV_SRC_DIR}/skuwa/iacm_g10_sw_wa.c"
"${IGC_BUILD__GFX_DEV_SRC_DIR}/skuwa/iacm_g11_hw_wa.c"
"${IGC_BUILD__GFX_DEV_SRC_DIR}/skuwa/iacm_g11_sw_wa.c"
"${IGC_BUILD__GFX_DEV_SRC_DIR}/skuwa/iacm_g12_hw_wa.c"
"${IGC_BUILD__GFX_DEV_SRC_DIR}/skuwa/iacm_g12_sw_wa.c"
"${IGC_BUILD__GFX_DEV_SRC_DIR}/skuwa/ipvc_hw_wa.c"
"${IGC_BUILD__GFX_DEV_SRC_DIR}/skuwa/ipvc_xt_hw_wa.c"
"${IGC_BUILD__GFX_DEV_SRC_DIR}/skuwa/irkl_hw_wa.c"

View File

@ -103,11 +103,19 @@ namespace IGC
InitXeHPSDVSwWaTable(&waTable, pSkuFeatureTable, &stWaInitParam);
break;
case IGFX_DG2:
/* 128 */
if (TRUE == GFX_IS_DG2_G11_CONFIG(platform->getPlatformInfo().usDeviceID))
{
InitAcm_G11HwWaTable(&waTable, pSkuFeatureTable, &stWaInitParam);
InitAcm_G11SwWaTable(&waTable, pSkuFeatureTable, &stWaInitParam);
}
/* 256 */
else if (TRUE == GFX_IS_DG2_G12_CONFIG(platform->getPlatformInfo().usDeviceID))
{
InitAcm_G12HwWaTable(&waTable,pSkuFeatureTable, &stWaInitParam);
InitAcm_G12SwWaTable(&waTable,pSkuFeatureTable, &stWaInitParam);
}
/* 512 */
else
{
InitAcm_G10HwWaTable(&waTable, pSkuFeatureTable, &stWaInitParam);

View File

@ -25,6 +25,7 @@ SPDX-License-Identifier: MIT
#include "../common/EmUtils.h"
#include "../../../skuwa/iacm_g10_rev_id.h"
#include "../../../skuwa/iacm_g11_rev_id.h"
#include "../../../skuwa/iacm_g12_rev_id.h"
struct genplatform
{
@ -49,6 +50,7 @@ inline bool genplatform::hasSupportForAllOCLImageFormats() const
bool isDG2B0Plus = SI_WA_FROM(m_platformInfo->usRevId, ACM_G10_GT_REV_ID_B0);
bool isDG2C0Plus = SI_WA_FROM(m_platformInfo->usRevId, ACM_G10_GT_REV_ID_C0);
bool isDG2G11EUConfig = GFX_IS_DG2_G11_CONFIG(m_platformInfo->usDeviceID);
bool isDG2G12EUConfig = GFX_IS_DG2_G12_CONFIG(m_platformInfo->usDeviceID);
if ((m_platformInfo->eProductFamily == IGFX_DG2 && isDG2C0Plus) ||
(m_platformInfo->eProductFamily == IGFX_DG2 && isDG2G11EUConfig && isDG2B0Plus))
{

View File

@ -686,4 +686,9 @@ typedef enum __NATIVEGTTYPE
( d == DEV_ID_4F87 ) || \
( d == DEV_ID_4F88 ))
#define GFX_IS_DG2_G12_CONFIG(d) ( ( d == DEV_ID_4F85 ) || \
( d == DEV_ID_4F86 ) || \
( d == DEV_ID_56A3 ) || \
( d == DEV_ID_56A4 ))
#endif

87
skuwa/iacm_g12_hw_wa.c Normal file
View File

@ -0,0 +1,87 @@
/*========================== begin_copyright_notice ============================
Copyright (C) 2021 Intel Corporation
SPDX-License-Identifier: MIT
============================= end_copyright_notice ===========================*/
#include "wa_def.h"
#include "iacm_g12_rev_id.h"
//******************* Main Wa Initializer for ACM_G12 ********************
void InitAcm_G12HwWaTable(PWA_TABLE pWaTable, PSKU_FEATURE_TABLE pSkuTable, PWA_INIT_PARAM pWaParam)
{
int iStepId_ACM_G12 = (int)pWaParam->usRevId;
SI_WA_ENABLE(
Wa_14014414195,
"No Link Provided",
"No Link Provided",
PLATFORM_ALL,
SI_WA_BETWEEN(iStepId_ACM_G12, ACM_G12_GT_REV_ID_A0, FUTURE_PROJECT));
SI_WA_ENABLE(
Wa_16013338947,
"No Link Provided",
"No HWSightingLink provided",
PLATFORM_ALL,
SI_WA_BETWEEN(iStepId_ACM_G12, ACM_G12_GT_REV_ID_A0, FUTURE_PROJECT));
SI_WA_ENABLE(
Wa_16012061344,
"No Link Provided",
"No HWSightingLink provided",
PLATFORM_ALL,
SI_WA_BETWEEN(iStepId_ACM_G12, ACM_G12_GT_REV_ID_A0, FUTURE_PROJECT));
SI_WA_ENABLE(
Wa_14013341720,
"No Link Provided",
"No HWSightingLink provided",
PLATFORM_ALL,
SI_WA_BETWEEN(iStepId_ACM_G12, ACM_G12_GT_REV_ID_A0, FUTURE_PROJECT));
SI_WA_ENABLE(
Wa_16012292205,
"No Link Provided",
"No HWSightingLink provided",
PLATFORM_ALL,
SI_WA_BETWEEN(iStepId_ACM_G12, ACM_G12_GT_REV_ID_A0, FUTURE_PROJECT));
SI_WA_ENABLE(
Wa_22012856258,
"No Link Provided",
"No HWSightingLink provided",
PLATFORM_ALL,
SI_WA_BETWEEN(iStepId_ACM_G12, ACM_G12_GT_REV_ID_A0, FUTURE_PROJECT));
SI_WA_ENABLE(
Wa_22013689345,
"No Link Provided",
"No Link Provided",
PLATFORM_ALL,
SI_WA_BETWEEN(iStepId_ACM_G12, ACM_G12_GT_REV_ID_A0, FUTURE_PROJECT));
SI_WA_ENABLE(
Wa_22013880840,
"No Link Provided",
"No HWSightingLink provided",
PLATFORM_ALL,
SI_WA_BETWEEN(iStepId_ACM_G12, ACM_G12_GT_REV_ID_A0, FUTURE_PROJECT));
SI_WA_ENABLE(
Wa_18012201914,
"No Link Provided",
"No HWSightingLink provided",
PLATFORM_ALL,
SI_WA_BETWEEN(iStepId_ACM_G12, ACM_G12_GT_REV_ID_A0, FUTURE_PROJECT));
}

17
skuwa/iacm_g12_rev_id.h Normal file
View File

@ -0,0 +1,17 @@
/*========================== begin_copyright_notice ============================
Copyright (C) 2021 Intel Corporation
SPDX-License-Identifier: MIT
============================= end_copyright_notice ===========================*/
// Platform Revision Ids for ACM_G12
// AUTO-GENERATED FILE. DO NOT EDIT.
#include "wa_def.h"
#define ACM_G12_GT_REV_ID_A0 SI_REV_ID(0,0)

34
skuwa/iacm_g12_sw_wa.c Normal file
View File

@ -0,0 +1,34 @@
/*========================== begin_copyright_notice ============================
Copyright (C) 2021 Intel Corporation
SPDX-License-Identifier: MIT
============================= end_copyright_notice ===========================*/
#include "wa_def.h"
#include "iacm_g12_rev_id.h"
void InitAcm_G12SwWaTable(PWA_TABLE pWaTable, PSKU_FEATURE_TABLE pSkuTable, PWA_INIT_PARAM pWaParam)
{
int StepId_ACM_G12 = (int)pWaParam->usRevId;
SI_WA_ENABLE(
WaMixModeSelInstDstNotPacked,
"No HWBugLink provided",
"No Link Provided",
PLATFORM_ALL,
SI_WA_FOR_EVER);
}
#ifdef __KCH
void InitAcm_G12HASWaTable(PHW_DEVICE_EXTENSION pKchContext, PWA_TABLE pWaTable, PSKU_FEATURE_TABLE pSkuTable, PWA_INIT_PARAM pWaParam)
{
}
#endif // __KCH

View File

@ -343,6 +343,10 @@ void InitAcm_G11HwWaTable(
PWA_TABLE pWaTable,
PSKU_FEATURE_TABLE pSkuTable,
PWA_INIT_PARAM pWaParam);
void InitAcm_G12HwWaTable(
PWA_TABLE pWaTable,
PSKU_FEATURE_TABLE pSkuTable,
PWA_INIT_PARAM pWaParam);
void InitAcm_G11SwWaTable(
PWA_TABLE pWaTable,
PSKU_FEATURE_TABLE pSkuTable,
@ -351,6 +355,10 @@ void InitAcm_G10SwWaTable(
PWA_TABLE pWaTable,
PSKU_FEATURE_TABLE pSkuTable,
PWA_INIT_PARAM pWaParam);
void InitAcm_G12SwWaTable(
PWA_TABLE pWaTable,
PSKU_FEATURE_TABLE pSkuTable,
PWA_INIT_PARAM pWaParam);
void InitPvcHwWaTable(
PWA_TABLE pWaTable,
PSKU_FEATURE_TABLE pSkuTable,