From 02c8f2a19e1df16631f086a27359e06b27ad48a2 Mon Sep 17 00:00:00 2001 From: "Dunajski, Bartosz" Date: Wed, 18 Sep 2019 21:19:08 +0200 Subject: [PATCH] Add Ftr and Wa flags Change-Id: Ie5b2b7fdbbaedf1c548deb25173e029e40b7077e Signed-off-by: Dunajski, Bartosz --- runtime/sku_info/operations/sku_info_receiver.h | 6 ++++++ runtime/sku_info/operations/sku_info_transfer.h | 5 +++++ runtime/sku_info/sku_info_base.h | 6 ++++++ unit_tests/sku_info/sku_info_base_reference.h | 12 ++++++++++++ 4 files changed, 29 insertions(+) diff --git a/runtime/sku_info/operations/sku_info_receiver.h b/runtime/sku_info/operations/sku_info_receiver.h index 2db49b1394..c8c84f5d27 100644 --- a/runtime/sku_info/operations/sku_info_receiver.h +++ b/runtime/sku_info/operations/sku_info_receiver.h @@ -94,6 +94,9 @@ class SkuInfoReceiver { RECEIVE_FTR(KmdDaf); RECEIVE_FTR(SimulationMode); + + RECEIVE_FTR(E2ECompression); + RECEIVE_FTR(LinearCCS); #undef RECEIVE_FTR } @@ -120,6 +123,9 @@ class SkuInfoReceiver { RECEIVE_WA(CSRUncachable); RECEIVE_WA(SamplerCacheFlushBetweenRedescribedSurfaceReads); RECEIVE_WA(RestrictPitch128KB); + RECEIVE_WA(AuxTable16KGranular); + RECEIVE_WA(Limit128BMediaCompr); + RECEIVE_WA(UntypedBufferCompression); #undef RECEIVE_WA } }; diff --git a/runtime/sku_info/operations/sku_info_transfer.h b/runtime/sku_info/operations/sku_info_transfer.h index fa3edb4c32..740823ff57 100644 --- a/runtime/sku_info/operations/sku_info_transfer.h +++ b/runtime/sku_info/operations/sku_info_transfer.h @@ -39,6 +39,8 @@ class SkuInfoTransfer { TRANSFER_FTR_TO_GMM(UserModeTranslationTable); TRANSFER_FTR_TO_GMM(Wddm2Svm); TRANSFER_FTR_TO_GMM(LLCBypass); + TRANSFER_FTR_TO_GMM(E2ECompression); + TRANSFER_FTR_TO_GMM(LinearCCS); #undef TRANSFER_FTR_TO_GMM } @@ -50,6 +52,9 @@ class SkuInfoTransfer { TRANSFER_WA_TO_GMM(EncryptedEdramOnlyPartials); TRANSFER_WA_TO_GMM(LosslessCompressionSurfaceStride); TRANSFER_WA_TO_GMM(RestrictPitch128KB); + TRANSFER_WA_TO_GMM(AuxTable16KGranular); + TRANSFER_WA_TO_GMM(Limit128BMediaCompr); + TRANSFER_WA_TO_GMM(UntypedBufferCompression); #undef TRANSFER_WA_TO_GMM } }; diff --git a/runtime/sku_info/sku_info_base.h b/runtime/sku_info/sku_info_base.h index 124db8c328..bf8c23c479 100644 --- a/runtime/sku_info/sku_info_base.h +++ b/runtime/sku_info/sku_info_base.h @@ -84,6 +84,9 @@ struct FeatureTableBase { bool ftrKmdDaf = false; bool ftrSimulationMode = false; + + bool ftrE2ECompression = false; + bool ftrLinearCCS = false; }; struct WorkaroundTableBase { @@ -108,5 +111,8 @@ struct WorkaroundTableBase { bool waCSRUncachable = false; bool waSamplerCacheFlushBetweenRedescribedSurfaceReads = false; bool waRestrictPitch128KB = false; + bool waLimit128BMediaCompr = false; + bool waUntypedBufferCompression = false; + bool waAuxTable16KGranular = false; }; } // namespace NEO diff --git a/unit_tests/sku_info/sku_info_base_reference.h b/unit_tests/sku_info/sku_info_base_reference.h index f487c49829..0dbbe69800 100644 --- a/unit_tests/sku_info/sku_info_base_reference.h +++ b/unit_tests/sku_info/sku_info_base_reference.h @@ -35,6 +35,9 @@ struct SkuInfoBaseReference { refFtrTable.FtrUserModeTranslationTable = 1; refFtrTable.FtrLLCBypass = 1; refFtrTable.FtrWddm2Svm = 1; + + refFtrTable.FtrE2ECompression = 1; + refFtrTable.FtrLinearCCS = 1; } static void fillReferenceWaForTransfer(_WA_TABLE &refWaTable) { @@ -44,6 +47,9 @@ struct SkuInfoBaseReference { refWaTable.WaEncryptedEdramOnlyPartials = 1; refWaTable.WaLosslessCompressionSurfaceStride = 1; refWaTable.WaRestrictPitch128KB = 1; + refWaTable.WaLimit128BMediaCompr = 1; + refWaTable.WaUntypedBufferCompression = 1; + refWaTable.WaAuxTable16KGranular = 1; } static void fillReferenceFtrToReceive(FeatureTable &refFtrTable) { @@ -122,6 +128,9 @@ struct SkuInfoBaseReference { refFtrTable.ftrKmdDaf = true; refFtrTable.ftrSimulationMode = true; + + refFtrTable.ftrE2ECompression = 1; + refFtrTable.ftrLinearCCS = 1; } static void fillReferenceWaToReceive(WorkaroundTable &refWaTable) { @@ -147,6 +156,9 @@ struct SkuInfoBaseReference { refWaTable.waCSRUncachable = true; refWaTable.waSamplerCacheFlushBetweenRedescribedSurfaceReads = true; refWaTable.waRestrictPitch128KB = true; + refWaTable.waLimit128BMediaCompr = 1; + refWaTable.waUntypedBufferCompression = 1; + refWaTable.waAuxTable16KGranular = 1; } }; // namespace SkuInfoBaseReference } // namespace NEO