mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-24 21:18:24 +08:00
Remove redundant coherency variables for SCM
Remove CommandStreamReceiver::lastSentCoherencyRequest Remove CsrSizeRequestFlags::coherencyRequestChanged Related-To: NEO-5995 Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
7b4c37e50d
commit
3511b4755f
@@ -376,7 +376,6 @@ void CommandStreamReceiver::initProgrammingFlags() {
|
||||
lastVmeSubslicesConfig = false;
|
||||
|
||||
lastSentL3Config = 0;
|
||||
lastSentCoherencyRequest = -1;
|
||||
lastMediaSamplerConfig = -1;
|
||||
lastPreemptionMode = PreemptionMode::Initial;
|
||||
latestSentStatelessMocsConfig = 0;
|
||||
|
||||
@@ -383,7 +383,6 @@ class CommandStreamReceiver {
|
||||
const uint32_t rootDeviceIndex;
|
||||
const DeviceBitfield deviceBitfield;
|
||||
|
||||
int8_t lastSentCoherencyRequest = -1;
|
||||
int8_t lastMediaSamplerConfig = -1;
|
||||
|
||||
bool isPreambleSent = false;
|
||||
|
||||
@@ -269,7 +269,6 @@ CompletionStamp CommandStreamReceiverHw<GfxFamily>::flushTask(
|
||||
this->requiredThreadArbitrationPolicy);
|
||||
|
||||
csrSizeRequestFlags.l3ConfigChanged = this->lastSentL3Config != newL3Config;
|
||||
csrSizeRequestFlags.coherencyRequestChanged = this->lastSentCoherencyRequest != static_cast<int8_t>(dispatchFlags.requiresCoherency);
|
||||
csrSizeRequestFlags.preemptionRequestChanged = this->lastPreemptionMode != dispatchFlags.preemptionMode;
|
||||
csrSizeRequestFlags.mediaSamplerConfigChanged = this->lastMediaSamplerConfig != static_cast<int8_t>(dispatchFlags.pipelineSelectArgs.mediaSamplerRequired);
|
||||
csrSizeRequestFlags.specialPipelineSelectModeChanged = isSpecialPipelineSelectModeChanged;
|
||||
|
||||
@@ -19,7 +19,6 @@ void CommandStreamReceiverHw<GfxFamily>::programComputeMode(LinearStream &stream
|
||||
using PIPE_CONTROL = typename GfxFamily::PIPE_CONTROL;
|
||||
if (isComputeModeNeeded()) {
|
||||
programAdditionalPipelineSelect(stream, dispatchFlags.pipelineSelectArgs, true);
|
||||
this->lastSentCoherencyRequest = static_cast<int8_t>(dispatchFlags.requiresCoherency);
|
||||
|
||||
auto hwInfoConfig = HwInfoConfig::get(hwInfo.platform.eProductFamily);
|
||||
if (hwInfoConfig->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs())) {
|
||||
@@ -40,7 +39,8 @@ void CommandStreamReceiverHw<GfxFamily>::programComputeMode(LinearStream &stream
|
||||
|
||||
template <>
|
||||
inline bool CommandStreamReceiverHw<Family>::isComputeModeNeeded() const {
|
||||
return StateComputeModeHelper<Family>::isStateComputeModeRequired(csrSizeRequestFlags, this->lastSentThreadArbitrationPolicy != this->requiredThreadArbitrationPolicy);
|
||||
return this->streamProperties.stateComputeMode.isDirty() ||
|
||||
StateComputeModeHelper<Family>::isStateComputeModeRequired(csrSizeRequestFlags, this->lastSentThreadArbitrationPolicy != this->requiredThreadArbitrationPolicy);
|
||||
}
|
||||
|
||||
template <>
|
||||
|
||||
@@ -119,7 +119,6 @@ struct DispatchFlags {
|
||||
|
||||
struct CsrSizeRequestFlags {
|
||||
bool l3ConfigChanged = false;
|
||||
bool coherencyRequestChanged = false;
|
||||
bool preemptionRequestChanged = false;
|
||||
bool mediaSamplerConfigChanged = false;
|
||||
bool hasSharedHandles = false;
|
||||
|
||||
@@ -18,7 +18,7 @@ struct StateComputeModeProperties {
|
||||
|
||||
void setProperties(bool requiresCoherency, uint32_t numGrfRequired, uint32_t threadArbitrationPolicy);
|
||||
void setProperties(const StateComputeModeProperties &properties);
|
||||
bool isDirty();
|
||||
bool isDirty() const;
|
||||
void clearIsDirty();
|
||||
};
|
||||
|
||||
@@ -29,7 +29,7 @@ struct FrontEndProperties {
|
||||
|
||||
void setProperties(bool isCooperativeKernel, bool disableOverdispatch, int32_t engineInstancedDevice, const HardwareInfo &hwInfo);
|
||||
void setProperties(const FrontEndProperties &properties);
|
||||
bool isDirty();
|
||||
bool isDirty() const;
|
||||
void clearIsDirty();
|
||||
};
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ void StateComputeModeProperties::setProperties(const StateComputeModeProperties
|
||||
threadArbitrationPolicy.set(properties.threadArbitrationPolicy.value);
|
||||
}
|
||||
|
||||
bool StateComputeModeProperties::isDirty() {
|
||||
bool StateComputeModeProperties::isDirty() const {
|
||||
return isCoherencyRequired.isDirty || largeGrfMode.isDirty || zPassAsyncComputeThreadLimit.isDirty ||
|
||||
pixelAsyncComputeThreadLimit.isDirty || threadArbitrationPolicy.isDirty;
|
||||
}
|
||||
@@ -78,7 +78,7 @@ void FrontEndProperties::setProperties(const FrontEndProperties &properties) {
|
||||
computeDispatchAllWalkerEnable.set(properties.computeDispatchAllWalkerEnable.value);
|
||||
}
|
||||
|
||||
bool FrontEndProperties::isDirty() {
|
||||
bool FrontEndProperties::isDirty() const {
|
||||
return disableOverdispatch.isDirty || singleSliceDispatchCcsMode.isDirty || computeDispatchAllWalkerEnable.isDirty;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user