diff --git a/Source/GmmLib/Resource/GmmResourceInfoCommonEx.cpp b/Source/GmmLib/Resource/GmmResourceInfoCommonEx.cpp index f72e640..338e85c 100644 --- a/Source/GmmLib/Resource/GmmResourceInfoCommonEx.cpp +++ b/Source/GmmLib/Resource/GmmResourceInfoCommonEx.cpp @@ -87,7 +87,7 @@ bool GmmLib::GmmResourceInfoCommon::CopyClientParams(GMM_RESCREATE_PARAMS &Creat { 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 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"); // Overrides the flags. - if(GetGmmLibContext()->GetWaTable().WaDefaultTile4) + if((GetGmmLibContext()->GetWaTable().WaDefaultTile4) || (GetGmmLibContext()->GetSkuTable().FtrForceTile4)) { CreateParams.Flags.Info.Tile64 = CreateParams.Flags.Info.TiledYs || (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 // 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.Tile64 = diff --git a/Source/inc/common/sku_wa.h b/Source/inc/common/sku_wa.h index a94bb20..e464beb 100644 --- a/Source/inc/common/sku_wa.h +++ b/Source/inc/common/sku_wa.h @@ -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 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 FtrForceTile4 : 1; // Flag to force Tile4 usage as default in Tile64 supported platforms. };