mirror of https://github.com/intel/gmmlib.git
Fix regression and Enable ULT for DG2 (#76)
This commit is contained in:
parent
2d5f77a6a3
commit
c594fb320f
|
@ -933,6 +933,7 @@ GMM_CACHE_POLICY *GMM_STDCALL GmmLib::Context::CreateCachePolicyCommon()
|
|||
case IGFX_GEN12LP_CORE:
|
||||
case IGFX_GEN12_CORE:
|
||||
case IGFX_XE_HP_CORE:
|
||||
case IGFX_XE_HPG_CORE:
|
||||
if(GetSkuTable().FtrLocalMemory)
|
||||
{
|
||||
pGmmCachePolicy = new GmmLib::GmmGen12dGPUCachePolicy(CachePolicy, this);
|
||||
|
@ -995,6 +996,7 @@ GMM_TEXTURE_CALC *GMM_STDCALL GmmLib::Context::CreateTextureCalc(PLATFORM Platfo
|
|||
case IGFX_GEN12LP_CORE:
|
||||
case IGFX_GEN12_CORE:
|
||||
case IGFX_XE_HP_CORE:
|
||||
case IGFX_XE_HPG_CORE:
|
||||
default:
|
||||
return new GmmGen12TextureCalc(this);
|
||||
break;
|
||||
|
@ -1017,6 +1019,7 @@ GMM_PLATFORM_INFO_CLASS *GMM_STDCALL GmmLib::Context::CreatePlatformInfo(PLATFOR
|
|||
case IGFX_GEN12LP_CORE:
|
||||
case IGFX_GEN12_CORE:
|
||||
case IGFX_XE_HP_CORE:
|
||||
case IGFX_XE_HPG_CORE:
|
||||
return new GmmLib::PlatformInfoGen12(Platform, (GMM_LIB_CONTEXT *)this);
|
||||
break;
|
||||
case IGFX_GEN11_CORE:
|
||||
|
|
|
@ -577,7 +577,7 @@ void GmmLib::GmmTextureCalc::GetResRestrictions(GMM_TEXTURE_INFO * pTexinfo,
|
|||
}
|
||||
else // only for platforms having auxtable
|
||||
{
|
||||
Restrictions.Alignment = GFX_ALIGN(Restrictions.Alignment, (WA16K(pGmmLibContext) ? GMM_KBYTE(16) : WA64K(pGmmLibContext) ? GMM_KBYTE(64) : GMM_MBYTE(1)));
|
||||
Restrictions.Alignment = GFX_ALIGN(Restrictions.Alignment, (!WA16K(pGmmLibContext) ? GMM_KBYTE(64) : GMM_KBYTE(16)));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -239,7 +239,7 @@ public:
|
|||
|
||||
static inline uint32_t l1Index(GMM_GFX_ADDRESS addr)
|
||||
{
|
||||
return GMM_AUX_L1_ENTRY_IDX_EXPORTED(addr, (const_cast<WA_TABLE &>(pGfxAdapterInfo->WaTable).WaAuxTable64KGranular), (const_cast<WA_TABLE &>(pGfxAdapterInfo->WaTable).WaAuxTable16KGranular));
|
||||
return GMM_AUX_L1_ENTRY_IDX_EXPORTED(addr, !(const_cast<WA_TABLE &>(pGfxAdapterInfo->WaTable).WaAuxTable16KGranular));
|
||||
}
|
||||
|
||||
private:
|
||||
|
|
|
@ -50,7 +50,6 @@ void CommonULT::AllocateAdapterInfo()
|
|||
memset(pGfxAdapterInfo, 0, sizeof(ADAPTER_INFO));
|
||||
|
||||
pGfxAdapterInfo->SkuTable.FtrTileY = 1;
|
||||
pGfxAdapterInfo->WaTable.WaAuxTable64KGranular = 1; // 64K aux granularity
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -46,7 +46,6 @@ void CTestGen12Resource::SetUpTestCase()
|
|||
pGfxAdapterInfo->SkuTable.FtrLinearCCS = 1; //legacy y =>0 - test both
|
||||
pGfxAdapterInfo->SkuTable.FtrTileY = 1;
|
||||
pGfxAdapterInfo->SkuTable.FtrLLCBypass = 0;
|
||||
pGfxAdapterInfo->WaTable.WaAuxTable64KGranular = 1;
|
||||
CommonULT::SetUpTestCase();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -49,7 +49,7 @@ void CTestGen12dGPUCachePolicy::SetUpGen12dGPUVariant(PRODUCT_FAMILY platform)
|
|||
|
||||
GfxPlatform.eProductFamily = platform;
|
||||
|
||||
GfxPlatform.eRenderCoreFamily = IGFX_XE_HP_CORE;
|
||||
GfxPlatform.eRenderCoreFamily = IGFX_XE_HPG_CORE;
|
||||
|
||||
pGfxAdapterInfo = (ADAPTER_INFO *)malloc(sizeof(ADAPTER_INFO));
|
||||
if(pGfxAdapterInfo)
|
||||
|
|
|
@ -46,7 +46,6 @@ void CTestGen12dGPUResource::SetUpTestCase()
|
|||
pGfxAdapterInfo->SkuTable.FtrLinearCCS = 1; //legacy y =>0 - test both
|
||||
pGfxAdapterInfo->SkuTable.FtrStandardMipTailFormat = 1;
|
||||
pGfxAdapterInfo->SkuTable.FtrTileY = 1;
|
||||
pGfxAdapterInfo->WaTable.WaAuxTable64KGranular = 1;
|
||||
CommonULT::SetUpTestCase();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -57,7 +57,7 @@ typedef struct GMM_CACHE_POLICY_ELEMENT_REC
|
|||
uint64_t UcLookup : 1; // Snoop L3 for uncached
|
||||
uint64_t L1CC : 3; // L1 Cache Control
|
||||
uint64_t Initialized : 1;
|
||||
uint64_t Reserved : 5;
|
||||
uint64_t Reserved : 34;
|
||||
|
||||
};
|
||||
uint64_t Value;
|
||||
|
|
|
@ -115,7 +115,6 @@ C_ASSERT(sizeof(GMM_AUXTTL1e) == 8);
|
|||
|
||||
//For perf, AuxTable granularity changed to 64K
|
||||
#define WA16K(pGmmLibContext) (pGmmLibContext->GetWaTable().WaAuxTable16KGranular)
|
||||
#define WA64K(pGmmLibContext) (pGmmLibContext->GetWaTable().WaAuxTable64KGranular)
|
||||
|
||||
// #L1 entries, i.e. 1024; 16K-granular ie 4 consequtive pages share Aux-cacheline;
|
||||
// HW only tracks the distinct entries;
|
||||
|
@ -132,13 +131,12 @@ C_ASSERT(sizeof(GMM_AUXTTL1e) == 8);
|
|||
|
||||
#define GMM_AUX_L1_ENTRY_IDX(GfxAddress,pGmmLibContext) \
|
||||
((((GfxAddress) & GFX_MASK_LARGE(GMM_AUX_L1_LOW_BIT, GMM_AUX_L1_HIGH_BIT)) >> \
|
||||
(uint64_t)GMM_AUX_L1_LOW_BIT) / (WA16K(pGmmLibContext) ? 1 : WA64K(pGmmLibContext) ? 4 : 64))
|
||||
(uint64_t)GMM_AUX_L1_LOW_BIT) / (!(WA16K(pGmmLibContext)) ? 4 : 1))
|
||||
|
||||
|
||||
#define GMM_AUX_L1_ENTRY_IDX_EXPORTED(GfxAddress,WA64KEx,WA16KEx) \
|
||||
#define GMM_AUX_L1_ENTRY_IDX_EXPORTED(GfxAddress,WA64KEx) \
|
||||
((((GfxAddress) & GFX_MASK_LARGE(GMM_AUX_L1_LOW_BIT, GMM_AUX_L1_HIGH_BIT)) >> \
|
||||
(uint64_t)GMM_AUX_L1_LOW_BIT) / (WA16KEx ? 1 : WA64KEx ? 4 : 64 ))
|
||||
|
||||
(uint64_t)GMM_AUX_L1_LOW_BIT) / ((WA64KEx) ? 4 : 1))
|
||||
|
||||
#define GMM_AUX_L2_ENTRY_IDX(GfxAddress) \
|
||||
(((GfxAddress) & GFX_MASK_LARGE(GMM_AUX_L2_LOW_BIT, GMM_AUX_L2_HIGH_BIT)) >> \
|
||||
|
|
Loading…
Reference in New Issue