mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-31 20:13:04 +08:00
Set SingleSliceDispatchCcsMode for EngineInstanced OsContext
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
41fc2e8cce
commit
d8a98acafd
@@ -937,10 +937,10 @@ inline void CommandStreamReceiverHw<GfxFamily>::programVFEState(LinearStream &cs
|
||||
(dispatchFlags.additionalKernelExecInfo != AdditionalKernelExecInfo::NotSet);
|
||||
StreamProperties streamProperties{};
|
||||
streamProperties.frontEndState.setProperties(lastKernelExecutionType == KernelExecutionType::Concurrent,
|
||||
disableOverdispatch, hwInfo);
|
||||
disableOverdispatch, osContext->isEngineInstanced(), hwInfo);
|
||||
PreambleHelper<GfxFamily>::programVfeState(
|
||||
pVfeState, hwInfo, requiredScratchSize, getScratchPatchAddress(),
|
||||
maxFrontEndThreads, lastAdditionalKernelExecInfo, streamProperties);
|
||||
maxFrontEndThreads, streamProperties);
|
||||
auto commandOffset = PreambleHelper<GfxFamily>::getScratchSpaceAddressOffsetForVfeState(&csr, pVfeState);
|
||||
|
||||
if (DebugManager.flags.AddPatchInfoCommentsForAUBDump.get()) {
|
||||
|
||||
@@ -21,8 +21,9 @@ struct StateComputeModeProperties {
|
||||
|
||||
struct FrontEndProperties {
|
||||
StreamProperty disableOverdispatch{};
|
||||
StreamProperty singleSliceDispatchCcsMode{};
|
||||
|
||||
void setProperties(bool isCooperativeKernel, bool disableOverdispatch, const HardwareInfo &hwInfo);
|
||||
void setProperties(bool isCooperativeKernel, bool disableOverdispatch, bool engineInstancedDevice, const HardwareInfo &hwInfo);
|
||||
void setProperties(const FrontEndProperties &properties);
|
||||
bool isDirty();
|
||||
void clearIsDirty();
|
||||
|
||||
@@ -37,22 +37,25 @@ void StateComputeModeProperties::clearIsDirty() {
|
||||
largeGrfMode.isDirty = false;
|
||||
}
|
||||
|
||||
void FrontEndProperties::setProperties(bool isCooperativeKernel, bool disableOverdispatch, const HardwareInfo &hwInfo) {
|
||||
void FrontEndProperties::setProperties(bool isCooperativeKernel, bool disableOverdispatch, bool engineInstancedDevice, const HardwareInfo &hwInfo) {
|
||||
clearIsDirty();
|
||||
|
||||
this->disableOverdispatch.set(disableOverdispatch ? 1 : 0);
|
||||
this->disableOverdispatch.set(disableOverdispatch);
|
||||
this->singleSliceDispatchCcsMode.set(engineInstancedDevice);
|
||||
}
|
||||
|
||||
void FrontEndProperties::setProperties(const FrontEndProperties &properties) {
|
||||
clearIsDirty();
|
||||
|
||||
disableOverdispatch.set(properties.disableOverdispatch.value);
|
||||
singleSliceDispatchCcsMode.set(properties.singleSliceDispatchCcsMode.value);
|
||||
}
|
||||
|
||||
bool FrontEndProperties::isDirty() {
|
||||
return disableOverdispatch.isDirty;
|
||||
return disableOverdispatch.isDirty || singleSliceDispatchCcsMode.isDirty;
|
||||
}
|
||||
|
||||
void FrontEndProperties::clearIsDirty() {
|
||||
disableOverdispatch.isDirty = false;
|
||||
singleSliceDispatchCcsMode.isDirty = false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user