2018-01-09 21:08:34 +08:00
|
|
|
/*
|
2019-02-27 18:39:32 +08:00
|
|
|
* Copyright (C) 2018-2019 Intel Corporation
|
2018-01-09 21:08:34 +08:00
|
|
|
*
|
2018-09-18 15:11:08 +08:00
|
|
|
* SPDX-License-Identifier: MIT
|
2018-01-09 21:08:34 +08:00
|
|
|
*
|
|
|
|
*/
|
2018-09-18 15:11:08 +08:00
|
|
|
|
2018-01-09 21:08:34 +08:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "runtime/gmm_helper/gmm_lib.h"
|
|
|
|
|
2019-02-27 18:39:32 +08:00
|
|
|
#include "sku_info.h"
|
|
|
|
|
2019-03-26 18:59:46 +08:00
|
|
|
namespace NEO {
|
2018-01-09 21:08:34 +08:00
|
|
|
struct SkuInfoBaseReference {
|
|
|
|
static void fillReferenceFtrForTransfer(_SKU_FEATURE_TABLE &refFtrTable) {
|
2018-04-11 05:26:25 +08:00
|
|
|
memset(&refFtrTable, 0, sizeof(refFtrTable));
|
2018-01-09 21:08:34 +08:00
|
|
|
refFtrTable.FtrStandardMipTailFormat = 1;
|
|
|
|
refFtrTable.FtrULT = 1;
|
|
|
|
refFtrTable.FtrEDram = 1;
|
|
|
|
refFtrTable.FtrFrameBufferLLC = 1;
|
|
|
|
refFtrTable.FtrCrystalwell = 1;
|
|
|
|
refFtrTable.FtrDisplayEngineS3d = 1;
|
2018-09-21 01:45:03 +08:00
|
|
|
refFtrTable.FtrTileY = 1;
|
2018-01-09 21:08:34 +08:00
|
|
|
refFtrTable.FtrDisplayYTiling = 1;
|
|
|
|
refFtrTable.FtrFbc = 1;
|
|
|
|
refFtrTable.FtrVERing = 1;
|
|
|
|
refFtrTable.FtrVcs2 = 1;
|
|
|
|
refFtrTable.FtrLCIA = 1;
|
|
|
|
refFtrTable.FtrIA32eGfxPTEs = 1;
|
|
|
|
refFtrTable.FtrWddm2GpuMmu = 1;
|
2018-04-16 19:38:24 +08:00
|
|
|
refFtrTable.FtrWddm2_1_64kbPages = 1;
|
|
|
|
|
2018-01-11 20:58:08 +08:00
|
|
|
refFtrTable.FtrTranslationTable = 1;
|
|
|
|
refFtrTable.FtrUserModeTranslationTable = 1;
|
2018-01-09 21:08:34 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void fillReferenceWaForTransfer(_WA_TABLE &refWaTable) {
|
2018-04-11 05:26:25 +08:00
|
|
|
memset(&refWaTable, 0, sizeof(refWaTable));
|
2018-01-09 21:08:34 +08:00
|
|
|
refWaTable.WaFbcLinearSurfaceStride = 1;
|
|
|
|
refWaTable.WaDisableEdramForDisplayRT = 1;
|
|
|
|
refWaTable.WaEncryptedEdramOnlyPartials = 1;
|
2018-01-11 20:58:08 +08:00
|
|
|
refWaTable.WaLosslessCompressionSurfaceStride = 1;
|
2018-01-09 21:08:34 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void fillReferenceFtrToReceive(FeatureTable &refFtrTable) {
|
|
|
|
refFtrTable = {};
|
|
|
|
refFtrTable.ftrDesktop = true;
|
|
|
|
refFtrTable.ftrChannelSwizzlingXOREnabled = true;
|
|
|
|
|
|
|
|
refFtrTable.ftrGtBigDie = true;
|
|
|
|
refFtrTable.ftrGtMediumDie = true;
|
|
|
|
refFtrTable.ftrGtSmallDie = true;
|
|
|
|
|
|
|
|
refFtrTable.ftrGT1 = true;
|
|
|
|
refFtrTable.ftrGT1_5 = true;
|
|
|
|
refFtrTable.ftrGT2 = true;
|
|
|
|
refFtrTable.ftrGT2_5 = true;
|
|
|
|
refFtrTable.ftrGT3 = true;
|
|
|
|
refFtrTable.ftrGT4 = true;
|
|
|
|
|
|
|
|
refFtrTable.ftrIVBM0M1Platform = true;
|
|
|
|
refFtrTable.ftrSGTPVSKUStrapPresent = true;
|
|
|
|
refFtrTable.ftrGTA = true;
|
|
|
|
refFtrTable.ftrGTC = true;
|
|
|
|
refFtrTable.ftrGTX = true;
|
|
|
|
refFtrTable.ftr5Slice = true;
|
|
|
|
|
|
|
|
refFtrTable.ftrGpGpuMidBatchPreempt = true;
|
|
|
|
refFtrTable.ftrGpGpuThreadGroupLevelPreempt = true;
|
|
|
|
refFtrTable.ftrGpGpuMidThreadLevelPreempt = true;
|
|
|
|
|
|
|
|
refFtrTable.ftrIoMmuPageFaulting = true;
|
|
|
|
refFtrTable.ftrWddm2Svm = true;
|
|
|
|
refFtrTable.ftrPooledEuEnabled = true;
|
|
|
|
|
|
|
|
refFtrTable.ftrResourceStreamer = true;
|
|
|
|
|
|
|
|
refFtrTable.ftrPPGTT = true;
|
|
|
|
refFtrTable.ftrSVM = true;
|
|
|
|
refFtrTable.ftrEDram = true;
|
|
|
|
refFtrTable.ftrL3IACoherency = true;
|
|
|
|
refFtrTable.ftrIA32eGfxPTEs = true;
|
|
|
|
|
|
|
|
refFtrTable.ftr3dMidBatchPreempt = true;
|
|
|
|
refFtrTable.ftr3dObjectLevelPreempt = true;
|
|
|
|
refFtrTable.ftrPerCtxtPreemptionGranularityControl = true;
|
|
|
|
|
2018-09-21 01:45:03 +08:00
|
|
|
refFtrTable.ftrTileY = true;
|
2018-01-09 21:08:34 +08:00
|
|
|
refFtrTable.ftrDisplayYTiling = true;
|
|
|
|
refFtrTable.ftrTranslationTable = true;
|
|
|
|
refFtrTable.ftrUserModeTranslationTable = true;
|
|
|
|
|
|
|
|
refFtrTable.ftrEnableGuC = true;
|
|
|
|
|
|
|
|
refFtrTable.ftrFbc = true;
|
|
|
|
refFtrTable.ftrFbc2AddressTranslation = true;
|
|
|
|
refFtrTable.ftrFbcBlitterTracking = true;
|
|
|
|
refFtrTable.ftrFbcCpuTracking = true;
|
|
|
|
|
|
|
|
refFtrTable.ftrVcs2 = true;
|
|
|
|
refFtrTable.ftrVEBOX = true;
|
|
|
|
refFtrTable.ftrSingleVeboxSlice = true;
|
|
|
|
refFtrTable.ftrULT = true;
|
|
|
|
refFtrTable.ftrLCIA = true;
|
|
|
|
refFtrTable.ftrGttCacheInvalidation = true;
|
|
|
|
refFtrTable.ftrTileMappedResource = true;
|
|
|
|
refFtrTable.ftrAstcHdr2D = true;
|
|
|
|
refFtrTable.ftrAstcLdr2D = true;
|
|
|
|
|
|
|
|
refFtrTable.ftrStandardMipTailFormat = true;
|
|
|
|
refFtrTable.ftrFrameBufferLLC = true;
|
|
|
|
refFtrTable.ftrCrystalwell = true;
|
|
|
|
refFtrTable.ftrLLCBypass = true;
|
|
|
|
refFtrTable.ftrDisplayEngineS3d = true;
|
|
|
|
refFtrTable.ftrVERing = true;
|
|
|
|
refFtrTable.ftrWddm2GpuMmu = true;
|
2018-04-16 19:38:24 +08:00
|
|
|
refFtrTable.ftrWddm2_1_64kbPages = true;
|
2018-01-31 18:22:13 +08:00
|
|
|
|
|
|
|
refFtrTable.ftrKmdDaf = true;
|
2018-07-11 16:32:17 +08:00
|
|
|
refFtrTable.ftrSimulationMode = true;
|
2018-01-09 21:08:34 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void fillReferenceWaToReceive(WorkaroundTable &refWaTable) {
|
|
|
|
refWaTable = {};
|
|
|
|
refWaTable.waDoNotUseMIReportPerfCount = true;
|
|
|
|
|
|
|
|
refWaTable.waEnablePreemptionGranularityControlByUMD = true;
|
|
|
|
refWaTable.waSendMIFLUSHBeforeVFE = true;
|
|
|
|
refWaTable.waReportPerfCountUseGlobalContextID = true;
|
|
|
|
refWaTable.waDisableLSQCROPERFforOCL = true;
|
|
|
|
refWaTable.waMsaa8xTileYDepthPitchAlignment = true;
|
|
|
|
refWaTable.waLosslessCompressionSurfaceStride = true;
|
|
|
|
refWaTable.waFbcLinearSurfaceStride = true;
|
|
|
|
refWaTable.wa4kAlignUVOffsetNV12LinearSurface = true;
|
|
|
|
refWaTable.waEncryptedEdramOnlyPartials = true;
|
|
|
|
refWaTable.waDisableEdramForDisplayRT = true;
|
|
|
|
refWaTable.waForcePcBbFullCfgRestore = true;
|
|
|
|
refWaTable.waCompressedResourceRequiresConstVA21 = true;
|
|
|
|
refWaTable.waDisablePerCtxtPreemptionGranularityControl = true;
|
|
|
|
refWaTable.waLLCCachingUnsupported = true;
|
|
|
|
refWaTable.waUseVAlign16OnTileXYBpp816 = true;
|
|
|
|
refWaTable.waModifyVFEStateAfterGPGPUPreemption = true;
|
|
|
|
refWaTable.waCSRUncachable = true;
|
2018-01-10 21:05:34 +08:00
|
|
|
refWaTable.waSamplerCacheFlushBetweenRedescribedSurfaceReads = true;
|
2018-01-09 21:08:34 +08:00
|
|
|
}
|
|
|
|
}; // namespace SkuInfoBaseReference
|
2019-03-26 18:59:46 +08:00
|
|
|
} // namespace NEO
|