simplify systolic mode code and reduce double implementation

Related-To: NEO-5019

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
This commit is contained in:
Zbigniew Zdanowicz
2022-09-14 13:03:02 +00:00
committed by Compute-Runtime-Automation
parent 3d4b4b5746
commit cee520b311
27 changed files with 83 additions and 109 deletions

View File

@@ -50,11 +50,15 @@ void PreambleHelper<Family>::programPipelineSelect(LinearStream *pCommandStream,
auto mask = pipelineSelectEnablePipelineSelectMaskBits | pipelineSelectMediaSamplerDopClockGateMaskBits;
auto pipeline = pipelineSelectArgs.is3DPipelineRequired ? PIPELINE_SELECT::PIPELINE_SELECTION_3D : PIPELINE_SELECT::PIPELINE_SELECTION_GPGPU;
pipelineSelectCmd.setMaskBits(mask);
pipelineSelectCmd.setPipelineSelection(pipeline);
pipelineSelectCmd.setMediaSamplerDopClockGateEnable(!pipelineSelectArgs.mediaSamplerRequired);
HwInfoConfig::get(hwInfo.platform.eProductFamily)->setAdditionalPipelineSelectFields(&pipelineSelectCmd, pipelineSelectArgs, hwInfo);
if (PreambleHelper<Family>::isSystolicModeConfigurable(hwInfo)) {
mask |= pipelineSelectSystolicModeEnableMaskBits;
pipelineSelectCmd.setSpecialModeEnable(pipelineSelectArgs.systolicPipelineSelectMode);
}
pipelineSelectCmd.setMaskBits(mask);
*cmdSpace = pipelineSelectCmd;
}