Refactoring of per-DSS backed buffer programming
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
This commit is contained in:
parent
7716988dbb
commit
d94e2bf149
|
@ -140,25 +140,6 @@ HWTEST_F(UltCommandStreamReceiverTest, givenPreambleSentWhenEstimatingPreambleCm
|
||||||
EXPECT_EQ(expectedDifference, actualDifference);
|
EXPECT_EQ(expectedDifference, actualDifference);
|
||||||
}
|
}
|
||||||
|
|
||||||
HWTEST_F(UltCommandStreamReceiverTest, givenPerDssBackBufferProgrammingEnabledWhenEstimatingPreambleCmdSizeThenResultIncludesPerDssBackBufferProgramingCommandsSize) {
|
|
||||||
DebugManagerStateRestore restore;
|
|
||||||
DebugManager.flags.ForcePerDssBackedBufferProgramming.set(true);
|
|
||||||
|
|
||||||
auto &commandStreamReceiver = pDevice->getUltCommandStreamReceiver<FamilyType>();
|
|
||||||
commandStreamReceiver.requiredThreadArbitrationPolicy = commandStreamReceiver.lastSentThreadArbitrationPolicy;
|
|
||||||
|
|
||||||
commandStreamReceiver.isPreambleSent = false;
|
|
||||||
auto preambleNotSent = commandStreamReceiver.getRequiredCmdSizeForPreamble(*pDevice);
|
|
||||||
|
|
||||||
commandStreamReceiver.isPreambleSent = true;
|
|
||||||
auto preambleSent = commandStreamReceiver.getRequiredCmdSizeForPreamble(*pDevice);
|
|
||||||
|
|
||||||
auto actualDifference = preambleNotSent - preambleSent;
|
|
||||||
auto expectedDifference = PreambleHelper<FamilyType>::getThreadArbitrationCommandsSize() + PreambleHelper<FamilyType>::getAdditionalCommandsSize(*pDevice) + PreambleHelper<FamilyType>::getPerDssBackedBufferCommandsSize(pDevice->getHardwareInfo());
|
|
||||||
|
|
||||||
EXPECT_EQ(expectedDifference, actualDifference);
|
|
||||||
}
|
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_GEN8_CORE, UltCommandStreamReceiverTest, givenMediaVfeStateDirtyEstimatingPreambleCmdSizeThenResultDependsVfeStateProgrammingCmdSize) {
|
HWCMDTEST_F(IGFX_GEN8_CORE, UltCommandStreamReceiverTest, givenMediaVfeStateDirtyEstimatingPreambleCmdSizeThenResultDependsVfeStateProgrammingCmdSize) {
|
||||||
typedef typename FamilyType::MEDIA_VFE_STATE MEDIA_VFE_STATE;
|
typedef typename FamilyType::MEDIA_VFE_STATE MEDIA_VFE_STATE;
|
||||||
typedef typename FamilyType::PIPE_CONTROL PIPE_CONTROL;
|
typedef typename FamilyType::PIPE_CONTROL PIPE_CONTROL;
|
||||||
|
|
|
@ -1550,4 +1550,4 @@ TEST(BcsConstantsTests, givenBlitConstantsThenTheyHaveDesiredValues) {
|
||||||
EXPECT_EQ(BlitterConstants::maxBlitHeight, 0x4000u);
|
EXPECT_EQ(BlitterConstants::maxBlitHeight, 0x4000u);
|
||||||
EXPECT_EQ(BlitterConstants::maxBlitSetWidth, 0x1FF80u);
|
EXPECT_EQ(BlitterConstants::maxBlitSetWidth, 0x1FF80u);
|
||||||
EXPECT_EQ(BlitterConstants::maxBlitSetHeight, 0x1FFC0u);
|
EXPECT_EQ(BlitterConstants::maxBlitSetHeight, 0x1FFC0u);
|
||||||
}
|
}
|
|
@ -41,8 +41,10 @@ class UltCommandStreamReceiver : public CommandStreamReceiverHw<GfxFamily>, publ
|
||||||
using BaseClass::iohState;
|
using BaseClass::iohState;
|
||||||
using BaseClass::isBlitterDirectSubmissionEnabled;
|
using BaseClass::isBlitterDirectSubmissionEnabled;
|
||||||
using BaseClass::isDirectSubmissionEnabled;
|
using BaseClass::isDirectSubmissionEnabled;
|
||||||
|
using BaseClass::isPerDssBackedBufferSent;
|
||||||
using BaseClass::perDssBackedBuffer;
|
using BaseClass::perDssBackedBuffer;
|
||||||
using BaseClass::programEnginePrologue;
|
using BaseClass::programEnginePrologue;
|
||||||
|
using BaseClass::programPerDssBackedBuffer;
|
||||||
using BaseClass::programPreamble;
|
using BaseClass::programPreamble;
|
||||||
using BaseClass::programStateSip;
|
using BaseClass::programStateSip;
|
||||||
using BaseClass::requiresInstructionCacheFlush;
|
using BaseClass::requiresInstructionCacheFlush;
|
||||||
|
|
|
@ -301,6 +301,7 @@ class CommandStreamReceiver {
|
||||||
bool isPreambleSent = false;
|
bool isPreambleSent = false;
|
||||||
bool isStateSipSent = false;
|
bool isStateSipSent = false;
|
||||||
bool isEnginePrologueSent = false;
|
bool isEnginePrologueSent = false;
|
||||||
|
bool isPerDssBackedBufferSent = false;
|
||||||
bool GSBAFor32BitProgrammed = false;
|
bool GSBAFor32BitProgrammed = false;
|
||||||
bool bindingTableBaseAddressRequired = false;
|
bool bindingTableBaseAddressRequired = false;
|
||||||
bool mediaVfeStateDirty = true;
|
bool mediaVfeStateDirty = true;
|
||||||
|
|
|
@ -67,6 +67,7 @@ class CommandStreamReceiverHw : public CommandStreamReceiver {
|
||||||
size_t getCmdSizeForComputeMode();
|
size_t getCmdSizeForComputeMode();
|
||||||
size_t getCmdSizeForMediaSampler(bool mediaSamplerRequired) const;
|
size_t getCmdSizeForMediaSampler(bool mediaSamplerRequired) const;
|
||||||
size_t getCmdSizeForEngineMode(const DispatchFlags &dispatchFlags) const;
|
size_t getCmdSizeForEngineMode(const DispatchFlags &dispatchFlags) const;
|
||||||
|
size_t getCmdSizeForPerDssBackedBuffer(const HardwareInfo &hwInfo);
|
||||||
|
|
||||||
bool isComputeModeNeeded() const;
|
bool isComputeModeNeeded() const;
|
||||||
bool isPipelineSelectAlreadyProgrammed() const;
|
bool isPipelineSelectAlreadyProgrammed() const;
|
||||||
|
@ -118,6 +119,7 @@ class CommandStreamReceiverHw : public CommandStreamReceiver {
|
||||||
void programEpilogue(LinearStream &csr, void **batchBufferEndLocation, DispatchFlags &dispatchFlags);
|
void programEpilogue(LinearStream &csr, void **batchBufferEndLocation, DispatchFlags &dispatchFlags);
|
||||||
void programEpliogueCommands(LinearStream &csr, const DispatchFlags &dispatchFlags);
|
void programEpliogueCommands(LinearStream &csr, const DispatchFlags &dispatchFlags);
|
||||||
void programMediaSampler(LinearStream &csr, DispatchFlags &dispatchFlags);
|
void programMediaSampler(LinearStream &csr, DispatchFlags &dispatchFlags);
|
||||||
|
void programPerDssBackedBuffer(LinearStream &scr, Device &device, DispatchFlags &dispatchFlags);
|
||||||
void programStateSip(LinearStream &cmdStream, Device &device);
|
void programStateSip(LinearStream &cmdStream, Device &device);
|
||||||
void programVFEState(LinearStream &csr, DispatchFlags &dispatchFlags, uint32_t maxFrontEndThreads);
|
void programVFEState(LinearStream &csr, DispatchFlags &dispatchFlags, uint32_t maxFrontEndThreads);
|
||||||
void programStallingPipeControlForBarrier(LinearStream &cmdStream, DispatchFlags &dispatchFlags);
|
void programStallingPipeControlForBarrier(LinearStream &cmdStream, DispatchFlags &dispatchFlags);
|
||||||
|
|
|
@ -140,12 +140,6 @@ inline size_t CommandStreamReceiverHw<GfxFamily>::getRequiredCmdSizeForPreamble(
|
||||||
if (!this->isPreambleSent || this->lastSentThreadArbitrationPolicy != this->requiredThreadArbitrationPolicy) {
|
if (!this->isPreambleSent || this->lastSentThreadArbitrationPolicy != this->requiredThreadArbitrationPolicy) {
|
||||||
size += PreambleHelper<GfxFamily>::getThreadArbitrationCommandsSize();
|
size += PreambleHelper<GfxFamily>::getThreadArbitrationCommandsSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (DebugManager.flags.ForcePerDssBackedBufferProgramming.get()) {
|
|
||||||
if (!this->isPreambleSent) {
|
|
||||||
size += PreambleHelper<GfxFamily>::getPerDssBackedBufferCommandsSize(device.getHardwareInfo());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!this->isPreambleSent) {
|
if (!this->isPreambleSent) {
|
||||||
if (DebugManager.flags.ForceSemaphoreDelayBetweenWaits.get() > -1) {
|
if (DebugManager.flags.ForceSemaphoreDelayBetweenWaits.get() > -1) {
|
||||||
size += PreambleHelper<GfxFamily>::getSemaphoreDelayCommandSize();
|
size += PreambleHelper<GfxFamily>::getSemaphoreDelayCommandSize();
|
||||||
|
@ -339,6 +333,7 @@ CompletionStamp CommandStreamReceiverHw<GfxFamily>::flushTask(
|
||||||
programL3(commandStreamCSR, dispatchFlags, newL3Config);
|
programL3(commandStreamCSR, dispatchFlags, newL3Config);
|
||||||
programPreamble(commandStreamCSR, device, dispatchFlags, newL3Config);
|
programPreamble(commandStreamCSR, device, dispatchFlags, newL3Config);
|
||||||
programMediaSampler(commandStreamCSR, dispatchFlags);
|
programMediaSampler(commandStreamCSR, dispatchFlags);
|
||||||
|
programPerDssBackedBuffer(commandStreamCSR, device, dispatchFlags);
|
||||||
|
|
||||||
if (this->lastSentThreadArbitrationPolicy != this->requiredThreadArbitrationPolicy) {
|
if (this->lastSentThreadArbitrationPolicy != this->requiredThreadArbitrationPolicy) {
|
||||||
PreambleHelper<GfxFamily>::programThreadArbitration(&commandStreamCSR, this->requiredThreadArbitrationPolicy);
|
PreambleHelper<GfxFamily>::programThreadArbitration(&commandStreamCSR, this->requiredThreadArbitrationPolicy);
|
||||||
|
@ -761,6 +756,7 @@ size_t CommandStreamReceiverHw<GfxFamily>::getRequiredCmdStreamSize(const Dispat
|
||||||
size += getCmdSizeForMediaSampler(dispatchFlags.pipelineSelectArgs.mediaSamplerRequired);
|
size += getCmdSizeForMediaSampler(dispatchFlags.pipelineSelectArgs.mediaSamplerRequired);
|
||||||
size += getCmdSizeForPipelineSelect();
|
size += getCmdSizeForPipelineSelect();
|
||||||
size += getCmdSizeForPreemption(dispatchFlags);
|
size += getCmdSizeForPreemption(dispatchFlags);
|
||||||
|
size += getCmdSizeForPerDssBackedBuffer(device.getHardwareInfo());
|
||||||
size += getCmdSizeForEpilogue(dispatchFlags);
|
size += getCmdSizeForEpilogue(dispatchFlags);
|
||||||
size += getCmdsSizeForHardwareContext();
|
size += getCmdsSizeForHardwareContext();
|
||||||
|
|
||||||
|
@ -868,8 +864,7 @@ inline void CommandStreamReceiverHw<GfxFamily>::programStateSip(LinearStream &cm
|
||||||
template <typename GfxFamily>
|
template <typename GfxFamily>
|
||||||
inline void CommandStreamReceiverHw<GfxFamily>::programPreamble(LinearStream &csr, Device &device, DispatchFlags &dispatchFlags, uint32_t &newL3Config) {
|
inline void CommandStreamReceiverHw<GfxFamily>::programPreamble(LinearStream &csr, Device &device, DispatchFlags &dispatchFlags, uint32_t &newL3Config) {
|
||||||
if (!this->isPreambleSent) {
|
if (!this->isPreambleSent) {
|
||||||
GraphicsAllocation *perDssBackedBufferToUse = dispatchFlags.usePerDssBackedBuffer ? this->perDssBackedBuffer : nullptr;
|
PreambleHelper<GfxFamily>::programPreamble(&csr, device, newL3Config, this->requiredThreadArbitrationPolicy, this->preemptionAllocation);
|
||||||
PreambleHelper<GfxFamily>::programPreamble(&csr, device, newL3Config, this->requiredThreadArbitrationPolicy, this->preemptionAllocation, perDssBackedBufferToUse);
|
|
||||||
this->isPreambleSent = true;
|
this->isPreambleSent = true;
|
||||||
this->lastSentL3Config = newL3Config;
|
this->lastSentL3Config = newL3Config;
|
||||||
this->lastSentThreadArbitrationPolicy = this->requiredThreadArbitrationPolicy;
|
this->lastSentThreadArbitrationPolicy = this->requiredThreadArbitrationPolicy;
|
||||||
|
@ -897,6 +892,10 @@ template <typename GfxFamily>
|
||||||
void CommandStreamReceiverHw<GfxFamily>::programMediaSampler(LinearStream &commandStream, DispatchFlags &dispatchFlags) {
|
void CommandStreamReceiverHw<GfxFamily>::programMediaSampler(LinearStream &commandStream, DispatchFlags &dispatchFlags) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <typename GfxFamily>
|
||||||
|
void CommandStreamReceiverHw<GfxFamily>::programPerDssBackedBuffer(LinearStream &commandStream, Device &device, DispatchFlags &dispatchFlags) {
|
||||||
|
}
|
||||||
|
|
||||||
template <typename GfxFamily>
|
template <typename GfxFamily>
|
||||||
size_t CommandStreamReceiverHw<GfxFamily>::getCmdSizeForMediaSampler(bool mediaSamplerRequired) const {
|
size_t CommandStreamReceiverHw<GfxFamily>::getCmdSizeForMediaSampler(bool mediaSamplerRequired) const {
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1188,4 +1187,9 @@ inline bool CommandStreamReceiverHw<GfxFamily>::checkDirectSubmissionSupportsEng
|
||||||
return supported;
|
return supported;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <typename GfxFamily>
|
||||||
|
size_t CommandStreamReceiverHw<GfxFamily>::getCmdSizeForPerDssBackedBuffer(const HardwareInfo &hwInfo) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace NEO
|
} // namespace NEO
|
||||||
|
|
|
@ -49,9 +49,8 @@ struct PreambleHelper {
|
||||||
KernelExecutionType kernelExecutionType);
|
KernelExecutionType kernelExecutionType);
|
||||||
static void programAdditionalFieldsInVfeState(VFE_STATE_TYPE *mediaVfeState, const HardwareInfo &hwInfo);
|
static void programAdditionalFieldsInVfeState(VFE_STATE_TYPE *mediaVfeState, const HardwareInfo &hwInfo);
|
||||||
static void programPreamble(LinearStream *pCommandStream, Device &device, uint32_t l3Config,
|
static void programPreamble(LinearStream *pCommandStream, Device &device, uint32_t l3Config,
|
||||||
uint32_t requiredThreadArbitrationPolicy, GraphicsAllocation *preemptionCsr, GraphicsAllocation *perDssBackedBuffer);
|
uint32_t requiredThreadArbitrationPolicy, GraphicsAllocation *preemptionCsr);
|
||||||
static void programKernelDebugging(LinearStream *pCommandStream);
|
static void programKernelDebugging(LinearStream *pCommandStream);
|
||||||
static void programPerDssBackedBuffer(LinearStream *pCommandStream, const HardwareInfo &hwInfo, GraphicsAllocation *perDssBackBufferOffset);
|
|
||||||
static void programSemaphoreDelay(LinearStream *pCommandStream);
|
static void programSemaphoreDelay(LinearStream *pCommandStream);
|
||||||
static uint32_t getL3Config(const HardwareInfo &hwInfo, bool useSLM);
|
static uint32_t getL3Config(const HardwareInfo &hwInfo, bool useSLM);
|
||||||
static bool isL3Configurable(const HardwareInfo &hwInfo);
|
static bool isL3Configurable(const HardwareInfo &hwInfo);
|
||||||
|
@ -61,7 +60,6 @@ struct PreambleHelper {
|
||||||
static size_t getKernelDebuggingCommandsSize(bool debuggingActive);
|
static size_t getKernelDebuggingCommandsSize(bool debuggingActive);
|
||||||
static void programGenSpecificPreambleWorkArounds(LinearStream *pCommandStream, const HardwareInfo &hwInfo);
|
static void programGenSpecificPreambleWorkArounds(LinearStream *pCommandStream, const HardwareInfo &hwInfo);
|
||||||
static uint32_t getUrbEntryAllocationSize();
|
static uint32_t getUrbEntryAllocationSize();
|
||||||
static size_t getPerDssBackedBufferCommandsSize(const HardwareInfo &hwInfo);
|
|
||||||
static size_t getCmdSizeForPipelineSelect(const HardwareInfo &hwInfo);
|
static size_t getCmdSizeForPipelineSelect(const HardwareInfo &hwInfo);
|
||||||
static size_t getSemaphoreDelayCommandSize();
|
static size_t getSemaphoreDelayCommandSize();
|
||||||
static uint32_t getScratchSizeValueToProgramMediaVfeState(uint32_t scratchSize);
|
static uint32_t getScratchSizeValueToProgramMediaVfeState(uint32_t scratchSize);
|
||||||
|
|
|
@ -33,15 +33,6 @@ template <typename GfxFamily>
|
||||||
void PreambleHelper<GfxFamily>::programGenSpecificPreambleWorkArounds(LinearStream *pCommandStream, const HardwareInfo &hwInfo) {
|
void PreambleHelper<GfxFamily>::programGenSpecificPreambleWorkArounds(LinearStream *pCommandStream, const HardwareInfo &hwInfo) {
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename GfxFamily>
|
|
||||||
void PreambleHelper<GfxFamily>::programPerDssBackedBuffer(LinearStream *pCommandStream, const HardwareInfo &hwInfo, GraphicsAllocation *perDssBackBufferOffset) {
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename GfxFamily>
|
|
||||||
size_t PreambleHelper<GfxFamily>::getPerDssBackedBufferCommandsSize(const HardwareInfo &hwInfo) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename GfxFamily>
|
template <typename GfxFamily>
|
||||||
void PreambleHelper<GfxFamily>::programSemaphoreDelay(LinearStream *pCommandStream) {
|
void PreambleHelper<GfxFamily>::programSemaphoreDelay(LinearStream *pCommandStream) {
|
||||||
if (DebugManager.flags.ForceSemaphoreDelayBetweenWaits.get() > -1) {
|
if (DebugManager.flags.ForceSemaphoreDelayBetweenWaits.get() > -1) {
|
||||||
|
@ -79,7 +70,7 @@ size_t PreambleHelper<GfxFamily>::getCmdSizeForPipelineSelect(const HardwareInfo
|
||||||
|
|
||||||
template <typename GfxFamily>
|
template <typename GfxFamily>
|
||||||
void PreambleHelper<GfxFamily>::programPreamble(LinearStream *pCommandStream, Device &device, uint32_t l3Config,
|
void PreambleHelper<GfxFamily>::programPreamble(LinearStream *pCommandStream, Device &device, uint32_t l3Config,
|
||||||
uint32_t requiredThreadArbitrationPolicy, GraphicsAllocation *preemptionCsr, GraphicsAllocation *perDssBackedBuffer) {
|
uint32_t requiredThreadArbitrationPolicy, GraphicsAllocation *preemptionCsr) {
|
||||||
programL3(pCommandStream, l3Config);
|
programL3(pCommandStream, l3Config);
|
||||||
programThreadArbitration(pCommandStream, requiredThreadArbitrationPolicy);
|
programThreadArbitration(pCommandStream, requiredThreadArbitrationPolicy);
|
||||||
programPreemption(pCommandStream, device, preemptionCsr);
|
programPreemption(pCommandStream, device, preemptionCsr);
|
||||||
|
@ -87,9 +78,6 @@ void PreambleHelper<GfxFamily>::programPreamble(LinearStream *pCommandStream, De
|
||||||
programKernelDebugging(pCommandStream);
|
programKernelDebugging(pCommandStream);
|
||||||
}
|
}
|
||||||
programGenSpecificPreambleWorkArounds(pCommandStream, device.getHardwareInfo());
|
programGenSpecificPreambleWorkArounds(pCommandStream, device.getHardwareInfo());
|
||||||
if (perDssBackedBuffer != nullptr) {
|
|
||||||
programPerDssBackedBuffer(pCommandStream, device.getHardwareInfo(), perDssBackedBuffer);
|
|
||||||
}
|
|
||||||
programSemaphoreDelay(pCommandStream);
|
programSemaphoreDelay(pCommandStream);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -124,7 +124,7 @@ GEN11TEST_F(ThreadArbitrationGen11, givenPreambleWhenItIsProgrammedThenThreadArb
|
||||||
MockDevice mockDevice;
|
MockDevice mockDevice;
|
||||||
PreambleHelper<FamilyType>::programPreamble(&linearStream, mockDevice, l3Config,
|
PreambleHelper<FamilyType>::programPreamble(&linearStream, mockDevice, l3Config,
|
||||||
ThreadArbitrationPolicy::RoundRobin,
|
ThreadArbitrationPolicy::RoundRobin,
|
||||||
nullptr, nullptr);
|
nullptr);
|
||||||
|
|
||||||
parseCommands<FamilyType>(cs);
|
parseCommands<FamilyType>(cs);
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@ HWTEST2_F(TglLpSlm, givenTglLpWhenPreambleIsBeingProgrammedThenThreadArbitration
|
||||||
MockDevice mockDevice;
|
MockDevice mockDevice;
|
||||||
PreambleHelper<TGLLPFamily>::programPreamble(&linearStream, mockDevice, l3Config,
|
PreambleHelper<TGLLPFamily>::programPreamble(&linearStream, mockDevice, l3Config,
|
||||||
ThreadArbitrationPolicy::RoundRobin,
|
ThreadArbitrationPolicy::RoundRobin,
|
||||||
nullptr, nullptr);
|
nullptr);
|
||||||
|
|
||||||
parseCommands<TGLLPFamily>(cs);
|
parseCommands<TGLLPFamily>(cs);
|
||||||
|
|
||||||
|
|
|
@ -80,7 +80,7 @@ SKLTEST_F(ThreadArbitration, givenPreambleWhenItIsProgrammedThenThreadArbitratio
|
||||||
MockDevice mockDevice;
|
MockDevice mockDevice;
|
||||||
PreambleHelper<SKLFamily>::programPreamble(&linearStream, mockDevice, l3Config,
|
PreambleHelper<SKLFamily>::programPreamble(&linearStream, mockDevice, l3Config,
|
||||||
ThreadArbitrationPolicy::RoundRobin,
|
ThreadArbitrationPolicy::RoundRobin,
|
||||||
nullptr, nullptr);
|
nullptr);
|
||||||
|
|
||||||
parseCommands<SKLFamily>(cs);
|
parseCommands<SKLFamily>(cs);
|
||||||
|
|
||||||
|
|
|
@ -74,7 +74,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, PreambleTest, givenMidThreadPreemptionWhenPreambleIs
|
||||||
MockGraphicsAllocation csrSurface(reinterpret_cast<void *>(minCsrAlignment), 1024);
|
MockGraphicsAllocation csrSurface(reinterpret_cast<void *>(minCsrAlignment), 1024);
|
||||||
|
|
||||||
PreambleHelper<FamilyType>::programPreamble(&preambleStream, *mockDevice, 0U,
|
PreambleHelper<FamilyType>::programPreamble(&preambleStream, *mockDevice, 0U,
|
||||||
ThreadArbitrationPolicy::RoundRobin, &csrSurface, nullptr);
|
ThreadArbitrationPolicy::RoundRobin, &csrSurface);
|
||||||
|
|
||||||
PreemptionHelper::programStateSip<FamilyType>(preemptionStream, *mockDevice);
|
PreemptionHelper::programStateSip<FamilyType>(preemptionStream, *mockDevice);
|
||||||
|
|
||||||
|
@ -144,7 +144,7 @@ HWTEST_F(PreambleTest, givenKernelDebuggingActiveWhenPreambleIsProgrammedThenPro
|
||||||
LinearStream preambleStream(&*preambleBuffer.begin(), preambleBuffer.size());
|
LinearStream preambleStream(&*preambleBuffer.begin(), preambleBuffer.size());
|
||||||
|
|
||||||
PreambleHelper<FamilyType>::programPreamble(&preambleStream, *mockDevice, 0U,
|
PreambleHelper<FamilyType>::programPreamble(&preambleStream, *mockDevice, 0U,
|
||||||
ThreadArbitrationPolicy::RoundRobin, nullptr, nullptr);
|
ThreadArbitrationPolicy::RoundRobin, nullptr);
|
||||||
|
|
||||||
HardwareParse hwParser;
|
HardwareParse hwParser;
|
||||||
hwParser.parseCommands<FamilyType>(preambleStream);
|
hwParser.parseCommands<FamilyType>(preambleStream);
|
||||||
|
@ -158,7 +158,7 @@ HWTEST_F(PreambleTest, givenKernelDebuggingActiveWhenPreambleIsProgrammedThenPro
|
||||||
StackVec<char, 8192> preambleBuffer2(8192);
|
StackVec<char, 8192> preambleBuffer2(8192);
|
||||||
preambleStream.replaceBuffer(&*preambleBuffer2.begin(), preambleBuffer2.size());
|
preambleStream.replaceBuffer(&*preambleBuffer2.begin(), preambleBuffer2.size());
|
||||||
PreambleHelper<FamilyType>::programPreamble(&preambleStream, *mockDevice, 0U,
|
PreambleHelper<FamilyType>::programPreamble(&preambleStream, *mockDevice, 0U,
|
||||||
ThreadArbitrationPolicy::RoundRobin, preemptionAllocation, nullptr);
|
ThreadArbitrationPolicy::RoundRobin, preemptionAllocation);
|
||||||
HardwareParse hwParser2;
|
HardwareParse hwParser2;
|
||||||
hwParser2.parseCommands<FamilyType>(preambleStream);
|
hwParser2.parseCommands<FamilyType>(preambleStream);
|
||||||
cmdList = hwParser2.getCommandsList<MI_LOAD_REGISTER_IMM>();
|
cmdList = hwParser2.getCommandsList<MI_LOAD_REGISTER_IMM>();
|
||||||
|
|
Loading…
Reference in New Issue