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:
Kopryk 2019-09-30 16:11:18 +02:00 committed by sys_ocldev
parent 6061ccc6fd
commit 3491e5d2e5
4 changed files with 32 additions and 1 deletions

2
Jenkinsfile vendored
View File

@ -1,5 +1,5 @@
#!groovy
dependenciesRevision='3387a68d271545925f5ff091109728166e6f6d46-1309'
strategy='EQUAL'
allowedCD=263
allowedCD=264
allowedF=5

View File

@ -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>;

View File

@ -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")

View File

@ -116,6 +116,7 @@ EnableBlitterOperationsForReadWriteBuffers = -1
DisableAuxTranslation = 0
EnableFreeMemory = 0
OverrideStatelessMocsIndex = -1
CFEFusedEUDispatch = -1
AllocateSharedAllocationsWithCpuAndGpuStorage = -1
EnableSharedSystemUsmSupport = -1
ForcePerDssBackedBufferProgramming = 0