Queue stall mode for RelaxedOrdering

Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
This commit is contained in:
Dunajski, Bartosz
2022-11-19 18:25:04 +00:00
committed by Compute-Runtime-Automation
parent bb308c04ed
commit bc619fcbec
28 changed files with 549 additions and 200 deletions

View File

@@ -11,11 +11,11 @@
using namespace NEO;
struct BatchBufferHelper {
static BatchBuffer createDefaultBatchBuffer(GraphicsAllocation *commandBufferAllocation, LinearStream *stream, size_t usedSize) {
static BatchBuffer createDefaultBatchBuffer(GraphicsAllocation *commandBufferAllocation, LinearStream *stream, size_t usedSize, size_t chainedBatchBufferStartOffset) {
return BatchBuffer(
commandBufferAllocation, // commandBufferAllocation
0, // startOffset
0, // chainedBatchBufferStartOffset
chainedBatchBufferStartOffset, // chainedBatchBufferStartOffset
0, // taskStartAddress
nullptr, // chainedBatchBuffer
false, // requiresCoherency
@@ -25,7 +25,12 @@ struct BatchBufferHelper {
usedSize, // usedSize
stream, // stream
nullptr, // endCmdPtr
false // useSingleSubdevice
false, // useSingleSubdevice
false // hasStallingCmds
);
}
static BatchBuffer createDefaultBatchBuffer(GraphicsAllocation *commandBufferAllocation, LinearStream *stream, size_t usedSize) {
return createDefaultBatchBuffer(commandBufferAllocation, stream, usedSize, 0);
}
};

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2019-2021 Intel Corporation
* Copyright (C) 2019-2022 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
@@ -14,35 +14,36 @@ using namespace NEO;
struct DispatchFlagsHelper {
static DispatchFlags createDefaultDispatchFlags() {
return DispatchFlags(
{}, //csrDependencies
nullptr, //barrierTimestampPacketNodes
{}, //pipelineSelectArgs
nullptr, //flushStampReference
QueueThrottle::MEDIUM, //throttle
PreemptionMode::Disabled, //preemptionMode
GrfConfig::DefaultGrfNumber, //numGrfRequired
L3CachingSettings::l3CacheOn, //l3CacheSettings
ThreadArbitrationPolicy::NotPresent, //threadArbitrationPolicy
AdditionalKernelExecInfo::NotApplicable, //additionalKernelExecInfo
KernelExecutionType::NotApplicable, //kernelExecutionType
MemoryCompressionState::NotApplicable, //memoryCompressionState
QueueSliceCount::defaultSliceCount, //sliceCount
false, //blocking
false, //dcFlush
false, //useSLM
false, //guardCommandBufferWithPipeControl
false, //gsba32BitRequired
false, //requiresCoherency
false, //lowPriority
false, //implicitFlush
false, //outOfOrderExecutionAllowed
false, //epilogueRequired
false, //usePerDssBackedBuffer
false, //useSingleSubdevice
false, //useGlobalAtomics
false, //areMultipleSubDevicesInContext
false, //memoryMigrationRequired
false //textureCacheFlush
{}, // csrDependencies
nullptr, // barrierTimestampPacketNodes
{}, // pipelineSelectArgs
nullptr, // flushStampReference
QueueThrottle::MEDIUM, // throttle
PreemptionMode::Disabled, // preemptionMode
GrfConfig::DefaultGrfNumber, // numGrfRequired
L3CachingSettings::l3CacheOn, // l3CacheSettings
ThreadArbitrationPolicy::NotPresent, // threadArbitrationPolicy
AdditionalKernelExecInfo::NotApplicable, // additionalKernelExecInfo
KernelExecutionType::NotApplicable, // kernelExecutionType
MemoryCompressionState::NotApplicable, // memoryCompressionState
QueueSliceCount::defaultSliceCount, // sliceCount
false, // blocking
false, // dcFlush
false, // useSLM
false, // guardCommandBufferWithPipeControl
false, // gsba32BitRequired
false, // requiresCoherency
false, // lowPriority
false, // implicitFlush
false, // outOfOrderExecutionAllowed
false, // epilogueRequired
false, // usePerDssBackedBuffer
false, // useSingleSubdevice
false, // useGlobalAtomics
false, // areMultipleSubDevicesInContext
false, // memoryMigrationRequired
false, // textureCacheFlush
false // hasStallingCmds
);
}
};