From 9b198a113d9e0ac010622019afb5f30ed94b7564 Mon Sep 17 00:00:00 2001 From: Kamil Kopryk Date: Wed, 21 Aug 2019 14:08:51 +0200 Subject: [PATCH] Refactor getCmdSizeForPipelineSelect Change-Id: Ib601974250d4a3576bf90d74ba36c4216c3cb1af Related-To: NEO-3457 Signed-off-by: Kamil Kopryk --- Jenkinsfile | 2 +- .../command_stream_receiver_hw_base.inl | 18 ++++++++++++++++++ .../command_stream_receiver_hw_bdw_plus.inl | 8 -------- 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 21d46b3f15..39e660c2f0 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,5 +1,5 @@ #!groovy dependenciesRevision='84f51e9e5e98ed174394c17769f5f54389f4e7b6-1300' strategy='EQUAL' -allowedCD=261 +allowedCD=262 allowedF=5 diff --git a/runtime/command_stream/command_stream_receiver_hw_base.inl b/runtime/command_stream/command_stream_receiver_hw_base.inl index 58fa3ae228..c47e910daa 100644 --- a/runtime/command_stream/command_stream_receiver_hw_base.inl +++ b/runtime/command_stream/command_stream_receiver_hw_base.inl @@ -612,6 +612,24 @@ size_t CommandStreamReceiverHw::getRequiredCmdStreamSize(const Dispat return size; } +template +inline size_t CommandStreamReceiverHw::getCmdSizeForPipelineSelect() const { + using PIPE_CONTROL = typename GfxFamily::PIPE_CONTROL; + using PIPELINE_SELECT = typename GfxFamily::PIPELINE_SELECT; + size_t size = 0; + + if (csrSizeRequestFlags.mediaSamplerConfigChanged || + csrSizeRequestFlags.specialPipelineSelectModeChanged || + !isPreambleSent) { + + size += sizeof(PIPELINE_SELECT); + if (HardwareCommandsHelper::isPipeControlPriorToPipelineSelectWArequired(peekHwInfo())) { + size += sizeof(PIPE_CONTROL); + } + } + return size; +} + template inline void CommandStreamReceiverHw::emitNoop(LinearStream &commandStream, size_t bytesToUpdate) { if (bytesToUpdate) { diff --git a/runtime/command_stream/command_stream_receiver_hw_bdw_plus.inl b/runtime/command_stream/command_stream_receiver_hw_bdw_plus.inl index d64fe6d463..7300e53274 100644 --- a/runtime/command_stream/command_stream_receiver_hw_bdw_plus.inl +++ b/runtime/command_stream/command_stream_receiver_hw_bdw_plus.inl @@ -53,14 +53,6 @@ void CommandStreamReceiverHw::programPipelineSelect(LinearStream &com } } -template -inline size_t CommandStreamReceiverHw::getCmdSizeForPipelineSelect() const { - if (csrSizeRequestFlags.mediaSamplerConfigChanged || !isPreambleSent) { - return sizeof(typename GfxFamily::PIPELINE_SELECT); - } - return 0; -} - template void CommandStreamReceiverHw::createScratchSpaceController() { scratchSpaceController = std::make_unique(executionEnvironment, *internalAllocationStorage.get());