mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-26 07:00:17 +08:00
Improve ftr/wa flags packing
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
1da896bee0
commit
995cb88bfa
@@ -93,41 +93,41 @@ void BXT::setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo) {
|
||||
FeatureTable *featureTable = &hwInfo->featureTable;
|
||||
WorkaroundTable *workaroundTable = &hwInfo->workaroundTable;
|
||||
|
||||
featureTable->ftrGpGpuMidBatchPreempt = true;
|
||||
featureTable->ftrGpGpuThreadGroupLevelPreempt = true;
|
||||
featureTable->ftrL3IACoherency = true;
|
||||
featureTable->ftrVEBOX = true;
|
||||
featureTable->ftrULT = true;
|
||||
featureTable->ftrGpGpuMidThreadLevelPreempt = true;
|
||||
featureTable->ftr3dMidBatchPreempt = true;
|
||||
featureTable->ftr3dObjectLevelPreempt = true;
|
||||
featureTable->ftrPerCtxtPreemptionGranularityControl = true;
|
||||
featureTable->ftrLCIA = true;
|
||||
featureTable->ftrPPGTT = true;
|
||||
featureTable->ftrIA32eGfxPTEs = true;
|
||||
featureTable->ftrDisplayYTiling = true;
|
||||
featureTable->ftrTranslationTable = true;
|
||||
featureTable->ftrUserModeTranslationTable = true;
|
||||
featureTable->ftrEnableGuC = true;
|
||||
featureTable->ftrFbc = true;
|
||||
featureTable->ftrFbc2AddressTranslation = true;
|
||||
featureTable->ftrFbcBlitterTracking = true;
|
||||
featureTable->ftrFbcCpuTracking = true;
|
||||
featureTable->ftrTileY = true;
|
||||
featureTable->flags.ftrGpGpuMidBatchPreempt = true;
|
||||
featureTable->flags.ftrGpGpuThreadGroupLevelPreempt = true;
|
||||
featureTable->flags.ftrL3IACoherency = true;
|
||||
featureTable->flags.ftrVEBOX = true;
|
||||
featureTable->flags.ftrULT = true;
|
||||
featureTable->flags.ftrGpGpuMidThreadLevelPreempt = true;
|
||||
featureTable->flags.ftr3dMidBatchPreempt = true;
|
||||
featureTable->flags.ftr3dObjectLevelPreempt = true;
|
||||
featureTable->flags.ftrPerCtxtPreemptionGranularityControl = true;
|
||||
featureTable->flags.ftrLCIA = true;
|
||||
featureTable->flags.ftrPPGTT = true;
|
||||
featureTable->flags.ftrIA32eGfxPTEs = true;
|
||||
featureTable->flags.ftrDisplayYTiling = true;
|
||||
featureTable->flags.ftrTranslationTable = true;
|
||||
featureTable->flags.ftrUserModeTranslationTable = true;
|
||||
featureTable->flags.ftrEnableGuC = true;
|
||||
featureTable->flags.ftrFbc = true;
|
||||
featureTable->flags.ftrFbc2AddressTranslation = true;
|
||||
featureTable->flags.ftrFbcBlitterTracking = true;
|
||||
featureTable->flags.ftrFbcCpuTracking = true;
|
||||
featureTable->flags.ftrTileY = true;
|
||||
|
||||
if (platform->usRevId >= 3) {
|
||||
featureTable->ftrGttCacheInvalidation = true;
|
||||
featureTable->flags.ftrGttCacheInvalidation = true;
|
||||
}
|
||||
|
||||
workaroundTable->waLLCCachingUnsupported = true;
|
||||
workaroundTable->waMsaa8xTileYDepthPitchAlignment = true;
|
||||
workaroundTable->waFbcLinearSurfaceStride = true;
|
||||
workaroundTable->wa4kAlignUVOffsetNV12LinearSurface = true;
|
||||
workaroundTable->waEnablePreemptionGranularityControlByUMD = true;
|
||||
workaroundTable->waSendMIFLUSHBeforeVFE = true;
|
||||
workaroundTable->waForcePcBbFullCfgRestore = true;
|
||||
workaroundTable->waReportPerfCountUseGlobalContextID = true;
|
||||
workaroundTable->waSamplerCacheFlushBetweenRedescribedSurfaceReads = true;
|
||||
workaroundTable->flags.waLLCCachingUnsupported = true;
|
||||
workaroundTable->flags.waMsaa8xTileYDepthPitchAlignment = true;
|
||||
workaroundTable->flags.waFbcLinearSurfaceStride = true;
|
||||
workaroundTable->flags.wa4kAlignUVOffsetNV12LinearSurface = true;
|
||||
workaroundTable->flags.waEnablePreemptionGranularityControlByUMD = true;
|
||||
workaroundTable->flags.waSendMIFLUSHBeforeVFE = true;
|
||||
workaroundTable->flags.waForcePcBbFullCfgRestore = true;
|
||||
workaroundTable->flags.waReportPerfCountUseGlobalContextID = true;
|
||||
workaroundTable->flags.waSamplerCacheFlushBetweenRedescribedSurfaceReads = true;
|
||||
}
|
||||
|
||||
const HardwareInfo BXT_1x2x6::hwInfo = {
|
||||
|
||||
@@ -87,35 +87,35 @@ void CFL::setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo) {
|
||||
FeatureTable *featureTable = &hwInfo->featureTable;
|
||||
WorkaroundTable *workaroundTable = &hwInfo->workaroundTable;
|
||||
|
||||
featureTable->ftrGpGpuMidBatchPreempt = true;
|
||||
featureTable->ftrGpGpuThreadGroupLevelPreempt = true;
|
||||
featureTable->ftrL3IACoherency = true;
|
||||
featureTable->ftrVEBOX = true;
|
||||
featureTable->ftrGpGpuMidThreadLevelPreempt = true;
|
||||
featureTable->ftr3dMidBatchPreempt = true;
|
||||
featureTable->ftr3dObjectLevelPreempt = true;
|
||||
featureTable->ftrPerCtxtPreemptionGranularityControl = true;
|
||||
featureTable->ftrPPGTT = true;
|
||||
featureTable->ftrSVM = true;
|
||||
featureTable->ftrIA32eGfxPTEs = true;
|
||||
featureTable->ftrDisplayYTiling = true;
|
||||
featureTable->ftrTranslationTable = true;
|
||||
featureTable->ftrUserModeTranslationTable = true;
|
||||
featureTable->ftrEnableGuC = true;
|
||||
featureTable->ftrFbc = true;
|
||||
featureTable->ftrFbc2AddressTranslation = true;
|
||||
featureTable->ftrFbcBlitterTracking = true;
|
||||
featureTable->ftrFbcCpuTracking = true;
|
||||
featureTable->ftrTileY = true;
|
||||
featureTable->flags.ftrGpGpuMidBatchPreempt = true;
|
||||
featureTable->flags.ftrGpGpuThreadGroupLevelPreempt = true;
|
||||
featureTable->flags.ftrL3IACoherency = true;
|
||||
featureTable->flags.ftrVEBOX = true;
|
||||
featureTable->flags.ftrGpGpuMidThreadLevelPreempt = true;
|
||||
featureTable->flags.ftr3dMidBatchPreempt = true;
|
||||
featureTable->flags.ftr3dObjectLevelPreempt = true;
|
||||
featureTable->flags.ftrPerCtxtPreemptionGranularityControl = true;
|
||||
featureTable->flags.ftrPPGTT = true;
|
||||
featureTable->flags.ftrSVM = true;
|
||||
featureTable->flags.ftrIA32eGfxPTEs = true;
|
||||
featureTable->flags.ftrDisplayYTiling = true;
|
||||
featureTable->flags.ftrTranslationTable = true;
|
||||
featureTable->flags.ftrUserModeTranslationTable = true;
|
||||
featureTable->flags.ftrEnableGuC = true;
|
||||
featureTable->flags.ftrFbc = true;
|
||||
featureTable->flags.ftrFbc2AddressTranslation = true;
|
||||
featureTable->flags.ftrFbcBlitterTracking = true;
|
||||
featureTable->flags.ftrFbcCpuTracking = true;
|
||||
featureTable->flags.ftrTileY = true;
|
||||
|
||||
workaroundTable->waEnablePreemptionGranularityControlByUMD = true;
|
||||
workaroundTable->waSendMIFLUSHBeforeVFE = true;
|
||||
workaroundTable->waReportPerfCountUseGlobalContextID = true;
|
||||
workaroundTable->waMsaa8xTileYDepthPitchAlignment = true;
|
||||
workaroundTable->waLosslessCompressionSurfaceStride = true;
|
||||
workaroundTable->waFbcLinearSurfaceStride = true;
|
||||
workaroundTable->wa4kAlignUVOffsetNV12LinearSurface = true;
|
||||
workaroundTable->waSamplerCacheFlushBetweenRedescribedSurfaceReads = true;
|
||||
workaroundTable->flags.waEnablePreemptionGranularityControlByUMD = true;
|
||||
workaroundTable->flags.waSendMIFLUSHBeforeVFE = true;
|
||||
workaroundTable->flags.waReportPerfCountUseGlobalContextID = true;
|
||||
workaroundTable->flags.waMsaa8xTileYDepthPitchAlignment = true;
|
||||
workaroundTable->flags.waLosslessCompressionSurfaceStride = true;
|
||||
workaroundTable->flags.waFbcLinearSurfaceStride = true;
|
||||
workaroundTable->flags.wa4kAlignUVOffsetNV12LinearSurface = true;
|
||||
workaroundTable->flags.waSamplerCacheFlushBetweenRedescribedSurfaceReads = true;
|
||||
}
|
||||
|
||||
const HardwareInfo CFL_1x2x6::hwInfo = {
|
||||
|
||||
@@ -87,34 +87,34 @@ void GLK::setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo) {
|
||||
FeatureTable *featureTable = &hwInfo->featureTable;
|
||||
WorkaroundTable *workaroundTable = &hwInfo->workaroundTable;
|
||||
|
||||
featureTable->ftrGpGpuMidBatchPreempt = true;
|
||||
featureTable->ftrGpGpuThreadGroupLevelPreempt = true;
|
||||
featureTable->ftrL3IACoherency = true;
|
||||
featureTable->ftrGpGpuMidThreadLevelPreempt = true;
|
||||
featureTable->ftr3dMidBatchPreempt = true;
|
||||
featureTable->ftr3dObjectLevelPreempt = true;
|
||||
featureTable->ftrPerCtxtPreemptionGranularityControl = true;
|
||||
featureTable->ftrLCIA = true;
|
||||
featureTable->ftrPPGTT = true;
|
||||
featureTable->ftrIA32eGfxPTEs = true;
|
||||
featureTable->ftrTranslationTable = true;
|
||||
featureTable->ftrUserModeTranslationTable = true;
|
||||
featureTable->ftrEnableGuC = true;
|
||||
featureTable->ftrTileMappedResource = true;
|
||||
featureTable->ftrULT = true;
|
||||
featureTable->ftrAstcHdr2D = true;
|
||||
featureTable->ftrAstcLdr2D = true;
|
||||
featureTable->ftrTileY = true;
|
||||
featureTable->flags.ftrGpGpuMidBatchPreempt = true;
|
||||
featureTable->flags.ftrGpGpuThreadGroupLevelPreempt = true;
|
||||
featureTable->flags.ftrL3IACoherency = true;
|
||||
featureTable->flags.ftrGpGpuMidThreadLevelPreempt = true;
|
||||
featureTable->flags.ftr3dMidBatchPreempt = true;
|
||||
featureTable->flags.ftr3dObjectLevelPreempt = true;
|
||||
featureTable->flags.ftrPerCtxtPreemptionGranularityControl = true;
|
||||
featureTable->flags.ftrLCIA = true;
|
||||
featureTable->flags.ftrPPGTT = true;
|
||||
featureTable->flags.ftrIA32eGfxPTEs = true;
|
||||
featureTable->flags.ftrTranslationTable = true;
|
||||
featureTable->flags.ftrUserModeTranslationTable = true;
|
||||
featureTable->flags.ftrEnableGuC = true;
|
||||
featureTable->flags.ftrTileMappedResource = true;
|
||||
featureTable->flags.ftrULT = true;
|
||||
featureTable->flags.ftrAstcHdr2D = true;
|
||||
featureTable->flags.ftrAstcLdr2D = true;
|
||||
featureTable->flags.ftrTileY = true;
|
||||
|
||||
workaroundTable->waLLCCachingUnsupported = true;
|
||||
workaroundTable->waMsaa8xTileYDepthPitchAlignment = true;
|
||||
workaroundTable->waFbcLinearSurfaceStride = true;
|
||||
workaroundTable->wa4kAlignUVOffsetNV12LinearSurface = true;
|
||||
workaroundTable->waEnablePreemptionGranularityControlByUMD = true;
|
||||
workaroundTable->waSendMIFLUSHBeforeVFE = true;
|
||||
workaroundTable->waForcePcBbFullCfgRestore = true;
|
||||
workaroundTable->waReportPerfCountUseGlobalContextID = true;
|
||||
workaroundTable->waSamplerCacheFlushBetweenRedescribedSurfaceReads = true;
|
||||
workaroundTable->flags.waLLCCachingUnsupported = true;
|
||||
workaroundTable->flags.waMsaa8xTileYDepthPitchAlignment = true;
|
||||
workaroundTable->flags.waFbcLinearSurfaceStride = true;
|
||||
workaroundTable->flags.wa4kAlignUVOffsetNV12LinearSurface = true;
|
||||
workaroundTable->flags.waEnablePreemptionGranularityControlByUMD = true;
|
||||
workaroundTable->flags.waSendMIFLUSHBeforeVFE = true;
|
||||
workaroundTable->flags.waForcePcBbFullCfgRestore = true;
|
||||
workaroundTable->flags.waReportPerfCountUseGlobalContextID = true;
|
||||
workaroundTable->flags.waSamplerCacheFlushBetweenRedescribedSurfaceReads = true;
|
||||
}
|
||||
|
||||
const HardwareInfo GLK_1x3x6::hwInfo = {
|
||||
|
||||
@@ -88,42 +88,42 @@ void KBL::setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo) {
|
||||
FeatureTable *featureTable = &hwInfo->featureTable;
|
||||
WorkaroundTable *workaroundTable = &hwInfo->workaroundTable;
|
||||
|
||||
featureTable->ftrGpGpuMidBatchPreempt = true;
|
||||
featureTable->ftrGpGpuThreadGroupLevelPreempt = true;
|
||||
featureTable->ftrL3IACoherency = true;
|
||||
featureTable->ftrVEBOX = true;
|
||||
featureTable->ftrGpGpuMidThreadLevelPreempt = true;
|
||||
featureTable->ftr3dMidBatchPreempt = true;
|
||||
featureTable->ftr3dObjectLevelPreempt = true;
|
||||
featureTable->ftrPerCtxtPreemptionGranularityControl = true;
|
||||
featureTable->ftrPPGTT = true;
|
||||
featureTable->ftrSVM = true;
|
||||
featureTable->ftrIA32eGfxPTEs = true;
|
||||
featureTable->ftrDisplayYTiling = true;
|
||||
featureTable->ftrTranslationTable = true;
|
||||
featureTable->ftrUserModeTranslationTable = true;
|
||||
featureTable->ftrEnableGuC = true;
|
||||
featureTable->ftrFbc = true;
|
||||
featureTable->ftrFbc2AddressTranslation = true;
|
||||
featureTable->ftrFbcBlitterTracking = true;
|
||||
featureTable->ftrFbcCpuTracking = true;
|
||||
featureTable->ftrTileY = true;
|
||||
featureTable->flags.ftrGpGpuMidBatchPreempt = true;
|
||||
featureTable->flags.ftrGpGpuThreadGroupLevelPreempt = true;
|
||||
featureTable->flags.ftrL3IACoherency = true;
|
||||
featureTable->flags.ftrVEBOX = true;
|
||||
featureTable->flags.ftrGpGpuMidThreadLevelPreempt = true;
|
||||
featureTable->flags.ftr3dMidBatchPreempt = true;
|
||||
featureTable->flags.ftr3dObjectLevelPreempt = true;
|
||||
featureTable->flags.ftrPerCtxtPreemptionGranularityControl = true;
|
||||
featureTable->flags.ftrPPGTT = true;
|
||||
featureTable->flags.ftrSVM = true;
|
||||
featureTable->flags.ftrIA32eGfxPTEs = true;
|
||||
featureTable->flags.ftrDisplayYTiling = true;
|
||||
featureTable->flags.ftrTranslationTable = true;
|
||||
featureTable->flags.ftrUserModeTranslationTable = true;
|
||||
featureTable->flags.ftrEnableGuC = true;
|
||||
featureTable->flags.ftrFbc = true;
|
||||
featureTable->flags.ftrFbc2AddressTranslation = true;
|
||||
featureTable->flags.ftrFbcBlitterTracking = true;
|
||||
featureTable->flags.ftrFbcCpuTracking = true;
|
||||
featureTable->flags.ftrTileY = true;
|
||||
|
||||
workaroundTable->waEnablePreemptionGranularityControlByUMD = true;
|
||||
workaroundTable->waSendMIFLUSHBeforeVFE = true;
|
||||
workaroundTable->waReportPerfCountUseGlobalContextID = true;
|
||||
workaroundTable->waMsaa8xTileYDepthPitchAlignment = true;
|
||||
workaroundTable->waLosslessCompressionSurfaceStride = true;
|
||||
workaroundTable->waFbcLinearSurfaceStride = true;
|
||||
workaroundTable->wa4kAlignUVOffsetNV12LinearSurface = true;
|
||||
workaroundTable->waSamplerCacheFlushBetweenRedescribedSurfaceReads = true;
|
||||
workaroundTable->flags.waEnablePreemptionGranularityControlByUMD = true;
|
||||
workaroundTable->flags.waSendMIFLUSHBeforeVFE = true;
|
||||
workaroundTable->flags.waReportPerfCountUseGlobalContextID = true;
|
||||
workaroundTable->flags.waMsaa8xTileYDepthPitchAlignment = true;
|
||||
workaroundTable->flags.waLosslessCompressionSurfaceStride = true;
|
||||
workaroundTable->flags.waFbcLinearSurfaceStride = true;
|
||||
workaroundTable->flags.wa4kAlignUVOffsetNV12LinearSurface = true;
|
||||
workaroundTable->flags.waSamplerCacheFlushBetweenRedescribedSurfaceReads = true;
|
||||
|
||||
if (platform->usRevId <= 0x6) {
|
||||
workaroundTable->waDisableLSQCROPERFforOCL = true;
|
||||
workaroundTable->waEncryptedEdramOnlyPartials = true;
|
||||
workaroundTable->flags.waDisableLSQCROPERFforOCL = true;
|
||||
workaroundTable->flags.waEncryptedEdramOnlyPartials = true;
|
||||
}
|
||||
if (platform->usRevId <= 0x8) {
|
||||
workaroundTable->waForcePcBbFullCfgRestore = true;
|
||||
workaroundTable->flags.waForcePcBbFullCfgRestore = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -94,51 +94,51 @@ void SKL::setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo) {
|
||||
FeatureTable *featureTable = &hwInfo->featureTable;
|
||||
WorkaroundTable *workaroundTable = &hwInfo->workaroundTable;
|
||||
|
||||
featureTable->ftrGpGpuMidBatchPreempt = true;
|
||||
featureTable->ftrGpGpuThreadGroupLevelPreempt = true;
|
||||
featureTable->ftrL3IACoherency = true;
|
||||
featureTable->ftrGpGpuMidThreadLevelPreempt = true;
|
||||
featureTable->ftr3dMidBatchPreempt = true;
|
||||
featureTable->ftr3dObjectLevelPreempt = true;
|
||||
featureTable->ftrPerCtxtPreemptionGranularityControl = true;
|
||||
featureTable->ftrPPGTT = true;
|
||||
featureTable->ftrSVM = true;
|
||||
featureTable->ftrIA32eGfxPTEs = true;
|
||||
featureTable->ftrDisplayYTiling = true;
|
||||
featureTable->ftrTranslationTable = true;
|
||||
featureTable->ftrUserModeTranslationTable = true;
|
||||
featureTable->ftrEnableGuC = true;
|
||||
featureTable->ftrFbc = true;
|
||||
featureTable->ftrFbc2AddressTranslation = true;
|
||||
featureTable->ftrFbcBlitterTracking = true;
|
||||
featureTable->ftrFbcCpuTracking = true;
|
||||
featureTable->ftrVcs2 = featureTable->ftrGT3 || featureTable->ftrGT4;
|
||||
featureTable->ftrVEBOX = true;
|
||||
featureTable->ftrSingleVeboxSlice = featureTable->ftrGT1 || featureTable->ftrGT2;
|
||||
featureTable->ftrTileY = true;
|
||||
featureTable->flags.ftrGpGpuMidBatchPreempt = true;
|
||||
featureTable->flags.ftrGpGpuThreadGroupLevelPreempt = true;
|
||||
featureTable->flags.ftrL3IACoherency = true;
|
||||
featureTable->flags.ftrGpGpuMidThreadLevelPreempt = true;
|
||||
featureTable->flags.ftr3dMidBatchPreempt = true;
|
||||
featureTable->flags.ftr3dObjectLevelPreempt = true;
|
||||
featureTable->flags.ftrPerCtxtPreemptionGranularityControl = true;
|
||||
featureTable->flags.ftrPPGTT = true;
|
||||
featureTable->flags.ftrSVM = true;
|
||||
featureTable->flags.ftrIA32eGfxPTEs = true;
|
||||
featureTable->flags.ftrDisplayYTiling = true;
|
||||
featureTable->flags.ftrTranslationTable = true;
|
||||
featureTable->flags.ftrUserModeTranslationTable = true;
|
||||
featureTable->flags.ftrEnableGuC = true;
|
||||
featureTable->flags.ftrFbc = true;
|
||||
featureTable->flags.ftrFbc2AddressTranslation = true;
|
||||
featureTable->flags.ftrFbcBlitterTracking = true;
|
||||
featureTable->flags.ftrFbcCpuTracking = true;
|
||||
featureTable->flags.ftrVcs2 = featureTable->flags.ftrGT3 || featureTable->flags.ftrGT4;
|
||||
featureTable->flags.ftrVEBOX = true;
|
||||
featureTable->flags.ftrSingleVeboxSlice = featureTable->flags.ftrGT1 || featureTable->flags.ftrGT2;
|
||||
featureTable->flags.ftrTileY = true;
|
||||
|
||||
workaroundTable->waEnablePreemptionGranularityControlByUMD = true;
|
||||
workaroundTable->waSendMIFLUSHBeforeVFE = true;
|
||||
workaroundTable->waReportPerfCountUseGlobalContextID = true;
|
||||
workaroundTable->waDisableLSQCROPERFforOCL = true;
|
||||
workaroundTable->waMsaa8xTileYDepthPitchAlignment = true;
|
||||
workaroundTable->waLosslessCompressionSurfaceStride = true;
|
||||
workaroundTable->waFbcLinearSurfaceStride = true;
|
||||
workaroundTable->wa4kAlignUVOffsetNV12LinearSurface = true;
|
||||
workaroundTable->waEncryptedEdramOnlyPartials = true;
|
||||
workaroundTable->waDisableEdramForDisplayRT = true;
|
||||
workaroundTable->waForcePcBbFullCfgRestore = true;
|
||||
workaroundTable->waSamplerCacheFlushBetweenRedescribedSurfaceReads = true;
|
||||
workaroundTable->flags.waEnablePreemptionGranularityControlByUMD = true;
|
||||
workaroundTable->flags.waSendMIFLUSHBeforeVFE = true;
|
||||
workaroundTable->flags.waReportPerfCountUseGlobalContextID = true;
|
||||
workaroundTable->flags.waDisableLSQCROPERFforOCL = true;
|
||||
workaroundTable->flags.waMsaa8xTileYDepthPitchAlignment = true;
|
||||
workaroundTable->flags.waLosslessCompressionSurfaceStride = true;
|
||||
workaroundTable->flags.waFbcLinearSurfaceStride = true;
|
||||
workaroundTable->flags.wa4kAlignUVOffsetNV12LinearSurface = true;
|
||||
workaroundTable->flags.waEncryptedEdramOnlyPartials = true;
|
||||
workaroundTable->flags.waDisableEdramForDisplayRT = true;
|
||||
workaroundTable->flags.waForcePcBbFullCfgRestore = true;
|
||||
workaroundTable->flags.waSamplerCacheFlushBetweenRedescribedSurfaceReads = true;
|
||||
|
||||
if ((1 << hwInfo->platform.usRevId) & 0x0eu) {
|
||||
workaroundTable->waCompressedResourceRequiresConstVA21 = true;
|
||||
workaroundTable->flags.waCompressedResourceRequiresConstVA21 = true;
|
||||
}
|
||||
if ((1 << hwInfo->platform.usRevId) & 0x0fu) {
|
||||
workaroundTable->waDisablePerCtxtPreemptionGranularityControl = true;
|
||||
workaroundTable->waModifyVFEStateAfterGPGPUPreemption = true;
|
||||
workaroundTable->flags.waDisablePerCtxtPreemptionGranularityControl = true;
|
||||
workaroundTable->flags.waModifyVFEStateAfterGPGPUPreemption = true;
|
||||
}
|
||||
if ((1 << hwInfo->platform.usRevId) & 0x3f) {
|
||||
workaroundTable->waCSRUncachable = true;
|
||||
workaroundTable->flags.waCSRUncachable = true;
|
||||
}
|
||||
}
|
||||
const HardwareInfo SKL_1x2x6::hwInfo = {
|
||||
|
||||
@@ -32,7 +32,7 @@ int HwInfoConfigHw<IGFX_BROXTON>::configureHardwareCustom(HardwareInfo *hwInfo,
|
||||
int enabled = 0;
|
||||
int retVal = drm->getEnabledPooledEu(enabled);
|
||||
if (retVal == 0) {
|
||||
featureTable->ftrPooledEuEnabled = (enabled != 0);
|
||||
featureTable->flags.ftrPooledEuEnabled = (enabled != 0);
|
||||
}
|
||||
if (enabled) {
|
||||
int num = 0;
|
||||
|
||||
@@ -30,7 +30,7 @@ int HwInfoConfigHw<IGFX_GEMINILAKE>::configureHardwareCustom(HardwareInfo *hwInf
|
||||
int enabled = 0;
|
||||
int retVal = drm->getEnabledPooledEu(enabled);
|
||||
if (retVal == 0) {
|
||||
featureTable->ftrPooledEuEnabled = (enabled != 0);
|
||||
featureTable->flags.ftrPooledEuEnabled = (enabled != 0);
|
||||
}
|
||||
if (enabled) {
|
||||
int num = 0;
|
||||
|
||||
@@ -55,7 +55,7 @@ void PreambleHelper<SKLFamily>::addPipeControlBeforeVfeCmd(LinearStream *pComman
|
||||
auto pipeControl = pCommandStream->getSpaceForCmd<PIPE_CONTROL>();
|
||||
PIPE_CONTROL cmd = SKLFamily::cmdInitPipeControl;
|
||||
cmd.setCommandStreamerStallEnable(true);
|
||||
if (hwInfo->workaroundTable.waSendMIFLUSHBeforeVFE) {
|
||||
if (hwInfo->workaroundTable.flags.waSendMIFLUSHBeforeVFE) {
|
||||
cmd.setRenderTargetCacheFlushEnable(true);
|
||||
cmd.setDepthCacheFlushEnable(true);
|
||||
cmd.setDcFlushEnable(true);
|
||||
|
||||
@@ -23,7 +23,7 @@ size_t PreemptionHelper::getPreemptionWaCsSize<GfxFamily>(const Device &device)
|
||||
PreemptionMode preemptionMode = device.getPreemptionMode();
|
||||
if (preemptionMode == PreemptionMode::ThreadGroup ||
|
||||
preemptionMode == PreemptionMode::MidThread) {
|
||||
if (device.getHardwareInfo().workaroundTable.waModifyVFEStateAfterGPGPUPreemption) {
|
||||
if (device.getHardwareInfo().workaroundTable.flags.waModifyVFEStateAfterGPGPUPreemption) {
|
||||
size += 2 * sizeof(MI_LOAD_REGISTER_IMM);
|
||||
}
|
||||
}
|
||||
@@ -36,7 +36,7 @@ void PreemptionHelper::applyPreemptionWaCmdsBegin<GfxFamily>(LinearStream *pComm
|
||||
PreemptionMode preemptionMode = device.getPreemptionMode();
|
||||
if (preemptionMode == PreemptionMode::ThreadGroup ||
|
||||
preemptionMode == PreemptionMode::MidThread) {
|
||||
if (device.getHardwareInfo().workaroundTable.waModifyVFEStateAfterGPGPUPreemption) {
|
||||
if (device.getHardwareInfo().workaroundTable.flags.waModifyVFEStateAfterGPGPUPreemption) {
|
||||
LriHelper<GfxFamily>::program(pCommandStream,
|
||||
CS_GPR_R0,
|
||||
GPGPU_WALKER_COOKIE_VALUE_BEFORE_WALKER,
|
||||
@@ -51,7 +51,7 @@ void PreemptionHelper::applyPreemptionWaCmdsEnd<GfxFamily>(LinearStream *pComman
|
||||
PreemptionMode preemptionMode = device.getPreemptionMode();
|
||||
if (preemptionMode == PreemptionMode::ThreadGroup ||
|
||||
preemptionMode == PreemptionMode::MidThread) {
|
||||
if (device.getHardwareInfo().workaroundTable.waModifyVFEStateAfterGPGPUPreemption) {
|
||||
if (device.getHardwareInfo().workaroundTable.flags.waModifyVFEStateAfterGPGPUPreemption) {
|
||||
LriHelper<GfxFamily>::program(pCommandStream,
|
||||
CS_GPR_R0,
|
||||
GPGPU_WALKER_COOKIE_VALUE_AFTER_WALKER,
|
||||
|
||||
Reference in New Issue
Block a user