Program PIPE CONTROL before _3DSTATE_BTD

Related-To: NEO-6056

Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
This commit is contained in:
Krzysztof Gibala
2021-09-30 11:10:58 +00:00
committed by Compute-Runtime-Automation
parent 0b64ecba3f
commit 9d69c70424
4 changed files with 8 additions and 0 deletions

View File

@@ -159,6 +159,7 @@ class CommandStreamReceiverHw : public CommandStreamReceiver {
void addPipeControlCmd(LinearStream &commandStream, PipeControlArgs &args); void addPipeControlCmd(LinearStream &commandStream, PipeControlArgs &args);
void addPipeControlBeforeStateBaseAddress(LinearStream &commandStream); void addPipeControlBeforeStateBaseAddress(LinearStream &commandStream);
void addPipeControlBeforeStateSip(LinearStream &commandStream, Device &device); void addPipeControlBeforeStateSip(LinearStream &commandStream, Device &device);
void addPipeControlBefore3dState(LinearStream &commandStream, DispatchFlags &dispatchFlags);
void addPipeControlPriorToNonPipelinedStateCommand(LinearStream &commandStream, PipeControlArgs args); void addPipeControlPriorToNonPipelinedStateCommand(LinearStream &commandStream, PipeControlArgs args);
size_t getSshHeapSize(); size_t getSshHeapSize();
bool are4GbHeapsAvailable() const; bool are4GbHeapsAvailable() const;

View File

@@ -350,6 +350,7 @@ CompletionStamp CommandStreamReceiverHw<GfxFamily>::flushTask(
programL3(commandStreamCSR, dispatchFlags, newL3Config); programL3(commandStreamCSR, dispatchFlags, newL3Config);
programPreamble(commandStreamCSR, device, dispatchFlags, newL3Config); programPreamble(commandStreamCSR, device, dispatchFlags, newL3Config);
programMediaSampler(commandStreamCSR, dispatchFlags); programMediaSampler(commandStreamCSR, dispatchFlags);
addPipeControlBefore3dState(commandStreamCSR, dispatchFlags);
programPerDssBackedBuffer(commandStreamCSR, device, dispatchFlags); programPerDssBackedBuffer(commandStreamCSR, device, dispatchFlags);
if (this->lastSentThreadArbitrationPolicy != this->requiredThreadArbitrationPolicy) { if (this->lastSentThreadArbitrationPolicy != this->requiredThreadArbitrationPolicy) {

View File

@@ -106,6 +106,9 @@ inline void CommandStreamReceiverHw<GfxFamily>::addPipeControlBeforeStateBaseAdd
template <typename GfxFamily> template <typename GfxFamily>
inline void CommandStreamReceiverHw<GfxFamily>::addPipeControlBeforeStateSip(LinearStream &commandStream, Device &device) {} inline void CommandStreamReceiverHw<GfxFamily>::addPipeControlBeforeStateSip(LinearStream &commandStream, Device &device) {}
template <typename GfxFamily>
inline void CommandStreamReceiverHw<GfxFamily>::addPipeControlBefore3dState(LinearStream &commandStream, DispatchFlags &dispatchFlags) {}
template <typename GfxFamily> template <typename GfxFamily>
bool CommandStreamReceiverHw<GfxFamily>::checkPlatformSupportsNewResourceImplicitFlush() const { bool CommandStreamReceiverHw<GfxFamily>::checkPlatformSupportsNewResourceImplicitFlush() const {
return false; return false;

View File

@@ -68,6 +68,9 @@ size_t CommandStreamReceiverHw<Family>::getCmdSizeForPerDssBackedBuffer(const Ha
return 0; return 0;
} }
template <>
void CommandStreamReceiverHw<Family>::addPipeControlBefore3dState(LinearStream &commandStream, DispatchFlags &dispatchFlags) {}
template <> template <>
void BlitCommandsHelper<Family>::appendClearColor(const BlitProperties &blitProperties, typename Family::XY_COPY_BLT &blitCmd) { void BlitCommandsHelper<Family>::appendClearColor(const BlitProperties &blitProperties, typename Family::XY_COPY_BLT &blitCmd) {
using XY_COPY_BLT = typename Family::XY_COPY_BLT; using XY_COPY_BLT = typename Family::XY_COPY_BLT;