Add reg key to disable fused threads scheduling
Related-To: NEO-3772 Change-Id: If9e5d0190b401415c39bd799d81bb15a0f2b3b02 Signed-off-by: Kopryk <kamil.kopryk@intel.com>
This commit is contained in:
parent
6061ccc6fd
commit
3491e5d2e5
|
@ -1,5 +1,5 @@
|
|||
#!groovy
|
||||
dependenciesRevision='3387a68d271545925f5ff091109728166e6f6d46-1309'
|
||||
strategy='EQUAL'
|
||||
allowedCD=263
|
||||
allowedCD=264
|
||||
allowedF=5
|
||||
|
|
|
@ -75,6 +75,35 @@ uint32_t PreambleHelper<TGLLPFamily>::getUrbEntryAllocationSize() {
|
|||
return 1024u;
|
||||
}
|
||||
|
||||
template <>
|
||||
uint64_t PreambleHelper<TGLLPFamily>::programVFEState(LinearStream *pCommandStream,
|
||||
const HardwareInfo &hwInfo,
|
||||
int scratchSize,
|
||||
uint64_t scratchAddress,
|
||||
uint32_t maxFrontEndThreads) {
|
||||
using MEDIA_VFE_STATE = typename TGLLPFamily::MEDIA_VFE_STATE;
|
||||
|
||||
addPipeControlBeforeVfeCmd(pCommandStream, &hwInfo);
|
||||
|
||||
auto scratchSpaceAddressOffset = static_cast<uint64_t>(pCommandStream->getUsed() + MEDIA_VFE_STATE::PATCH_CONSTANTS::SCRATCHSPACEBASEPOINTER_BYTEOFFSET);
|
||||
auto pMediaVfeState = reinterpret_cast<MEDIA_VFE_STATE *>(pCommandStream->getSpace(sizeof(MEDIA_VFE_STATE)));
|
||||
*pMediaVfeState = TGLLPFamily::cmdInitMediaVfeState;
|
||||
pMediaVfeState->setMaximumNumberOfThreads(maxFrontEndThreads);
|
||||
pMediaVfeState->setNumberOfUrbEntries(1);
|
||||
pMediaVfeState->setUrbEntryAllocationSize(PreambleHelper<TGLLPFamily>::getUrbEntryAllocationSize());
|
||||
pMediaVfeState->setPerThreadScratchSpace(Kernel::getScratchSizeValueToProgramMediaVfeState(scratchSize));
|
||||
pMediaVfeState->setStackSize(Kernel::getScratchSizeValueToProgramMediaVfeState(scratchSize));
|
||||
uint32_t lowAddress = static_cast<uint32_t>(0xFFFFFFFF & scratchAddress);
|
||||
uint32_t highAddress = static_cast<uint32_t>(0xFFFFFFFF & (scratchAddress >> 32));
|
||||
pMediaVfeState->setScratchSpaceBasePointer(lowAddress);
|
||||
pMediaVfeState->setScratchSpaceBasePointerHigh(highAddress);
|
||||
|
||||
if (DebugManager.flags.CFEFusedEUDispatch.get() != -1) {
|
||||
pMediaVfeState->setDisableSlice0Subslice2(DebugManager.flags.CFEFusedEUDispatch.get());
|
||||
}
|
||||
return scratchSpaceAddressOffset;
|
||||
}
|
||||
|
||||
// Explicitly instantiate PreambleHelper for TGLLP device family
|
||||
|
||||
template struct PreambleHelper<TGLLPFamily>;
|
||||
|
|
|
@ -38,6 +38,7 @@ DECLARE_DEBUG_VARIABLE(int32_t, SchedulerSimulationReturnInstance, 0, "prints ex
|
|||
DECLARE_DEBUG_VARIABLE(int32_t, SchedulerGWS, 0, "Forces gws of scheduler kernel, only multiple of 24 allowed or 0 - default selected")
|
||||
DECLARE_DEBUG_VARIABLE(int32_t, EnableExperimentalCommandBuffer, 0, "Enables injection of experimental command buffer")
|
||||
DECLARE_DEBUG_VARIABLE(int32_t, OverrideStatelessMocsIndex, -1, "-1: feature inactive, >=0 : following MOCS index will be programmed for stateless accesses in state base address")
|
||||
DECLARE_DEBUG_VARIABLE(int32_t, CFEFusedEUDispatch, -1, "Set Fused EU dispatch in FrontEnd State command. -1 – do not set")
|
||||
DECLARE_DEBUG_VARIABLE(bool, EnableDebugBreak, true, "Enable DEBUG_BREAKs")
|
||||
DECLARE_DEBUG_VARIABLE(bool, FlushAllCaches, false, "pipe controls between enqueues flush all possible caches")
|
||||
DECLARE_DEBUG_VARIABLE(bool, MakeEachEnqueueBlocking, false, "equivalent of finish after each enqueue")
|
||||
|
|
|
@ -116,6 +116,7 @@ EnableBlitterOperationsForReadWriteBuffers = -1
|
|||
DisableAuxTranslation = 0
|
||||
EnableFreeMemory = 0
|
||||
OverrideStatelessMocsIndex = -1
|
||||
CFEFusedEUDispatch = -1
|
||||
AllocateSharedAllocationsWithCpuAndGpuStorage = -1
|
||||
EnableSharedSystemUsmSupport = -1
|
||||
ForcePerDssBackedBufferProgramming = 0
|
||||
|
|
Loading…
Reference in New Issue