Add forceful fallback to support Tile4 using an Ftr flag

This commit is contained in:
John Machado 2023-03-08 18:15:13 +05:30 committed by GitHub
parent 1bd94861a4
commit 330fef0082
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 4 deletions

View File

@ -87,7 +87,7 @@ bool GmmLib::GmmResourceInfoCommon::CopyClientParams(GMM_RESCREATE_PARAMS &Creat
{ {
GMM_ASSERTDPF(!CreateParams.Flags.Info.StdSwizzle, "StdSwizzle not supported on current platform"); GMM_ASSERTDPF(!CreateParams.Flags.Info.StdSwizzle, "StdSwizzle not supported on current platform");
if(!GetGmmLibContext()->GetWaTable().WaDefaultTile4) if((!GetGmmLibContext()->GetWaTable().WaDefaultTile4) || (!GetGmmLibContext()->GetSkuTable().FtrForceTile4))
{ {
// Default Tiling is set to Tile64 on FtrTileY disabled platforms // Default Tiling is set to Tile64 on FtrTileY disabled platforms
uint8_t IsYUVSurface = ((GmmIsPlanar(CreateParams.Format) && uint8_t IsYUVSurface = ((GmmIsPlanar(CreateParams.Format) &&
@ -121,7 +121,7 @@ bool GmmLib::GmmResourceInfoCommon::CopyClientParams(GMM_RESCREATE_PARAMS &Creat
GMM_ASSERTDPF(0, "Tile Yf/Ys not supported on given platform"); GMM_ASSERTDPF(0, "Tile Yf/Ys not supported on given platform");
// Overrides the flags. // Overrides the flags.
if(GetGmmLibContext()->GetWaTable().WaDefaultTile4) if((GetGmmLibContext()->GetWaTable().WaDefaultTile4) || (GetGmmLibContext()->GetSkuTable().FtrForceTile4))
{ {
CreateParams.Flags.Info.Tile64 = CreateParams.Flags.Info.TiledYs || CreateParams.Flags.Info.Tile64 = CreateParams.Flags.Info.TiledYs ||
(CreateParams.MSAA.NumSamples > 1) || CreateParams.Flags.Gpu.TiledResource; // Colour & Depth/Stencil(IMS) MSAA should use Tile64 (CreateParams.MSAA.NumSamples > 1) || CreateParams.Flags.Gpu.TiledResource; // Colour & Depth/Stencil(IMS) MSAA should use Tile64
@ -144,7 +144,7 @@ bool GmmLib::GmmResourceInfoCommon::CopyClientParams(GMM_RESCREATE_PARAMS &Creat
// On Xe_HP onwards translate UMD's TileY/TileYs request to Tile4/Tile64 respectively // On Xe_HP onwards translate UMD's TileY/TileYs request to Tile4/Tile64 respectively
// Exclude TileX, Linear from override // Exclude TileX, Linear from override
if(GetGmmLibContext()->GetWaTable().WaDefaultTile4 && (CreateParams.Flags.Info.TiledYs || if((GetGmmLibContext()->GetWaTable().WaDefaultTile4 || GetGmmLibContext()->GetSkuTable().FtrForceTile4) && (CreateParams.Flags.Info.TiledYs ||
CreateParams.Flags.Info.TiledY)) CreateParams.Flags.Info.TiledY))
{ {
CreateParams.Flags.Info.Tile64 = CreateParams.Flags.Info.Tile64 =

View File

@ -107,7 +107,7 @@ typedef struct _SKU_FEATURE_TABLE
unsigned int FtrDisplayPageTables : 1; // Display Page Tables: 2-Level Page walk for Displayable Frame buffers in GGTT. unsigned int FtrDisplayPageTables : 1; // Display Page Tables: 2-Level Page walk for Displayable Frame buffers in GGTT.
unsigned int Ftr57bGPUAddressing : 1; // 57b GPUVA support eg: PVC unsigned int Ftr57bGPUAddressing : 1; // 57b GPUVA support eg: PVC
unsigned int FtrUnified3DMediaCompressionFormats : 1; // DG2 has unified Render/media compression(versus TGLLP/XeHP_SDV 's multiple instances) and requires changes to RC format h/w encodings. unsigned int FtrUnified3DMediaCompressionFormats : 1; // DG2 has unified Render/media compression(versus TGLLP/XeHP_SDV 's multiple instances) and requires changes to RC format h/w encodings.
unsigned int FtrForceTile4 : 1; // Flag to force Tile4 usage as default in Tile64 supported platforms.
}; };