Add function to detect conditions to reset CSR

Change-Id: I76d21eee26e22e841670180392c1b9262f6b59e1
This commit is contained in:
Zdanowicz, Zbigniew 2019-01-28 13:44:59 +01:00 committed by sys_ocldev
parent c878590162
commit 72da161769
2 changed files with 9 additions and 3 deletions

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2018 Intel Corporation
* Copyright (C) 2018-2019 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
@ -95,6 +95,8 @@ class CommandStreamReceiverHw : public CommandStreamReceiver {
static void emitNoop(LinearStream &commandStream, size_t bytesToUpdate);
bool detectInitProgrammingFlagsRequired(const DispatchFlags &dispatchFlags) const;
HeapDirtyState dshState;
HeapDirtyState iohState;
HeapDirtyState sshState;

View File

@ -165,7 +165,7 @@ CompletionStamp CommandStreamReceiverHw<GfxFamily>::flushTask(
if (DebugManager.flags.ForceCsrFlushing.get()) {
flushBatchedSubmissions();
}
if (DebugManager.flags.ForceCsrReprogramming.get()) {
if (detectInitProgrammingFlagsRequired(dispatchFlags)) {
initProgrammingFlags();
}
@ -407,7 +407,6 @@ CompletionStamp CommandStreamReceiverHw<GfxFamily>::flushTask(
GraphicsAllocation *chainedBatchBuffer = nullptr;
if (submitTask) {
programMediaSampler(commandStreamTask, dispatchFlags);
this->addBatchBufferEnd(commandStreamTask, &bbEndLocation);
this->emitNoop(commandStreamTask, bbEndPaddingSize);
this->alignToCacheLine(commandStreamTask);
@ -812,4 +811,9 @@ template <typename GfxFamily>
uint64_t CommandStreamReceiverHw<GfxFamily>::getScratchPatchAddress() {
return scratchSpaceController->getScratchPatchAddress();
}
template <typename GfxFamily>
bool CommandStreamReceiverHw<GfxFamily>::detectInitProgrammingFlagsRequired(const DispatchFlags &dispatchFlags) const {
return DebugManager.flags.ForceCsrReprogramming.get();
}
} // namespace OCLRT