diff --git a/shared/source/sku_info/operations/sku_info_transfer.h b/shared/source/sku_info/operations/sku_info_transfer.h index caaa8a58b6..700754bcfe 100644 --- a/shared/source/sku_info/operations/sku_info_transfer.h +++ b/shared/source/sku_info/operations/sku_info_transfer.h @@ -48,6 +48,7 @@ class SkuInfoTransfer { TRANSFER_FTR_TO_GMM(Ppgtt64KBWalkOptimization); TRANSFER_FTR_TO_GMM(Unified3DMediaCompressionFormats); TRANSFER_FTR_TO_GMM(57bGPUAddressing); + TRANSFER_FTR_TO_GMM(Tile64Optimization); #undef TRANSFER_FTR_TO_GMM } diff --git a/shared/source/sku_info/operations/windows/sku_info_receiver.h b/shared/source/sku_info/operations/windows/sku_info_receiver.h index f5725a18b9..0f11d7fb2f 100644 --- a/shared/source/sku_info/operations/windows/sku_info_receiver.h +++ b/shared/source/sku_info/operations/windows/sku_info_receiver.h @@ -67,6 +67,7 @@ class SkuInfoReceiver { RECEIVE_FTR(Ppgtt64KBWalkOptimization); RECEIVE_FTR(Unified3DMediaCompressionFormats); RECEIVE_FTR(57bGPUAddressing); + RECEIVE_FTR(Tile64Optimization); #undef RECEIVE_FTR } diff --git a/shared/source/sku_info/sku_info_base.h b/shared/source/sku_info/sku_info_base.h index 9bdaf028b9..448b2441c6 100644 --- a/shared/source/sku_info/sku_info_base.h +++ b/shared/source/sku_info/sku_info_base.h @@ -65,7 +65,8 @@ struct FeatureTableBase { uint32_t ftrPpgtt64KBWalkOptimization : 1; uint32_t ftrUnified3DMediaCompressionFormats : 1; uint32_t ftr57bGPUAddressing : 1; - uint32_t reserved : 23; + uint32_t ftrTile64Optimization : 1; + uint32_t reserved : 22; }; BcsInfoMask ftrBcsInfo = 1; diff --git a/shared/source/xe_hpg_core/hw_info_dg2.cpp b/shared/source/xe_hpg_core/hw_info_dg2.cpp index 81477168dc..5feddb1723 100644 --- a/shared/source/xe_hpg_core/hw_info_dg2.cpp +++ b/shared/source/xe_hpg_core/hw_info_dg2.cpp @@ -118,6 +118,7 @@ void DG2::setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo) { featureTable->flags.ftrCCSRing = true; featureTable->flags.ftrUnified3DMediaCompressionFormats = true; + featureTable->flags.ftrTile64Optimization = true; workaroundTable->flags.wa4kAlignUVOffsetNV12LinearSurface = true; }; diff --git a/shared/source/xe_hpg_core/hw_info_mtl.cpp b/shared/source/xe_hpg_core/hw_info_mtl.cpp index fb4818b080..3511aa497a 100644 --- a/shared/source/xe_hpg_core/hw_info_mtl.cpp +++ b/shared/source/xe_hpg_core/hw_info_mtl.cpp @@ -109,6 +109,7 @@ void MTL::setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo) { featureTable->flags.ftrE2ECompression = false; featureTable->flags.ftrCCSNode = true; featureTable->flags.ftrCCSRing = true; + featureTable->flags.ftrTile64Optimization = true; workaroundTable->flags.wa4kAlignUVOffsetNV12LinearSurface = true; workaroundTable->flags.waUntypedBufferCompression = true; diff --git a/shared/test/unit_test/sku_info/sku_info_base_reference.h b/shared/test/unit_test/sku_info/sku_info_base_reference.h index 027807074a..cf52527ec6 100644 --- a/shared/test/unit_test/sku_info/sku_info_base_reference.h +++ b/shared/test/unit_test/sku_info/sku_info_base_reference.h @@ -44,6 +44,7 @@ struct SkuInfoBaseReference { refFtrTable.FtrPpgtt64KBWalkOptimization = 1; refFtrTable.FtrUnified3DMediaCompressionFormats = 1; refFtrTable.Ftr57bGPUAddressing = 1; + refFtrTable.FtrTile64Optimization = 1; } static void fillReferenceWaForTransfer(_WA_TABLE &refWaTable) { @@ -111,6 +112,7 @@ struct SkuInfoBaseReference { refFtrTable.flags.ftrPpgtt64KBWalkOptimization = true; refFtrTable.flags.ftrUnified3DMediaCompressionFormats = true; refFtrTable.flags.ftr57bGPUAddressing = true; + refFtrTable.flags.ftrTile64Optimization = true; } static void fillReferenceWaToReceive(WorkaroundTable &refWaTable) { diff --git a/shared/test/unit_test/xe_hpg_core/os_agnostic_product_helper_xe_lpg_tests.cpp b/shared/test/unit_test/xe_hpg_core/os_agnostic_product_helper_xe_lpg_tests.cpp index 551a4d3010..136608d167 100644 --- a/shared/test/unit_test/xe_hpg_core/os_agnostic_product_helper_xe_lpg_tests.cpp +++ b/shared/test/unit_test/xe_hpg_core/os_agnostic_product_helper_xe_lpg_tests.cpp @@ -121,6 +121,7 @@ HWTEST2_F(XeLpgHwInfoTests, givenBoolWhenCallHardwareInfoSetupThenFeatureTableAn EXPECT_EQ(setParamBool, featureTable.flags.ftrLinearCCS); EXPECT_EQ(setParamBool, featureTable.flags.ftrCCSNode); EXPECT_EQ(setParamBool, featureTable.flags.ftrCCSRing); + EXPECT_EQ(setParamBool, featureTable.flags.ftrTile64Optimization); EXPECT_EQ(setParamBool, workaroundTable.flags.wa4kAlignUVOffsetNV12LinearSurface); EXPECT_EQ(setParamBool, workaroundTable.flags.waUntypedBufferCompression);