mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-09 06:23:01 +08:00
Fix ThreadArbitrationMode programming
For non-kernel submission, TAM was incorrectly reprogrammed to default mode. Correct programming should reuse value from previous submission. Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
79bf9401ef
commit
e7f2676d5e
@@ -255,9 +255,17 @@ CompletionStamp CommandStreamReceiverHw<GfxFamily>::flushTask(
|
||||
hwInfo);
|
||||
|
||||
auto &hwHelper = HwHelper::get(peekHwInfo().platform.eRenderCoreFamily);
|
||||
|
||||
if (dispatchFlags.threadArbitrationPolicy == ThreadArbitrationPolicy::NotPresent) {
|
||||
dispatchFlags.threadArbitrationPolicy = hwHelper.getDefaultThreadArbitrationPolicy();
|
||||
if (this->streamProperties.stateComputeMode.threadArbitrationPolicy.value != -1) {
|
||||
// Reuse previous programming
|
||||
dispatchFlags.threadArbitrationPolicy = static_cast<uint32_t>(this->streamProperties.stateComputeMode.threadArbitrationPolicy.value);
|
||||
} else {
|
||||
// Pick default if this is first submit
|
||||
dispatchFlags.threadArbitrationPolicy = hwHelper.getDefaultThreadArbitrationPolicy();
|
||||
}
|
||||
}
|
||||
|
||||
if (dispatchFlags.numGrfRequired == GrfConfig::NotApplicable) {
|
||||
dispatchFlags.numGrfRequired = lastSentNumGrfRequired;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user