Add PipeControl prior to PipelineSelect WA

Change-Id: Id793ef5b6e7ef771b5b7a1d0fde1fb6aef6e7a5a
Related-To: NEO-3457
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
This commit is contained in:
Kamil Kopryk
2019-08-19 15:01:00 +02:00
committed by sys_ocldev
parent cb93dd8d06
commit 5c6517b6b5
8 changed files with 56 additions and 8 deletions

View File

@@ -28,13 +28,19 @@ uint32_t PreambleHelper<ICLFamily>::getL3Config(const HardwareInfo &hwInfo, bool
}
template <>
void PreambleHelper<ICLFamily>::programPipelineSelect(LinearStream *pCommandStream, const DispatchFlags &dispatchFlags) {
void PreambleHelper<ICLFamily>::programPipelineSelect(LinearStream *pCommandStream,
const DispatchFlags &dispatchFlags,
const HardwareInfo &hwInfo) {
typedef typename ICLFamily::PIPELINE_SELECT PIPELINE_SELECT;
auto pCmd = (PIPELINE_SELECT *)pCommandStream->getSpace(sizeof(PIPELINE_SELECT));
*pCmd = ICLFamily::cmdInitPipelineSelect;
auto mask = pipelineSelectEnablePipelineSelectMaskBits | pipelineSelectMediaSamplerDopClockGateMaskBits | pipelineSelectMediaSamplerPowerClockGateMaskBits;
auto mask = pipelineSelectEnablePipelineSelectMaskBits |
pipelineSelectMediaSamplerDopClockGateMaskBits |
pipelineSelectMediaSamplerPowerClockGateMaskBits;
pCmd->setMaskBits(mask);
pCmd->setPipelineSelection(PIPELINE_SELECT::PIPELINE_SELECTION_GPGPU);
pCmd->setMediaSamplerDopClockGateEnable(!dispatchFlags.mediaSamplerRequired);