Add Ftr and Wa flags

Change-Id: Ie5b2b7fdbbaedf1c548deb25173e029e40b7077e
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
This commit is contained in:
Dunajski, Bartosz
2019-09-18 21:19:08 +02:00
parent 4de1d8e589
commit 02c8f2a19e
4 changed files with 29 additions and 0 deletions

View File

@@ -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
}
};

View File

@@ -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
}
};

View File

@@ -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

View File

@@ -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