@@ -215,9 +215,9 @@ CompletionStamp CommandStreamReceiverHw<GfxFamily>::flushTask(
215215 csrSizeRequestFlags.l3ConfigChanged = this ->lastSentL3Config != newL3Config;
216216 csrSizeRequestFlags.coherencyRequestChanged = this ->lastSentCoherencyRequest != static_cast <int8_t >(dispatchFlags.requiresCoherency );
217217 csrSizeRequestFlags.preemptionRequestChanged = this ->lastPreemptionMode != dispatchFlags.preemptionMode ;
218- csrSizeRequestFlags.mediaSamplerConfigChanged = this ->lastMediaSamplerConfig != static_cast <int8_t >(dispatchFlags.mediaSamplerRequired );
218+ csrSizeRequestFlags.mediaSamplerConfigChanged = this ->lastMediaSamplerConfig != static_cast <int8_t >(dispatchFlags.pipelineSelectArgs . mediaSamplerRequired );
219219 csrSizeRequestFlags.numGrfRequiredChanged = this ->lastSentNumGrfRequired != dispatchFlags.numGrfRequired ;
220- csrSizeRequestFlags.specialPipelineSelectModeChanged = this ->lastSpecialPipelineSelectMode != dispatchFlags.specialPipelineSelectMode ;
220+ csrSizeRequestFlags.specialPipelineSelectModeChanged = this ->lastSpecialPipelineSelectMode != dispatchFlags.pipelineSelectArgs . specialPipelineSelectMode ;
221221
222222 auto force32BitAllocations = getMemoryManager ()->peekForce32BitAllocations ();
223223 bool stateBaseAddressDirty = false ;
@@ -264,7 +264,7 @@ CompletionStamp CommandStreamReceiverHw<GfxFamily>::flushTask(
264264 programPreemption (commandStreamCSR, dispatchFlags);
265265 programComputeMode (commandStreamCSR, dispatchFlags);
266266 programL3 (commandStreamCSR, dispatchFlags, newL3Config);
267- programPipelineSelect (commandStreamCSR, dispatchFlags);
267+ programPipelineSelect (commandStreamCSR, dispatchFlags. pipelineSelectArgs );
268268 programPreamble (commandStreamCSR, device, dispatchFlags, newL3Config);
269269 programMediaSampler (commandStreamCSR, dispatchFlags);
270270
@@ -607,7 +607,7 @@ size_t CommandStreamReceiverHw<GfxFamily>::getRequiredCmdStreamSize(const Dispat
607607
608608 size += getCmdSizeForL3Config ();
609609 size += getCmdSizeForComputeMode ();
610- size += getCmdSizeForMediaSampler (dispatchFlags.mediaSamplerRequired );
610+ size += getCmdSizeForMediaSampler (dispatchFlags.pipelineSelectArgs . mediaSamplerRequired );
611611 size += getCmdSizeForPipelineSelect ();
612612 size += getCmdSizeForPreemption (dispatchFlags);
613613 size += getCmdSizeForEpilogue (dispatchFlags);
@@ -635,18 +635,12 @@ size_t CommandStreamReceiverHw<GfxFamily>::getRequiredCmdStreamSize(const Dispat
635635
636636template <typename GfxFamily>
637637inline size_t CommandStreamReceiverHw<GfxFamily>::getCmdSizeForPipelineSelect() const {
638- using PIPE_CONTROL = typename GfxFamily::PIPE_CONTROL;
639- using PIPELINE_SELECT = typename GfxFamily::PIPELINE_SELECT;
640- size_t size = 0 ;
641638
639+ size_t size = 0 ;
642640 if (csrSizeRequestFlags.mediaSamplerConfigChanged ||
643641 csrSizeRequestFlags.specialPipelineSelectModeChanged ||
644642 !isPreambleSent) {
645-
646- size += sizeof (PIPELINE_SELECT);
647- if (HardwareCommandsHelper<GfxFamily>::isPipeControlPriorToPipelineSelectWArequired (peekHwInfo ())) {
648- size += sizeof (PIPE_CONTROL);
649- }
643+ size += PreambleHelper<GfxFamily>::getCmdSizeForPipelineSelect (peekHwInfo ());
650644 }
651645 return size;
652646}
0 commit comments